<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>développeur Archives | Clever Cloud</title>
	<atom:link href="https://stagingv6.cleverapps.io/fr/blog/tag/developpeur/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Tue, 22 Oct 2024 10:35:27 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>développeur Archives | Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>FrankenPHP, sessions dans Materia KV, cycle de vie : ce qui va changer dans PHP sur Clever Cloud</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/10/09/nouveautes-php-sur-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Wed, 09 Oct 2024 14:30:02 +0000</pubDate>
				<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[clevercloud]]></category>
		<category><![CDATA[développeur]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=14246</guid>

					<description><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Si nous aurons l'occasion de détailler tout cela dans de prochains articles, et que vous pouvez en avoir un aperçu au sein de <a href="https://developers.clever-cloud.com/changelog/">notre changelog public</a>, il y a un sujet qui nous tient à coeur : nos images.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">La refonte des images</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Chaque fois que vous déployez un add-on ou une application sur notre plateforme, notre orchestrateur met à votre disposition une machine virtuelle basée sur Exherbo Linux, pour laquelle nous avons compilé spécifiquement le noyau et les binaires mis à votre disposition afin de vous garantir un environnement GNU/Linux classique, performant, à jour et sécurisé. La configuration de cet environnement se fait de manière standard, principalement via des variables d'environnement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce système minimal, spécifique à nos besoins et prêt à être configuré, compose ce que nous appelons nos images. Et nous avons radicalement changé notre manière de les concevoir ces derniers mois. En effet, nous disposions jusqu'à lors d'images différentes pour chacun de nos runtimes/langages supportés ou presque. Leur mise à jour et test étaient parfois complexes et très manuels. Nous avons donc simplifié et automatisé tout cela.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis quelques semaines nous disposons d'une image unique, générée régulièrement, qui diffère très peu selon les besoins, et à qui nous faisons passer une batterie de tests drastiques afin de nous assurer que n'importe quelle application se déploiera sans accrocs au fil des évolutions. Sa mise en place s'est faite en douceur au fil des mois, nous arrivons actuellement au bout de ce processus qui s'est fait de manière transparente pour l'ensemble de nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pourquoi vous en parler aujourd'hui ? Parce que <strong>c'est grâce à elle que nous allons pouvoir revoir et améliorer de manière progressive la manière dont vous déployez des applications sur Clever Cloud</strong>. Nous avons déjà posé quelques briques ici et là, comme avec <a href="https://developers.clever-cloud.com/changelog/2024-10-01-python-image-changes/">l'intégration d'uv pour Python</a> par exemple. Mais les choses vont changer de manière bien plus importante dans les prochains mois et courant 2025. L'un de nos plus gros runtimes concernés est PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">PHP 8.4, sessions dans Materia KV</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nos discussions l'année dernière avec la communauté à l'occasion de Forum PHP, nous a permis d'imaginer la manière d'améliorer les choses. Être plus réactifs sur la manière de supporter les nouvelles versions de PHP était l'une des demandes récurrentes. Les changements opérés nous permettrons notamment de tester plus rapidement le passage à PHP 8.4, attendu pour fin novembre. Une fois validé et intégré à Clever Cloud, vous pourrez l'activer via une simple mise à jour de variable d'environnement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La flexibilité des sessions PHP était aussi un sujet revenant régulièrement. <a href="https://developers.clever-cloud.com/doc/applications/php/#configure-the-session-storage">Actuellement</a>, elles peuvent se reposer sur du stockage local persistant ou une base de données Redis liée à votre application. Cet été, nous avons travaillé à adopter <a href="https://stagingv6.cleverapps.io/materia/materia-kv/">notre technologie Materia KV</a> à ce besoin. Nous avons mis en production il y a quelque jours <a href="https://developers.clever-cloud.com/changelog/2024-10-01-materia-kv-ttl-layer-update/">une nouvelle version</a> supportant les clés pouvant expirer et certaines commandes permettant son support de manière transparente pour les utilisateurs.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/php-sessions-kv-example" target="_blank" rel="noreferrer noopener">Déployer une application PHP de démonstration avec des sessions sur Materia KV</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>En pratique, c'est assez simple : récupérez le contenu du dépôt ci-dessus avec <code>git</code>,  <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">les Clever Tools</a>, puis créez une application PHP comme si elle devait héberger ses sessions sur une base de données Redis, le code est identique :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever create -t php --alias phpSessions
clever env set ENABLE_REDIS "true"
clever env set SESSION_TYPE "redis"</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Ensuite, créez un add-on Materia KV, liez-le à l'application qui vient d'être créée :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create kv phpSessionsKV --link phpSessions</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>ll vous suffit alors de déployer l'application. En quelques secondes vous aurez le résultat attendu, en profitant de tout ce qui compose la plateforme Clever Cloud : un maintien en conditions opérationnelles, une gestion des domaines et des certificats TLS, des logs, des métriques, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever deploy & clever open</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Comment sommes-nous parvenus à ce résultat ? Lorsque nous avons imaginé Materia KV, nous avons cherché à créer une base de données clé-valeur différente, complémentaire à notre offre actuelle. Elle est donc distribuée et très résiliente (les données sont écrites au sein de trois de nos data centers sur Paris) mais peut être utilisée de manière quasiment transparente puisqu'elle est compatible avec des écosystèmes existants. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, elle supporte actuellement le protocole qui sert de base à Redis et peut être utilisée <a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands">avec des commandes similaires</a> ou des clients tels que iredis, redis-cli, valkey-cli, des interfaces graphiques, etc. Nous lui ajouterons sous peu Dynamo DB puis GraphQL.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/doc/addons/materia-kv/">En savoir plus sur Materia KV</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Franken PHP, amélioration du déploiement</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Il y a un autre sujet qui nous tenait à cœur: l'intégration de <a href="https://frankenphp.dev/" target="_blank" rel="noreferrer noopener">Franken PHP</a>, développé par nos amis et partenaires des <a href="https://les-tilleuls.coop">Tilleuls</a>. Mixant PHP avec un serveur web Caddy de manière assez élégante et inhabituelle, cette solution permet de penser de manière différente le déploiement des applications PHP, leur configuration et séduit de manière croissante dans cet écosystème qui a largement regagné en vitalité ces dernières années.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous l'avons testé sur Clever Cloud, et expliqué à certains clients <a href="https://github.com/CleverCloud/?q=franken&amp;type=all&amp;language=&amp;sort=" target="_blank" rel="noreferrer noopener">comment le déployer</a>, via Docker ou de manière native. Nous souhaitions surtout aller plus loin en l'intégrant directement à nos images pour simplifier son usage au sein de notre plateforme. Ce sera bientôt chose faite, grâce au travail mené sur la simplification et la refonte de nos images. Nous en profiterons pour améliorer progressivement notre déploiement de PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Actuellement, nous avons un fonctionnement qui prend en compte toute la "legacy" de ce langage, qui remonte pour certains à des versions 5.x ou 7.x, ce qui peut parfois nous freiner dans les développement que nous aimerions mettre en place. Passé la sortie de PHP 8.4, nous allons figer le fonctionnement "historique" de notre image PHP afin de permettre à nos clients de pouvoir profiter d'une stabilité dans le déploiement de leurs applications. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais cela nous permettra surtout de réinventer certaines choses en nous focalisant sur les version de PHP activement supportées, avec une gestion claire du cycle de vie des applications et de nos runtimes. Nous vous détaillerons ce plan un peu plus tard dans l'année.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Rendez-vous au Forum PHP</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Vous l'aurez compris, la communauté PHP est importante pour nous. C'est d'ailleurs pourquoi nous sommes partenaires de l'AFUP encore cette année. Ainsi, nous serons présents au<strong> <a href="https://event.afup.org/" target="_blank" rel="noreferrer noopener">Forum PHP 2024</a> qui se tient ces 10 et 11 octobre à l'hôtel New York de Disneyland Paris</strong>. N'hésitez pas à venir échanger avec nous, nous aurons quelques surprises et exclusivités à montrer sur place. Ce sera aussi pour vous l'occasion de nous faire part de vos retours et demandes. Car c'est aussi comme cela que nous voulons construire le futur de Clever Cloud : ensemble.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="710" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-300x133.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-1024x454.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-768x341.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-1536x682.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/10/2024-10-09-clever-cloud-banniere-blog-php-fr-1368x607.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Si nous aurons l'occasion de détailler tout cela dans de prochains articles, et que vous pouvez en avoir un aperçu au sein de <a href="https://developers.clever-cloud.com/changelog/">notre changelog public</a>, il y a un sujet qui nous tient à coeur : nos images.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">La refonte des images</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Chaque fois que vous déployez un add-on ou une application sur notre plateforme, notre orchestrateur met à votre disposition une machine virtuelle basée sur Exherbo Linux, pour laquelle nous avons compilé spécifiquement le noyau et les binaires mis à votre disposition afin de vous garantir un environnement GNU/Linux classique, performant, à jour et sécurisé. La configuration de cet environnement se fait de manière standard, principalement via des variables d'environnement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce système minimal, spécifique à nos besoins et prêt à être configuré, compose ce que nous appelons nos images. Et nous avons radicalement changé notre manière de les concevoir ces derniers mois. En effet, nous disposions jusqu'à lors d'images différentes pour chacun de nos runtimes/langages supportés ou presque. Leur mise à jour et test étaient parfois complexes et très manuels. Nous avons donc simplifié et automatisé tout cela.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis quelques semaines nous disposons d'une image unique, générée régulièrement, qui diffère très peu selon les besoins, et à qui nous faisons passer une batterie de tests drastiques afin de nous assurer que n'importe quelle application se déploiera sans accrocs au fil des évolutions. Sa mise en place s'est faite en douceur au fil des mois, nous arrivons actuellement au bout de ce processus qui s'est fait de manière transparente pour l'ensemble de nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pourquoi vous en parler aujourd'hui ? Parce que <strong>c'est grâce à elle que nous allons pouvoir revoir et améliorer de manière progressive la manière dont vous déployez des applications sur Clever Cloud</strong>. Nous avons déjà posé quelques briques ici et là, comme avec <a href="https://developers.clever-cloud.com/changelog/2024-10-01-python-image-changes/">l'intégration d'uv pour Python</a> par exemple. Mais les choses vont changer de manière bien plus importante dans les prochains mois et courant 2025. L'un de nos plus gros runtimes concernés est PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">PHP 8.4, sessions dans Materia KV</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nos discussions l'année dernière avec la communauté à l'occasion de Forum PHP, nous a permis d'imaginer la manière d'améliorer les choses. Être plus réactifs sur la manière de supporter les nouvelles versions de PHP était l'une des demandes récurrentes. Les changements opérés nous permettrons notamment de tester plus rapidement le passage à PHP 8.4, attendu pour fin novembre. Une fois validé et intégré à Clever Cloud, vous pourrez l'activer via une simple mise à jour de variable d'environnement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La flexibilité des sessions PHP était aussi un sujet revenant régulièrement. <a href="https://developers.clever-cloud.com/doc/applications/php/#configure-the-session-storage">Actuellement</a>, elles peuvent se reposer sur du stockage local persistant ou une base de données Redis liée à votre application. Cet été, nous avons travaillé à adopter <a href="https://stagingv6.cleverapps.io/materia/materia-kv/">notre technologie Materia KV</a> à ce besoin. Nous avons mis en production il y a quelque jours <a href="https://developers.clever-cloud.com/changelog/2024-10-01-materia-kv-ttl-layer-update/">une nouvelle version</a> supportant les clés pouvant expirer et certaines commandes permettant son support de manière transparente pour les utilisateurs.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/php-sessions-kv-example" target="_blank" rel="noreferrer noopener">Déployer une application PHP de démonstration avec des sessions sur Materia KV</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>En pratique, c'est assez simple : récupérez le contenu du dépôt ci-dessus avec <code>git</code>,  <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">les Clever Tools</a>, puis créez une application PHP comme si elle devait héberger ses sessions sur une base de données Redis, le code est identique :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever create -t php --alias phpSessions
clever env set ENABLE_REDIS "true"
clever env set SESSION_TYPE "redis"</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Ensuite, créez un add-on Materia KV, liez-le à l'application qui vient d'être créée :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create kv phpSessionsKV --link phpSessions</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>ll vous suffit alors de déployer l'application. En quelques secondes vous aurez le résultat attendu, en profitant de tout ce qui compose la plateforme Clever Cloud : un maintien en conditions opérationnelles, une gestion des domaines et des certificats TLS, des logs, des métriques, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever deploy & clever open</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Comment sommes-nous parvenus à ce résultat ? Lorsque nous avons imaginé Materia KV, nous avons cherché à créer une base de données clé-valeur différente, complémentaire à notre offre actuelle. Elle est donc distribuée et très résiliente (les données sont écrites au sein de trois de nos data centers sur Paris) mais peut être utilisée de manière quasiment transparente puisqu'elle est compatible avec des écosystèmes existants. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, elle supporte actuellement le protocole qui sert de base à Redis et peut être utilisée <a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands">avec des commandes similaires</a> ou des clients tels que iredis, redis-cli, valkey-cli, des interfaces graphiques, etc. Nous lui ajouterons sous peu Dynamo DB puis GraphQL.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://developers.clever-cloud.com/doc/addons/materia-kv/">En savoir plus sur Materia KV</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Franken PHP, amélioration du déploiement</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Il y a un autre sujet qui nous tenait à cœur: l'intégration de <a href="https://frankenphp.dev/" target="_blank" rel="noreferrer noopener">Franken PHP</a>, développé par nos amis et partenaires des <a href="https://les-tilleuls.coop">Tilleuls</a>. Mixant PHP avec un serveur web Caddy de manière assez élégante et inhabituelle, cette solution permet de penser de manière différente le déploiement des applications PHP, leur configuration et séduit de manière croissante dans cet écosystème qui a largement regagné en vitalité ces dernières années.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous l'avons testé sur Clever Cloud, et expliqué à certains clients <a href="https://github.com/CleverCloud/?q=franken&amp;type=all&amp;language=&amp;sort=" target="_blank" rel="noreferrer noopener">comment le déployer</a>, via Docker ou de manière native. Nous souhaitions surtout aller plus loin en l'intégrant directement à nos images pour simplifier son usage au sein de notre plateforme. Ce sera bientôt chose faite, grâce au travail mené sur la simplification et la refonte de nos images. Nous en profiterons pour améliorer progressivement notre déploiement de PHP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Actuellement, nous avons un fonctionnement qui prend en compte toute la "legacy" de ce langage, qui remonte pour certains à des versions 5.x ou 7.x, ce qui peut parfois nous freiner dans les développement que nous aimerions mettre en place. Passé la sortie de PHP 8.4, nous allons figer le fonctionnement "historique" de notre image PHP afin de permettre à nos clients de pouvoir profiter d'une stabilité dans le déploiement de leurs applications. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais cela nous permettra surtout de réinventer certaines choses en nous focalisant sur les version de PHP activement supportées, avec une gestion claire du cycle de vie des applications et de nos runtimes. Nous vous détaillerons ce plan un peu plus tard dans l'année.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Rendez-vous au Forum PHP</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Vous l'aurez compris, la communauté PHP est importante pour nous. C'est d'ailleurs pourquoi nous sommes partenaires de l'AFUP encore cette année. Ainsi, nous serons présents au<strong> <a href="https://event.afup.org/" target="_blank" rel="noreferrer noopener">Forum PHP 2024</a> qui se tient ces 10 et 11 octobre à l'hôtel New York de Disneyland Paris</strong>. N'hésitez pas à venir échanger avec nous, nous aurons quelques surprises et exclusivités à montrer sur place. Ce sera aussi pour vous l'occasion de nous faire part de vos retours et demandes. Car c'est aussi comme cela que nous voulons construire le futur de Clever Cloud : ensemble.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Materia KV : notre base de données clé-valeur serverless simple d’usage est accessible à tous</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2024/06/11/materia-kv-notre-base-de-donnees-cle-valeur-serverless/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Tue, 11 Jun 2024 11:38:03 +0000</pubDate>
				<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[développeur]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[fonctionnalité]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=12495</guid>

					<description><![CDATA[<p><img width="1600" height="800" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Materia KV : notre base de données clé-valeur serverless simple d’usage est accessible à tous" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-300x150.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1024x512.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-768x384.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1536x768.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1368x684.png 1368w" sizes="(max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Ils “poussent” leur code, nous le déployons, tout en assurant la mise à jour et la mise en sécurité de l’environnement dans lequel ils fonctionnent avec un objectif : le maintien en conditions opérationnelles. Quelle que soit la situation, leur service répond.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Penser des services simples, robustes et innovants</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous le faisons en garantissant une empreinte minimale au sein de nos serveurs, en proposant une mise à l’échelle horizontale/verticale à la demande ou automatique. Nous pouvons ainsi multiplier les instances ou les faire grossir/réduire selon la charge de vos sites. Cette volonté de simplicité va au-delà des applications, puisque nous disposons également d’une large offre de base de données (BDD) “as-a-service” vous permettant<a href="https://console.clever-cloud.com"> de déployer en quelques secondes</a> des environnements <a href="https://stagingv6.cleverapps.io/fr/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/fr/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/fr/product/postgresql/">PostgreSQL</a> ou <a href="https://stagingv6.cleverapps.io/fr/product/redis/">Redis</a>, avec les mêmes outils et garanties.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces dernières années, nous faisions néanmoins face à des demandes récurrentes : outre la volonté de certains de nos clients d’avoir accès à d’autres solutions, ils nous demandaient régulièrement de disposer des avantages de <a href="https://stagingv6.cleverapps.io/fr/infrastructure/">notre infrastructure répartie sur trois datacenters</a> afin d’obtenir des services à haute disponibilité. Mais dans le domaine des BDD, cela n'est pas toujours simple à mettre en place tout en assurant un bon niveau d’automatisation et la cohérence des données. Nous avons donc décidé de développer notre propre gamme de produits pour y parvenir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le projet “<a href="https://stagingv6.cleverapps.io/fr/materia-serverless/">Materia</a>” était né, reposant sur le moteur transactionnel open source <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a>, utilisé, par exemple, par <a href="https://www.apple.com/" target="_blank" rel="noreferrer noopener">Apple</a> pour ses services iCloud ainsi que par <a href="https://www.snowflake.com/en/" target="_blank" rel="noreferrer noopener">Snowflake</a>. Nous y contribuons et l’adaptons à nos besoins, tout en profitant de son aspect distribué et résilient, notamment du fait de son importante capacité de <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a>. Il nous permet d’imaginer un univers entier de solutions serverless, très simples d’usage, facturées à l'usage, avec des couches de comptabilité que nous développons pour permettre à nos clients de lui “parler” en utilisant des protocoles existants  tels que DynamoDB, GraphQL ou PostgreSQL par exemple.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV accessible à tous</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous avons commencé par le protocole Redis, afin de mettre en place Materia KV, actuellement en phase de test Alpha. Il s’agit d’une base de données clé-valeur répliquée de manière synchrone sur nos trois datacenters parisiens. Lorsque nos serveurs vous répondent, c’est que votre donnée à été écrite trois fois. Surtout, elle est très simple d’usage : rendez-vous dans notre <a href="https://console.clever-cloud.com">Console</a>, créez un add-on Materia KV, vous obtiendrez instantanément un jeton (token) utilisable avec n’importe quel client Redis ou même en envoyant des commandes à nos serveurs directement via le protocole TCP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, vous pouvez dès maintenant bénéficier d’une solution pour stocker vos données sous la forme de clé-valeur, en haute disponibilité, sans avoir la moindre instance à configurer, sans tarification minimale mensuelle : vous payerez simplement ce que vous consommez. Surtout, nous assurons ce service en compatibilité avec des protocoles existants. Aujourd’hui Redis, demain DynamoDB et GraphQL. La liste des commandes supportées est disponible<a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands"> ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lancée à<a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/04/16/materiadb-kv-functions/"> Devoxx France mi-avril</a>, Materia KV a fait forte impression sur place et lors de nos démonstrations depuis. Nous avons donc décidé de la rendre accessible à tous afin de permettre à l’ensemble de nos clients et des curieux de nous faire part de leurs retours sur son fonctionnement et de leurs besoins. Si la facturation se fera à l’usage à partir de la phase de Beta, pour le moment, c’est gratuit ! N’hésitez pas à tester et<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> à nous donner votre avis</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://console.clever-cloud.com/users/me/addons/new" target="_blank" rel="noreferrer noopener">Créer un add-on Materia KV</a></div>
<!-- /wp:button -->

<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://developers.clever-cloud.com/doc/addons/materia-kv/" target="_blank" rel="noreferrer noopener">La documentation de Materia KV</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Déjà intégré à nos outils et interfaces</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Materia KV est bien entendu accessible via un addon-provider au sein<a href="https://developers.clever-cloud.com/api/"> de notre API</a>, <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest/docs/" target="_blank" rel="noreferrer noopener">Terraform</a> (ou OpenTofu par exemple), mais aussi de notre CLI, les<a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener"> Clever Tools</a>. Pour créer un jeton d’accès il suffit de lancer la commande suivante :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create kv NAME</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cet add-on pourra être lié directement à une application Clever Cloud où ses variables d’environnement seront injectées. Mais vous pouvez également l’utiliser depuis n’importe quel service tiers, un client en ligne de commande (CLI) ou avec interface graphique (GUI).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Alors que le développement de Materia KV et de ses différentes interfaces va se faire sur la durée, nous avons commencé à réfléchir à son intégration au sein des Clever Tools. Ainsi, une branche de test, disponible<a href="https://github.com/CleverCloud/clever-tools/pull/725" target="_blank" rel="noreferrer noopener"> sous la forme de binaires</a> et<a href="https://github.com/CleverCloud/clever-tools/blob/davlgd-embedded-kv-client/docs/kv.md" target="_blank" rel="noreferrer noopener"> documentée</a>, propose une commande <code>clever kv</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec elle, vous pouvez directement envoyer des requêtes à Materia KV en ayant la variable d’environnement configurée localement, ou en indiquant un ID dans vos commandes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash"># With Bash and Zsh
source <(clever addon env ADDON_ID --export)
# With Fish
clever addon env ADDON_ID --export | source

clever kv PING # PONG
clever kv set yourKey theValue
clever kv get yourKey</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Comme cette version de démonstration ne gère pas l’ensemble des commandes gérées par Materia KV, vous pouvez lui envoyer une commande “brute”, elle vous renverra alors la réponse :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv redis_raw 'hset key field1 value1 field2 value2' # 2
clever kv redis_raw 'hget key field2'                      # value2
clever kv redis_raw 'hgetall key'                          # the full hash</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour démontrer les possibilités d’une telle intégration, vous avez également la possibilité de faire directement des requêtes sur un objet JSON stocké dans une clé :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv set simpleJson '{"key": "value"}' # the set data
clever kv getJson simpleJson key            # value
clever kv set jsonKey '[{"key": "value"}, {"bigKey": {"subKey1": "subValue1","subKey2": "subValue2"}}]'
clever kv getjson jsonKey bigKey.subKey2    # subValue1
clever kv getjson jsonKey ''                # the full JSON</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour montrer à quel point de telles intégrations sont simples, nous avons mis à votre disposition un client Materia KV écrit<a href="https://github.com/CleverCloud/mkv-go-cli" target="_blank" rel="noreferrer noopener"> en Go</a> en utilisant Go-Redis. Si vous souhaitez plutôt comprendre comment vous pouvez envoyer des commandes et recevoir des réponses de Materia KV directement en TCP, vous trouverez des exemples,<a href="https://github.com/CleverCloud/mkv-raw-tcp-ruby" target="_blank" rel="noreferrer noopener"> en V</a> ou<a href="https://gist.github.com/davlgd/6762660218a82646ba648242aa1e4548"> en Ruby</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>N’hésitez pas à proposer les vôtres et à nous le faire savoir ;)</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une démonstration sur Twitch de Materia KV, un espace communautaire</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":12684,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2024/06/2024-06-05--clever-cloud--twitch--thumbnail--materia-kv--fr-1024x576.png" alt="Une démonstration en direct sur Twitch aura lieu le mardi 18 juin 2024 à 13h15 avec nos hosts Horacio González (LostInBrittany) et Yannick Guern (Akanoa)." class="wp-image-12684"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Envie d’en savoir plus ? Horacio González, notre DevRel en chef, fera une démonstration<a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener"> sur Twitch</a> mardi 18 juin à 13h15. Pierre Zemb, créateur de Materia chez Clever Cloud, échangera également avec notre CTO Steven Le Roux dans une vidéo publiée fin juin sur la chaîne <a href="https://www.youtube.com/c/Clevercloud-platform" target="_blank" rel="noreferrer noopener">YouTube de Clever Cloud</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour nous faire part de votre avis, de vos questions et de vos besoins, rendez-vous sur la section dédiée à Materia de<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> notre espace communautaire GitHub</a>.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1600" height="800" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Materia KV : notre base de données clé-valeur serverless simple d’usage est accessible à tous" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr.png 1600w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-300x150.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1024x512.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-768x384.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1536x768.png 1536w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2024/06/2024-06-04--clever-cloud--blog--materia-alpha-publique--fr-1368x684.png 1368w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /></p><!-- wp:paragraph -->
<p>Ils “poussent” leur code, nous le déployons, tout en assurant la mise à jour et la mise en sécurité de l’environnement dans lequel ils fonctionnent avec un objectif : le maintien en conditions opérationnelles. Quelle que soit la situation, leur service répond.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Penser des services simples, robustes et innovants</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous le faisons en garantissant une empreinte minimale au sein de nos serveurs, en proposant une mise à l’échelle horizontale/verticale à la demande ou automatique. Nous pouvons ainsi multiplier les instances ou les faire grossir/réduire selon la charge de vos sites. Cette volonté de simplicité va au-delà des applications, puisque nous disposons également d’une large offre de base de données (BDD) “as-a-service” vous permettant<a href="https://console.clever-cloud.com"> de déployer en quelques secondes</a> des environnements <a href="https://stagingv6.cleverapps.io/fr/product/mongodb/">MongoDB</a>, <a href="https://stagingv6.cleverapps.io/fr/product/mysql/">MySQL</a>, <a href="https://stagingv6.cleverapps.io/fr/product/postgresql/">PostgreSQL</a> ou <a href="https://stagingv6.cleverapps.io/fr/product/redis/">Redis</a>, avec les mêmes outils et garanties.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ces dernières années, nous faisions néanmoins face à des demandes récurrentes : outre la volonté de certains de nos clients d’avoir accès à d’autres solutions, ils nous demandaient régulièrement de disposer des avantages de <a href="https://stagingv6.cleverapps.io/fr/infrastructure/">notre infrastructure répartie sur trois datacenters</a> afin d’obtenir des services à haute disponibilité. Mais dans le domaine des BDD, cela n'est pas toujours simple à mettre en place tout en assurant un bon niveau d’automatisation et la cohérence des données. Nous avons donc décidé de développer notre propre gamme de produits pour y parvenir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le projet “<a href="https://stagingv6.cleverapps.io/fr/materia-serverless/">Materia</a>” était né, reposant sur le moteur transactionnel open source <a href="https://www.foundationdb.org/" target="_blank" rel="noreferrer noopener">FoundationDB</a>, utilisé, par exemple, par <a href="https://www.apple.com/" target="_blank" rel="noreferrer noopener">Apple</a> pour ses services iCloud ainsi que par <a href="https://www.snowflake.com/en/" target="_blank" rel="noreferrer noopener">Snowflake</a>. Nous y contribuons et l’adaptons à nos besoins, tout en profitant de son aspect distribué et résilient, notamment du fait de son importante capacité de <a href="https://apple.github.io/foundationdb/testing.html" target="_blank" rel="noreferrer noopener">simulation</a>. Il nous permet d’imaginer un univers entier de solutions serverless, très simples d’usage, facturées à l'usage, avec des couches de comptabilité que nous développons pour permettre à nos clients de lui “parler” en utilisant des protocoles existants  tels que DynamoDB, GraphQL ou PostgreSQL par exemple.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Materia KV accessible à tous</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous avons commencé par le protocole Redis, afin de mettre en place Materia KV, actuellement en phase de test Alpha. Il s’agit d’une base de données clé-valeur répliquée de manière synchrone sur nos trois datacenters parisiens. Lorsque nos serveurs vous répondent, c’est que votre donnée à été écrite trois fois. Surtout, elle est très simple d’usage : rendez-vous dans notre <a href="https://console.clever-cloud.com">Console</a>, créez un add-on Materia KV, vous obtiendrez instantanément un jeton (token) utilisable avec n’importe quel client Redis ou même en envoyant des commandes à nos serveurs directement via le protocole TCP.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, vous pouvez dès maintenant bénéficier d’une solution pour stocker vos données sous la forme de clé-valeur, en haute disponibilité, sans avoir la moindre instance à configurer, sans tarification minimale mensuelle : vous payerez simplement ce que vous consommez. Surtout, nous assurons ce service en compatibilité avec des protocoles existants. Aujourd’hui Redis, demain DynamoDB et GraphQL. La liste des commandes supportées est disponible<a href="https://developers.clever-cloud.com/doc/addons/materia-kv/#supported-types-and-commands"> ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lancée à<a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2024/04/16/materiadb-kv-functions/"> Devoxx France mi-avril</a>, Materia KV a fait forte impression sur place et lors de nos démonstrations depuis. Nous avons donc décidé de la rendre accessible à tous afin de permettre à l’ensemble de nos clients et des curieux de nous faire part de leurs retours sur son fonctionnement et de leurs besoins. Si la facturation se fera à l’usage à partir de la phase de Beta, pour le moment, c’est gratuit ! N’hésitez pas à tester et<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> à nous donner votre avis</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://console.clever-cloud.com/users/me/addons/new" target="_blank" rel="noreferrer noopener">Créer un add-on Materia KV</a></div>
<!-- /wp:button -->

<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://developers.clever-cloud.com/doc/addons/materia-kv/" target="_blank" rel="noreferrer noopener">La documentation de Materia KV</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Déjà intégré à nos outils et interfaces</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Materia KV est bien entendu accessible via un addon-provider au sein<a href="https://developers.clever-cloud.com/api/"> de notre API</a>, <a href="https://registry.terraform.io/providers/CleverCloud/clevercloud/latest/docs/" target="_blank" rel="noreferrer noopener">Terraform</a> (ou OpenTofu par exemple), mais aussi de notre CLI, les<a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener"> Clever Tools</a>. Pour créer un jeton d’accès il suffit de lancer la commande suivante :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever addon create kv NAME</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cet add-on pourra être lié directement à une application Clever Cloud où ses variables d’environnement seront injectées. Mais vous pouvez également l’utiliser depuis n’importe quel service tiers, un client en ligne de commande (CLI) ou avec interface graphique (GUI).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Alors que le développement de Materia KV et de ses différentes interfaces va se faire sur la durée, nous avons commencé à réfléchir à son intégration au sein des Clever Tools. Ainsi, une branche de test, disponible<a href="https://github.com/CleverCloud/clever-tools/pull/725" target="_blank" rel="noreferrer noopener"> sous la forme de binaires</a> et<a href="https://github.com/CleverCloud/clever-tools/blob/davlgd-embedded-kv-client/docs/kv.md" target="_blank" rel="noreferrer noopener"> documentée</a>, propose une commande <code>clever kv</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec elle, vous pouvez directement envoyer des requêtes à Materia KV en ayant la variable d’environnement configurée localement, ou en indiquant un ID dans vos commandes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash"># With Bash and Zsh
source <(clever addon env ADDON_ID --export)
# With Fish
clever addon env ADDON_ID --export | source

clever kv PING # PONG
clever kv set yourKey theValue
clever kv get yourKey</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Comme cette version de démonstration ne gère pas l’ensemble des commandes gérées par Materia KV, vous pouvez lui envoyer une commande “brute”, elle vous renverra alors la réponse :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv redis_raw 'hset key field1 value1 field2 value2' # 2
clever kv redis_raw 'hget key field2'                      # value2
clever kv redis_raw 'hgetall key'                          # the full hash</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour démontrer les possibilités d’une telle intégration, vous avez également la possibilité de faire directement des requêtes sur un objet JSON stocké dans une clé :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever kv set simpleJson '{"key": "value"}' # the set data
clever kv getJson simpleJson key            # value
clever kv set jsonKey '[{"key": "value"}, {"bigKey": {"subKey1": "subValue1","subKey2": "subValue2"}}]'
clever kv getjson jsonKey bigKey.subKey2    # subValue1
clever kv getjson jsonKey ''                # the full JSON</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour montrer à quel point de telles intégrations sont simples, nous avons mis à votre disposition un client Materia KV écrit<a href="https://github.com/CleverCloud/mkv-go-cli" target="_blank" rel="noreferrer noopener"> en Go</a> en utilisant Go-Redis. Si vous souhaitez plutôt comprendre comment vous pouvez envoyer des commandes et recevoir des réponses de Materia KV directement en TCP, vous trouverez des exemples,<a href="https://github.com/CleverCloud/mkv-raw-tcp-ruby" target="_blank" rel="noreferrer noopener"> en V</a> ou<a href="https://gist.github.com/davlgd/6762660218a82646ba648242aa1e4548"> en Ruby</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>N’hésitez pas à proposer les vôtres et à nous le faire savoir ;)</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une démonstration sur Twitch de Materia KV, un espace communautaire</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":12684,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2024/06/2024-06-05--clever-cloud--twitch--thumbnail--materia-kv--fr-1024x576.png" alt="Une démonstration en direct sur Twitch aura lieu le mardi 18 juin 2024 à 13h15 avec nos hosts Horacio González (LostInBrittany) et Yannick Guern (Akanoa)." class="wp-image-12684"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Envie d’en savoir plus ? Horacio González, notre DevRel en chef, fera une démonstration<a href="https://www.twitch.tv/clevercloud" target="_blank" rel="noreferrer noopener"> sur Twitch</a> mardi 18 juin à 13h15. Pierre Zemb, créateur de Materia chez Clever Cloud, échangera également avec notre CTO Steven Le Roux dans une vidéo publiée fin juin sur la chaîne <a href="https://www.youtube.com/c/Clevercloud-platform" target="_blank" rel="noreferrer noopener">YouTube de Clever Cloud</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Et pour nous faire part de votre avis, de vos questions et de vos besoins, rendez-vous sur la section dédiée à Materia de<a href="https://github.com/CleverCloud/Community/discussions/categories/materia" target="_blank" rel="noreferrer noopener"> notre espace communautaire GitHub</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bun : comment héberger vos applications sur Clever Cloud</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2023/09/19/bun-comment-heberger-vos-applications-sur-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Tue, 19 Sep 2023 09:34:47 +0000</pubDate>
				<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[clevercloud]]></category>
		<category><![CDATA[développeur]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=8128</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/09/bannerbunonclevercloud.svg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Bun hébergé sur Clever Cloud" decoding="async" loading="lazy" /></p><!-- wp:paragraph -->
<p><strong>Cela fait plus d’un an maintenant que Jarred Sumner et son équipe travaillent à un nouveau runtime JavaScript <strong>open source</strong> : <a href="https://github.com/oven-sh/bun" target="_blank" rel="noreferrer noopener">Bun</a>. Il est <strong>présenté comme plus performant et plus complet que les solutions actuelles telles que Node.js ou Deno. </strong>Sa version 1.0.3 <a href="https://github.com/oven-sh/bun/releases" target="_blank" rel="noreferrer noopener">vient de sortir</a>, vous pouvez d’ores et déjà l’utiliser pour vos projets hébergés par Clever Cloud.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Car si nous aimons tout automatiser et simplifier pour nos clients, nous le faisons en leur laissant la plus grande liberté possible. Ainsi, héberger <a href="https://stagingv6.cleverapps.io/fr/product/applications-node-js/">une application Node.js</a> avec le framework ou le gestionnaire de paquets de votre choix se fait déjà sans contraintes particulières, et déployer un site ne prend que quelques minutes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous supportons déjà <a href="https://stagingv6.cleverapps.io/blog/engineering/2020/05/19/deploy-deno/">Deno</a>, <a href="https://stagingv6.cleverapps.io/doc/deploy/application/javascript/by-framework/meteor/">Meteor.js</a>, <a href="https://stagingv6.cleverapps.io/doc/deploy/application/javascript/by-framework/nodejs/#supported-package-managers">yarn</a>. Si pour Bun, la décision n’a pas encore été prise de l’intégrer nativement à nos images, dans l’attente des premiers retours de nos clients, cela se fait très simplement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Hello, Bun sur Clever Cloud !</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Envie d’essayer ? Il vous suffit d’avoir un compte Clever Cloud ou d’en créer un depuis une adresse e-mail ou un compte GitHub. 20 euros de crédits vous seront offerts lors de votre inscription.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://api.clever-cloud.com/v2/session/signup">Créer un compte Clever Cloud</a> (et obtenir 20 euros de crédits)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Pour notre premier exemple, nous partirons du principe que vous disposez d’une machine avec <a href="https://git-scm.com/book/fr/v2/D%C3%A9marrage-rapide-Installation-de-Git" target="_blank" rel="noreferrer noopener">git</a> et <a href="https://nodejs.dev/fr/learn/how-to-install-nodejs/" target="_blank" rel="noreferrer noopener">Node.js</a> dans une version récente. Si vous n’avez pas encore installé notre interface open source en ligne de commande (CLI) <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>, tapez (avec les droits administrateur de votre système ou <code>sudo</code> si nécessaire) :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">npm i -g clever-tools
clever login</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois connecté, vous pourrez vérifier que tout s’est bien passé avec la commande suivante :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever profile</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Installons Bun et créons une première application :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">npm install -g bun
mkdir clevbun &amp;&amp; cd clevbun
bun init -y &amp;&amp; git init</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cela va vous créer un dépôt git local et toute une série de fichiers, dont <code>package.json</code> qui contient la configuration de votre projet. Mais également <code>index.ts</code> et <code>ts.config.json</code> qui sont propres au langage TypeScript utilisé par défaut par Bun. N'ayez crainte, celui-ci gère tout aussi bien de simples fichiers JavaScript, du <a href="https://bun.sh/docs/runtime/jsx" target="_blank" rel="noreferrer noopener">JSX/TSX</a>, des modules ECMAScript et CommonJS qu'il importe <a href="https://bun.sh/docs/runtime/modules" target="_blank" rel="noreferrer noopener">de manière unifiée</a>, <a href="https://bun.sh/docs/api/ffi" target="_blank" rel="noreferrer noopener">des langages de bas niveau</a> ou <a href="https://bun.sh/docs/api/sqlite" target="_blank" rel="noreferrer noopener">SQLite</a>. C'est justement l'un de ses points forts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vérifions que tout a bien fonctionné :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">&gt; bun index.ts<br>Hello via Bun!</code></pre>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une application avec le serveur HTTP de Bun</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre but étant d’héberger une application web, nous utiliserons un serveur HTTP. Cela tombe bien, Bun dispose du sien, en plus d’assurer une compatibilité (partielle) avec les fonctionnalités et API de Node.js. Développé en utilisant le langage <a href="https://fr.wikipedia.org/wiki/Zig_(langage)" target="_blank" rel="noreferrer noopener">Zig</a> et le moteur <a href="https://fr.wikipedia.org/wiki/JavaScriptCore" target="_blank" rel="noreferrer noopener">JavaScriptCore</a> plutôt que v8, avec une recherche poussée de l'optimisation, ce runtime se dit plus performant pour ce type d’usage.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Modifiez le contenu du fichier <code>index.ts</code> comme suit :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-javascript">Bun.serve({
  port: 8080,
  hostname: '0.0.0.0',
  fetch(req) {
    const url = new URL(req.url);
    if (url.pathname === "/") return new Response("Home page!");
    if (url.pathname === "/blog") return new Response("Blog!");
    return new Response("404!");
  },
  error(error) {
    return new Response(`&lt;pre&gt;${error}\n${error.stack}&lt;/pre&gt;`, {
      headers: {
        "Content-Type": "text/html",
      },
    });
  },
});</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cela créé un serveur HTTP qui envoie une réponse différente selon la route (<code>url.pathname</code>) et une erreur 404 si aucune ne correspond. En cas de souci, une page spécifique sera affichée. Notez que le port 8080 est ici inscrit dans le code mais il pourrait être précisé avec une variable d’environnement : <code>$PORT</code>, <code>$BUN_PORT</code> ou <code>$NODE_PORT</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever deploy !</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Passons aux choses sérieuses avec un déploiement sur Clever Cloud en commençant par préparer l’application :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever create -t node clevbun
clever env set CC_PRE_BUILD_HOOK "npm i -g bun"
clever env set CC_NODE_BUILD_TOOL "custom"
clever env set CC_CUSTOM_BUILD_TOOL "bun install"
clever env set CC_RUN_COMMAND "bun run index.ts"</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>La première commande permet de créer l’application au sein de votre compte Clever Cloud. Nous définissons ensuite plusieurs variables d’environnement permettant d’installer Bun au sein de l’image, puis les instructions pour la configuration des dépendances et le lancement du projet. Comme pour Node.js, vous pouvez indiquer qu’une application est prête pour la production en attribuant la valeur <code>production</code> à la variable d’environnement <code>NODE_ENV</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notez que vous pouvez utiliser cette configuration pour utiliser Bun sur une application Node.js déjà hébergée par Clever Cloud en adaptant <code>CC_RUN_COMMAND</code> à votre projet. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notre application étant créée, elle peut être déployée. C’est simple comme un <code>git push</code> !</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">git add . &amp;&amp; git commit -m "First commit"
clever deploy &amp;&amp; clever open</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Elle est alors disponible depuis nos infrastructures puis ouverte dans votre navigateur. Vous pouvez ajouter <code>/blog</code> ou <code>/random</code> à la fin de l'URL pour vérifier que l'attribution des routes fonctionne bien.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">De nombreuses possibilités</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Vous n’avez pas à vous préoccuper de la configuration de l’accès HTTPS, de la collecte des logs ou des métriques, tout est déjà mis en place et accessible via Clever Tools ou <a href="https://console.clever-cloud.com/">la Console</a>. Vous pourrez d'ailleurs passer par cette dernière afin d'activer <a href="https://stagingv6.cleverapps.io/fr/blog/features/2021/10/28/grafana-pour-des-metriques-d-applications/">Grafana</a> dans les paramètres de votre compte. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour accéder aux informations de votre application dans la Console utilisez :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever console</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>D’autres fonctionnalités de Clever Tools vous permettent de lui attribuer un domaine, voir ses paramètres, son activité, modifier le nombre et le type d’instance utilisée, l’arrêter ou la redémarrer. N’hésitez pas à regarder l’aide de notre CLI avec <code>--help</code> ou <a href="https://github.com/CleverCloud/clever-tools/tree/master#how-to-use" target="_blank" rel="noreferrer noopener">sa documentation</a> pour en savoir plus :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever domain
clever domain add domain.tld

clever status
clever activity

clever scale --min-instances 1 --max-instances 4 --min-flavor pico --max-flavor M
clever scale --instances 1 --flavor pico

clever restart
clever stop</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Bien entendu, vous pouvez également aller plus loin avec Bun et déployer des applications utilisant <a href="https://twitter.com/davlgd/status/1700478826755530822" target="_blank" rel="noreferrer noopener">le framework web Elysia</a> ou encore des générateurs de sites statiques <a href="https://twitter.com/davlgd/status/1700599956359262313" target="_blank" rel="noreferrer noopener">tels qu’Astro</a>. Nous vous détaillerons cela dans de prochains billets ! D'ici là, n'hésitez pas à nous faire savoir ce que vous attendez de nos images proposant des runtimes JavaScript.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/09/bannerbunonclevercloud.svg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Bun hébergé sur Clever Cloud" decoding="async" loading="lazy" /></p><!-- wp:paragraph -->
<p><strong>Cela fait plus d’un an maintenant que Jarred Sumner et son équipe travaillent à un nouveau runtime JavaScript <strong>open source</strong> : <a href="https://github.com/oven-sh/bun" target="_blank" rel="noreferrer noopener">Bun</a>. Il est <strong>présenté comme plus performant et plus complet que les solutions actuelles telles que Node.js ou Deno. </strong>Sa version 1.0.3 <a href="https://github.com/oven-sh/bun/releases" target="_blank" rel="noreferrer noopener">vient de sortir</a>, vous pouvez d’ores et déjà l’utiliser pour vos projets hébergés par Clever Cloud.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Car si nous aimons tout automatiser et simplifier pour nos clients, nous le faisons en leur laissant la plus grande liberté possible. Ainsi, héberger <a href="https://stagingv6.cleverapps.io/fr/product/applications-node-js/">une application Node.js</a> avec le framework ou le gestionnaire de paquets de votre choix se fait déjà sans contraintes particulières, et déployer un site ne prend que quelques minutes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous supportons déjà <a href="https://stagingv6.cleverapps.io/blog/engineering/2020/05/19/deploy-deno/">Deno</a>, <a href="https://stagingv6.cleverapps.io/doc/deploy/application/javascript/by-framework/meteor/">Meteor.js</a>, <a href="https://stagingv6.cleverapps.io/doc/deploy/application/javascript/by-framework/nodejs/#supported-package-managers">yarn</a>. Si pour Bun, la décision n’a pas encore été prise de l’intégrer nativement à nos images, dans l’attente des premiers retours de nos clients, cela se fait très simplement.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Hello, Bun sur Clever Cloud !</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Envie d’essayer ? Il vous suffit d’avoir un compte Clever Cloud ou d’en créer un depuis une adresse e-mail ou un compte GitHub. 20 euros de crédits vous seront offerts lors de votre inscription.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://api.clever-cloud.com/v2/session/signup">Créer un compte Clever Cloud</a> (et obtenir 20 euros de crédits)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Pour notre premier exemple, nous partirons du principe que vous disposez d’une machine avec <a href="https://git-scm.com/book/fr/v2/D%C3%A9marrage-rapide-Installation-de-Git" target="_blank" rel="noreferrer noopener">git</a> et <a href="https://nodejs.dev/fr/learn/how-to-install-nodejs/" target="_blank" rel="noreferrer noopener">Node.js</a> dans une version récente. Si vous n’avez pas encore installé notre interface open source en ligne de commande (CLI) <a href="https://github.com/CleverCloud/clever-tools" target="_blank" rel="noreferrer noopener">Clever Tools</a>, tapez (avec les droits administrateur de votre système ou <code>sudo</code> si nécessaire) :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">npm i -g clever-tools
clever login</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Une fois connecté, vous pourrez vérifier que tout s’est bien passé avec la commande suivante :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever profile</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Installons Bun et créons une première application :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">npm install -g bun
mkdir clevbun &amp;&amp; cd clevbun
bun init -y &amp;&amp; git init</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cela va vous créer un dépôt git local et toute une série de fichiers, dont <code>package.json</code> qui contient la configuration de votre projet. Mais également <code>index.ts</code> et <code>ts.config.json</code> qui sont propres au langage TypeScript utilisé par défaut par Bun. N'ayez crainte, celui-ci gère tout aussi bien de simples fichiers JavaScript, du <a href="https://bun.sh/docs/runtime/jsx" target="_blank" rel="noreferrer noopener">JSX/TSX</a>, des modules ECMAScript et CommonJS qu'il importe <a href="https://bun.sh/docs/runtime/modules" target="_blank" rel="noreferrer noopener">de manière unifiée</a>, <a href="https://bun.sh/docs/api/ffi" target="_blank" rel="noreferrer noopener">des langages de bas niveau</a> ou <a href="https://bun.sh/docs/api/sqlite" target="_blank" rel="noreferrer noopener">SQLite</a>. C'est justement l'un de ses points forts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vérifions que tout a bien fonctionné :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">&gt; bun index.ts<br>Hello via Bun!</code></pre>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une application avec le serveur HTTP de Bun</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre but étant d’héberger une application web, nous utiliserons un serveur HTTP. Cela tombe bien, Bun dispose du sien, en plus d’assurer une compatibilité (partielle) avec les fonctionnalités et API de Node.js. Développé en utilisant le langage <a href="https://fr.wikipedia.org/wiki/Zig_(langage)" target="_blank" rel="noreferrer noopener">Zig</a> et le moteur <a href="https://fr.wikipedia.org/wiki/JavaScriptCore" target="_blank" rel="noreferrer noopener">JavaScriptCore</a> plutôt que v8, avec une recherche poussée de l'optimisation, ce runtime se dit plus performant pour ce type d’usage.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Modifiez le contenu du fichier <code>index.ts</code> comme suit :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-javascript">Bun.serve({
  port: 8080,
  hostname: '0.0.0.0',
  fetch(req) {
    const url = new URL(req.url);
    if (url.pathname === "/") return new Response("Home page!");
    if (url.pathname === "/blog") return new Response("Blog!");
    return new Response("404!");
  },
  error(error) {
    return new Response(`&lt;pre&gt;${error}\n${error.stack}&lt;/pre&gt;`, {
      headers: {
        "Content-Type": "text/html",
      },
    });
  },
});</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Cela créé un serveur HTTP qui envoie une réponse différente selon la route (<code>url.pathname</code>) et une erreur 404 si aucune ne correspond. En cas de souci, une page spécifique sera affichée. Notez que le port 8080 est ici inscrit dans le code mais il pourrait être précisé avec une variable d’environnement : <code>$PORT</code>, <code>$BUN_PORT</code> ou <code>$NODE_PORT</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever deploy !</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Passons aux choses sérieuses avec un déploiement sur Clever Cloud en commençant par préparer l’application :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever create -t node clevbun
clever env set CC_PRE_BUILD_HOOK "npm i -g bun"
clever env set CC_NODE_BUILD_TOOL "custom"
clever env set CC_CUSTOM_BUILD_TOOL "bun install"
clever env set CC_RUN_COMMAND "bun run index.ts"</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>La première commande permet de créer l’application au sein de votre compte Clever Cloud. Nous définissons ensuite plusieurs variables d’environnement permettant d’installer Bun au sein de l’image, puis les instructions pour la configuration des dépendances et le lancement du projet. Comme pour Node.js, vous pouvez indiquer qu’une application est prête pour la production en attribuant la valeur <code>production</code> à la variable d’environnement <code>NODE_ENV</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notez que vous pouvez utiliser cette configuration pour utiliser Bun sur une application Node.js déjà hébergée par Clever Cloud en adaptant <code>CC_RUN_COMMAND</code> à votre projet. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Notre application étant créée, elle peut être déployée. C’est simple comme un <code>git push</code> !</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">git add . &amp;&amp; git commit -m "First commit"
clever deploy &amp;&amp; clever open</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Elle est alors disponible depuis nos infrastructures puis ouverte dans votre navigateur. Vous pouvez ajouter <code>/blog</code> ou <code>/random</code> à la fin de l'URL pour vérifier que l'attribution des routes fonctionne bien.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">De nombreuses possibilités</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Vous n’avez pas à vous préoccuper de la configuration de l’accès HTTPS, de la collecte des logs ou des métriques, tout est déjà mis en place et accessible via Clever Tools ou <a href="https://console.clever-cloud.com/">la Console</a>. Vous pourrez d'ailleurs passer par cette dernière afin d'activer <a href="https://stagingv6.cleverapps.io/fr/blog/features/2021/10/28/grafana-pour-des-metriques-d-applications/">Grafana</a> dans les paramètres de votre compte. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour accéder aux informations de votre application dans la Console utilisez :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever console</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>D’autres fonctionnalités de Clever Tools vous permettent de lui attribuer un domaine, voir ses paramètres, son activité, modifier le nombre et le type d’instance utilisée, l’arrêter ou la redémarrer. N’hésitez pas à regarder l’aide de notre CLI avec <code>--help</code> ou <a href="https://github.com/CleverCloud/clever-tools/tree/master#how-to-use" target="_blank" rel="noreferrer noopener">sa documentation</a> pour en savoir plus :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever domain
clever domain add domain.tld

clever status
clever activity

clever scale --min-instances 1 --max-instances 4 --min-flavor pico --max-flavor M
clever scale --instances 1 --flavor pico

clever restart
clever stop</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Bien entendu, vous pouvez également aller plus loin avec Bun et déployer des applications utilisant <a href="https://twitter.com/davlgd/status/1700478826755530822" target="_blank" rel="noreferrer noopener">le framework web Elysia</a> ou encore des générateurs de sites statiques <a href="https://twitter.com/davlgd/status/1700599956359262313" target="_blank" rel="noreferrer noopener">tels qu’Astro</a>. Nous vous détaillerons cela dans de prochains billets ! D'ici là, n'hésitez pas à nous faire savoir ce que vous attendez de nos images proposant des runtimes JavaScript.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AMD EPYC 7003, Open Compute, datacenters et autres projets : que prépare Clever Cloud ?</title>
		<link>https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/16/amd-epyc-7003-open-compute-datacenters-et-autres-projets-que-prepare-clever-cloud/</link>
		
		<dc:creator><![CDATA[David Legrand]]></dc:creator>
		<pubDate>Thu, 16 Jun 2022 11:37:00 +0000</pubDate>
				<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[développeur]]></category>
		<category><![CDATA[entreprise]]></category>
		<guid isPermaLink="false">https://stagingv6.cleverapps.io/?p=6892</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="whats_up_clever_cloud" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph -->
<p>Cela fait maintenant plus de 10 ans que, chez Clever Cloud, nous cherchons à penser le métier d’hébergeur autrement. Que nous nous mettons aux services des développeurs avec une seule idée en tête : maintenir leurs applications en conditions opérationnelles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever Cloud, pour que juste ça marche</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre offre et les outils logiciels que nous proposons ne sont ainsi pas pensés simplement pour héberger du code sur Internet et ses nuages, mais pour automatiser au maximum les tâches qui font le quotidien du “cloud” et nous occuper du reste, 24/7, pour nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela consiste à maintenir à jour le système d’exploitation de nos serveurs et les outils qu’ils embarquent de manière transparente, sans interruption. Mais aussi à adapter la taille et le nombre de vos instances selon les critères que vous avez définis, sauvegarder et répliquer vos données, vous permettre de déployer votre code source d’un simple “git push”, de tout surveiller (logs, tableau de bord Grafana, etc.), de pouvoir revenir en arrière et vous assurer qu’en cas de problème, vous n’avez rien à faire, tout va bien se passer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour cela, nous disposons de serveurs dans <a href="https://stagingv6.cleverapps.io/fr/security/">deux datacenters à Paris</a>, conçus et organisés autour d’une valeur cardinale : la densité. Tous nos outils de déploiement visent en effet à exploiter nos serveurs à leur maximum, à trouver le “sweet spot” nous permettant de répondre aux besoins des applications de nos clients sans gâcher de ressources.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L’efficacité énergétique est ainsi au cœur de notre métier et de notre modèle économique, l’un des besoins auxquels nous avons toujours dû répondre et qui guide la plupart de nos choix techniques.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":6235,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full"><img src="https://cdn.clever-cloud.com/uploads/2021/10/runtime.png" alt="runtime_board_grafana" class="wp-image-6235"/><figcaption class="wp-element-caption">Suivez l'activité de vos applications via Grafana</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une approche ouverte et multi-cloud, à succès</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous devons également être capables de proposer un certain niveau de résilience, nous permettant d’assurer le bon fonctionnement des applications de nos clients même si nous perdons un composant, un serveur, une baie ou qu’un datacenter venait à être indisponible.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour cela, nous disposons d’une offre diversifiée et résolument multi-cloud : vous pouvez déployer chez nous, chez des hébergeurs tiers qui sont nos partenaires tels qu’OVHcloud et Oracle Cloud, en France ou à l’étranger, avec différents niveaux de qualification et de certification. D’autres devraient suivre. Nous participons d’ailleurs au <a href="https://twitter.com/clever_cloudFR/status/1537014979215470595" target="_blank" rel="noreferrer noopener">CTO Forum de Scaleway à Viva Tech</a> ce vendredi pour évoquer comment nos entreprises coopèrent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais vous pouvez également utiliser Clever Cloud sur vos propres infrastructures, <a href="https://stagingv6.cleverapps.io/fr/clever-cloud-on-premises/">on-premises</a>. Ainsi, même si nous ne sommes plus opérationnels, vous l’êtes encore. Nous savons désormais le faire <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/07/clever-cloud-a-votre-ecoute-startups-kubernetes-ou-meme-vmware-nous-sommes-la/">par-dessus VMware</a>. Cette ouverture séduit, puisque ces dernières années nous avons doublé notre chiffre d’affaires tous les 12 à 18 mois.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Néanmoins, il nous reste encore des choses à améliorer. Nous travaillons ainsi à de nombreux projets pour renforcer l’aspect multi-cloud de nos déploiements, vous permettre de gérer vos plans de reprise d’activité (PRA) entièrement via nos services.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":6899,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/06/fuqvpafwaaqs36f-edited.jpeg" alt="Serveur Capri AMD EPYC Série 7003" class="wp-image-6899"/><figcaption class="wp-element-caption">Des serveurs Capri seront installés dans notre prochain datacenter</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Flexibilité et ouverture</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Et pour être toujours plus résilient tout en anticipant la croissance continue de l’activité, nous nous installons dans un troisième site parisien au sein de <a href="https://www.greencomputing.com/" target="_blank" rel="noreferrer noopener">l’un des datacenters du groupe 2CRSi</a> : GreenData. Il accueillera de nouveaux serveurs à base d’<a href="https://www.amd.com/fr/processors/epyc-7003-series" target="_blank" rel="noreferrer noopener">AMD EPYC Série 7003 </a>ainsi que plusieurs de nos projets de recherche et développement (R&amp;D).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons d’ailleurs fait le choix de miser en priorité sur des serveurs répondant au standard de l’Open Compute Project (OCP), qui renforce la densité et la praticité des infrastructures, avec une gestion de l’alimentation centralisée et plus économe en énergie.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une solution qui a l’avantage d’être utilisée par de nombreux acteurs du marché, l’OCP permet d’assurer plusieurs cycles de vie aux serveurs. Une approche ouverte et responsable qui est capitale aux yeux de Clever Cloud, qui s’investit dans de nombreux projets open source. Nous en sommes aussi à l’initiative, comme pour le reverse proxy <a href="https://www.sozu.io/" target="_blank" rel="noreferrer noopener">Sōzu</a> et le système de gestion des droits <a href="https://www.biscuitsec.org/" target="_blank" rel="noreferrer noopener">Biscuit</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Préparer l’avenir</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>D’autres datacenters accueilleront des serveurs Clever Cloud à l’horizon 2023-2024. Pour faire face à ces besoins et se structurer, Guillaume Champeau <a href="https://stagingv6.cleverapps.io/fr/blog/presse/2021/10/25/clever-cloud-annonce-larrivee-de-guillaume-champeau/">a été nommé</a> Directeur Juridique et Affaires Publiques, Cédric Biron COO et Steven Le Roux CTO <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/01/04/clever-cloud-nomme-son-cto-et-coo/">en janvier</a>, puis David Legrand comme <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/03/15/clever-cloud-annonce-larrivee-de-david-legrand/">Chief of Hardware Evaluation</a>.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis le début de l’année, une dizaine de développeurs ont été recrutés afin d’accélérer le développement des produits et services, qu’il s’agisse de nos outils internes, ceux que nous mettons à votre disposition ou notre Console qui évolue désormais de manière régulière.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L’équipe de Clever Cloud compte désormais une quarantaine de personnes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une plateforme qui s’adapte aux besoins</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Cela permet à notre offre de se renforcer. Ces dernières semaines, nous avons ainsi déployé :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/07/clever-cloud-a-votre-ecoute-startups-kubernetes-ou-meme-vmware-nous-sommes-la/">Clever Cloud sur SecNumCloud</a> (VMWare) : pour répondre au besoin d’un prospect, nous avons déployé un service Clever Cloud on-premise sur l’offre Hosted Private Cloud d’OVHcloud qui est qualifiée SecNumCloud par l’ANSSI, opérée via VMware.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/05/16/comment-installer-matomo/">Matomo-as-a-Service</a> : pour un déploiement en quelques clics d’une instance clé en main basée sur l’outil open source d’analyse d’audience Matomo, permettant un hébergement des données en France et un respect du RGPD.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/clever-operator">Clever Operator</a> : les utilisateurs de Kubernetes ou d’OpenShift peuvent continuer à exploiter ces outils tout en profitant des fonctionnalités performantes offertes par Clever Cloud, comme la <a href="https://stagingv6.cleverapps.io/doc/administrate/scalability/">scalabilité automatique</a> ou les <a href="https://stagingv6.cleverapps.io/fr/blog/non-classifiee/2021/10/28/grafana-pour-des-metriques-d-applications/">outils de monitoring</a>.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/05/19/decouvrez-notre-nouveau-ticket-center/">Ticket Center</a> : un nouveau dispositif de contact pour nos clients, intégré à la Console, conçu en exploitant les outils de notre partenaire français Crisp.im</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/03/22/lediteur-de-variables-denvironnement-sameliore/">Un nouvel éditeur</a> de variable d’environnements sous la forme d’un Web Component : un standard ouvert essentiel dans l’évolution de nos interfaces. Cet éditeur gère désormais le format JSON (en lecture/écriture) et s’intègre à notre Config Provider.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/03/29/les-redirections-tcp-sont-disponibles/">Les redirections TCP</a> : elles peuvent être activées pour accéder aux applications déployées sur Clever Cloud via un protocole différent de HTTP(S).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Nous travaillons actuellement à la mise en place des Network groups basés sur Wireguard, des VM Tasks pour l’exécution de tâches complexes à la demande, les maintenances programmées, des offres FaaS/IaaS. Mais également un ensemble d’API maison pour s’abstraire de la gestion des composants matériels ou logiciels et dépendre le moins possible des constructeurs et fournisseurs de services tiers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Des valeurs et des projets</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Si notre équipe s’est depuis toujours organisée autour de modes de travail distribués, collaboratifs et à distance, nous sommes également très attachés à des valeurs défendues régulièrement par <a href="https://twitter.com/waxzce" target="_blank" rel="noreferrer noopener">Quentin Adam</a>, CEO et cofondateur de l’entreprise, dans les domaines de la souveraineté et de la liberté de choix des utilisateurs.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, nous veillons à faire travailler ensemble de nombreuses entreprises françaises du secteur. Nous évaluons également leurs solutions afin de les proposer au sein de notre offre, comme <a href="https://www.kalrayinc.com/fr" target="_blank" rel="noreferrer noopener">Kalray</a>. Sa puce Coolidge et la solution de stockage <a href="https://www.kalrayinc.com/fr/products/nvme-flash-array" target="_blank" rel="noreferrer noopener">Flashbox</a> sont actuellement en cours de test dans notre infrastructure. Vous souhaitez en profiter pour vos projets ? <a href="https://stagingv6.cleverapps.io/fr/contact/">Faites-le nous savoir</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous aurons d’ailleurs l’occasion de vous parler dans les prochaines semaines d’autres projets, notamment en matière d’innovation et de souveraineté, avec quelques surprises à la clé…&nbsp;</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="whats_up_clever_cloud" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2022/06/whats-up-clever-cloud-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph -->
<p>Cela fait maintenant plus de 10 ans que, chez Clever Cloud, nous cherchons à penser le métier d’hébergeur autrement. Que nous nous mettons aux services des développeurs avec une seule idée en tête : maintenir leurs applications en conditions opérationnelles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Clever Cloud, pour que juste ça marche</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Notre offre et les outils logiciels que nous proposons ne sont ainsi pas pensés simplement pour héberger du code sur Internet et ses nuages, mais pour automatiser au maximum les tâches qui font le quotidien du “cloud” et nous occuper du reste, 24/7, pour nos clients.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cela consiste à maintenir à jour le système d’exploitation de nos serveurs et les outils qu’ils embarquent de manière transparente, sans interruption. Mais aussi à adapter la taille et le nombre de vos instances selon les critères que vous avez définis, sauvegarder et répliquer vos données, vous permettre de déployer votre code source d’un simple “git push”, de tout surveiller (logs, tableau de bord Grafana, etc.), de pouvoir revenir en arrière et vous assurer qu’en cas de problème, vous n’avez rien à faire, tout va bien se passer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour cela, nous disposons de serveurs dans <a href="https://stagingv6.cleverapps.io/fr/security/">deux datacenters à Paris</a>, conçus et organisés autour d’une valeur cardinale : la densité. Tous nos outils de déploiement visent en effet à exploiter nos serveurs à leur maximum, à trouver le “sweet spot” nous permettant de répondre aux besoins des applications de nos clients sans gâcher de ressources.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L’efficacité énergétique est ainsi au cœur de notre métier et de notre modèle économique, l’un des besoins auxquels nous avons toujours dû répondre et qui guide la plupart de nos choix techniques.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":6235,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full"><img src="https://cdn.clever-cloud.com/uploads/2021/10/runtime.png" alt="runtime_board_grafana" class="wp-image-6235"/><figcaption class="wp-element-caption">Suivez l'activité de vos applications via Grafana</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une approche ouverte et multi-cloud, à succès</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous devons également être capables de proposer un certain niveau de résilience, nous permettant d’assurer le bon fonctionnement des applications de nos clients même si nous perdons un composant, un serveur, une baie ou qu’un datacenter venait à être indisponible.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour cela, nous disposons d’une offre diversifiée et résolument multi-cloud : vous pouvez déployer chez nous, chez des hébergeurs tiers qui sont nos partenaires tels qu’OVHcloud et Oracle Cloud, en France ou à l’étranger, avec différents niveaux de qualification et de certification. D’autres devraient suivre. Nous participons d’ailleurs au <a href="https://twitter.com/clever_cloudFR/status/1537014979215470595" target="_blank" rel="noreferrer noopener">CTO Forum de Scaleway à Viva Tech</a> ce vendredi pour évoquer comment nos entreprises coopèrent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais vous pouvez également utiliser Clever Cloud sur vos propres infrastructures, <a href="https://stagingv6.cleverapps.io/fr/clever-cloud-on-premises/">on-premises</a>. Ainsi, même si nous ne sommes plus opérationnels, vous l’êtes encore. Nous savons désormais le faire <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/07/clever-cloud-a-votre-ecoute-startups-kubernetes-ou-meme-vmware-nous-sommes-la/">par-dessus VMware</a>. Cette ouverture séduit, puisque ces dernières années nous avons doublé notre chiffre d’affaires tous les 12 à 18 mois.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Néanmoins, il nous reste encore des choses à améliorer. Nous travaillons ainsi à de nombreux projets pour renforcer l’aspect multi-cloud de nos déploiements, vous permettre de gérer vos plans de reprise d’activité (PRA) entièrement via nos services.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":6899,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/06/fuqvpafwaaqs36f-edited.jpeg" alt="Serveur Capri AMD EPYC Série 7003" class="wp-image-6899"/><figcaption class="wp-element-caption">Des serveurs Capri seront installés dans notre prochain datacenter</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Flexibilité et ouverture</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Et pour être toujours plus résilient tout en anticipant la croissance continue de l’activité, nous nous installons dans un troisième site parisien au sein de <a href="https://www.greencomputing.com/" target="_blank" rel="noreferrer noopener">l’un des datacenters du groupe 2CRSi</a> : GreenData. Il accueillera de nouveaux serveurs à base d’<a href="https://www.amd.com/fr/processors/epyc-7003-series" target="_blank" rel="noreferrer noopener">AMD EPYC Série 7003 </a>ainsi que plusieurs de nos projets de recherche et développement (R&amp;D).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons d’ailleurs fait le choix de miser en priorité sur des serveurs répondant au standard de l’Open Compute Project (OCP), qui renforce la densité et la praticité des infrastructures, avec une gestion de l’alimentation centralisée et plus économe en énergie.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une solution qui a l’avantage d’être utilisée par de nombreux acteurs du marché, l’OCP permet d’assurer plusieurs cycles de vie aux serveurs. Une approche ouverte et responsable qui est capitale aux yeux de Clever Cloud, qui s’investit dans de nombreux projets open source. Nous en sommes aussi à l’initiative, comme pour le reverse proxy <a href="https://www.sozu.io/" target="_blank" rel="noreferrer noopener">Sōzu</a> et le système de gestion des droits <a href="https://www.biscuitsec.org/" target="_blank" rel="noreferrer noopener">Biscuit</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Préparer l’avenir</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>D’autres datacenters accueilleront des serveurs Clever Cloud à l’horizon 2023-2024. Pour faire face à ces besoins et se structurer, Guillaume Champeau <a href="https://stagingv6.cleverapps.io/fr/blog/presse/2021/10/25/clever-cloud-annonce-larrivee-de-guillaume-champeau/">a été nommé</a> Directeur Juridique et Affaires Publiques, Cédric Biron COO et Steven Le Roux CTO <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/01/04/clever-cloud-nomme-son-cto-et-coo/">en janvier</a>, puis David Legrand comme <a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/03/15/clever-cloud-annonce-larrivee-de-david-legrand/">Chief of Hardware Evaluation</a>.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis le début de l’année, une dizaine de développeurs ont été recrutés afin d’accélérer le développement des produits et services, qu’il s’agisse de nos outils internes, ceux que nous mettons à votre disposition ou notre Console qui évolue désormais de manière régulière.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L’équipe de Clever Cloud compte désormais une quarantaine de personnes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Une plateforme qui s’adapte aux besoins</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Cela permet à notre offre de se renforcer. Ces dernières semaines, nous avons ainsi déployé :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/entreprise/2022/06/07/clever-cloud-a-votre-ecoute-startups-kubernetes-ou-meme-vmware-nous-sommes-la/">Clever Cloud sur SecNumCloud</a> (VMWare) : pour répondre au besoin d’un prospect, nous avons déployé un service Clever Cloud on-premise sur l’offre Hosted Private Cloud d’OVHcloud qui est qualifiée SecNumCloud par l’ANSSI, opérée via VMware.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/05/16/comment-installer-matomo/">Matomo-as-a-Service</a> : pour un déploiement en quelques clics d’une instance clé en main basée sur l’outil open source d’analyse d’audience Matomo, permettant un hébergement des données en France et un respect du RGPD.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://github.com/CleverCloud/clever-operator">Clever Operator</a> : les utilisateurs de Kubernetes ou d’OpenShift peuvent continuer à exploiter ces outils tout en profitant des fonctionnalités performantes offertes par Clever Cloud, comme la <a href="https://stagingv6.cleverapps.io/doc/administrate/scalability/">scalabilité automatique</a> ou les <a href="https://stagingv6.cleverapps.io/fr/blog/non-classifiee/2021/10/28/grafana-pour-des-metriques-d-applications/">outils de monitoring</a>.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/05/19/decouvrez-notre-nouveau-ticket-center/">Ticket Center</a> : un nouveau dispositif de contact pour nos clients, intégré à la Console, conçu en exploitant les outils de notre partenaire français Crisp.im</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/03/22/lediteur-de-variables-denvironnement-sameliore/">Un nouvel éditeur</a> de variable d’environnements sous la forme d’un Web Component : un standard ouvert essentiel dans l’évolution de nos interfaces. Cet éditeur gère désormais le format JSON (en lecture/écriture) et s’intègre à notre Config Provider.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://stagingv6.cleverapps.io/fr/blog/fonctionnalites/2022/03/29/les-redirections-tcp-sont-disponibles/">Les redirections TCP</a> : elles peuvent être activées pour accéder aux applications déployées sur Clever Cloud via un protocole différent de HTTP(S).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Nous travaillons actuellement à la mise en place des Network groups basés sur Wireguard, des VM Tasks pour l’exécution de tâches complexes à la demande, les maintenances programmées, des offres FaaS/IaaS. Mais également un ensemble d’API maison pour s’abstraire de la gestion des composants matériels ou logiciels et dépendre le moins possible des constructeurs et fournisseurs de services tiers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Des valeurs et des projets</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Si notre équipe s’est depuis toujours organisée autour de modes de travail distribués, collaboratifs et à distance, nous sommes également très attachés à des valeurs défendues régulièrement par <a href="https://twitter.com/waxzce" target="_blank" rel="noreferrer noopener">Quentin Adam</a>, CEO et cofondateur de l’entreprise, dans les domaines de la souveraineté et de la liberté de choix des utilisateurs.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ainsi, nous veillons à faire travailler ensemble de nombreuses entreprises françaises du secteur. Nous évaluons également leurs solutions afin de les proposer au sein de notre offre, comme <a href="https://www.kalrayinc.com/fr" target="_blank" rel="noreferrer noopener">Kalray</a>. Sa puce Coolidge et la solution de stockage <a href="https://www.kalrayinc.com/fr/products/nvme-flash-array" target="_blank" rel="noreferrer noopener">Flashbox</a> sont actuellement en cours de test dans notre infrastructure. Vous souhaitez en profiter pour vos projets ? <a href="https://stagingv6.cleverapps.io/fr/contact/">Faites-le nous savoir</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous aurons d’ailleurs l’occasion de vous parler dans les prochaines semaines d’autres projets, notamment en matière d’innovation et de souveraineté, avec quelques surprises à la clé…&nbsp;</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
