<?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>docker Archives | Clever Cloud</title>
	<atom:link href="https://www.clever.cloud/blog/tag/docker/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.clever.cloud/blog/tag/docker/</link>
	<description>From Code to Product</description>
	<lastBuildDate>Fri, 24 Oct 2025 12:49:48 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cdn.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>docker Archives | Clever Cloud</title>
	<link>https://www.clever.cloud/blog/tag/docker/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Container as a Service (CaaS): understanding the model</title>
		<link>https://www.clever.cloud/blog/engineering/2025/01/25/caas-container-as-a-service/</link>
		
		<dc:creator><![CDATA[Carine Guillemet]]></dc:creator>
		<pubDate>Sat, 25 Jan 2025 08:11:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[docker]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=20385</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2025 09 17 clever cloud banniere blog frankenphp en 2" decoding="async" fetchpriority="high" srcset="https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2.png 800w, https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2-768x341.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At&nbsp;<strong>Clever Cloud</strong>, the CaaS offering relies on&nbsp;<strong>managed<a href="https://www.clever.cloud/product/docker-applications/"> Docker runtimes</a></strong>. It is widely used by our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">CaaS in the cloud ecosystem</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CaaS provides an environment where containers can be deployed, executed, and monitored without the user needing to administer servers or clusters. It allows teams to work directly with their container images while delegating operational tasks such as monitoring, security updates, and scaling.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This model stands out by combining&nbsp;<strong>portability</strong>&nbsp;(a container can run on any compatible environment) and&nbsp;<strong>operational simplicity</strong>. It does not replace other cloud approaches but occupies an intermediate position.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">CaaS, IaaS, PaaS, FaaS, DBaaS: understanding the differences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To better situate CaaS, it helps to compare it with other service models:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>IaaS (Infrastructure as a Service):</strong>&nbsp;you manage virtual machines, storage, and networking. Flexible but demanding, it requires significant administrative investment.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>PaaS (Platform as a Service):</strong>&nbsp;you deploy your applications directly on a platform that manages the infrastructure and part of the software stack. Fast and convenient—this is Clever Cloud’s core expertise.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>FaaS (Function as a Service):</strong>&nbsp;you run functions that are triggered on demand. Very useful for specific use cases.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>DBaaS (Database as a Service):</strong>&nbsp;the provider handles deployment, hosting, and maintenance of a database. You benefit from a database that is always available, secure, and backed up, without having to manage updates or complex configuration.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CaaS (Container as a Service):</strong>&nbsp;you deploy your containers, often with Docker, while delegating hosting, supervision, and maintenance of the runtime environment to a provider.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Thus, CaaS appears as a&nbsp;<strong>compromise</strong>: it gives developers the freedom to use their containers while reducing operational overhead.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">The role of containers and Docker</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Containers have become a standard for deploying applications. They package an application and all its dependencies into an isolated environment, ensuring consistent execution regardless of the context.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong><a href="https://www.docker.com">Docker</a></strong>&nbsp;has established itself as the reference tool for creating and managing containers. Its widespread adoption is explained by:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Portability:</strong>&nbsp;a container runs the same way in development, testing, or production.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Consistency:</strong>&nbsp;no more configuration discrepancies between machines.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Speed:</strong>&nbsp;deployment is much faster than with a traditional VM.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>These qualities make Docker a natural foundation for CaaS.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Managed Docker at Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At&nbsp;<strong>Clever Cloud</strong>, we provide&nbsp;<strong>Docker as a managed service</strong>. In practice, this means you deploy your Docker containers on our platform, and we host, run, keep the Docker image up to date, and provide monitoring and scalability.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Important note: only you can update the content of your container.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You remain in control of your Docker containers, but you no longer need to manage the lower layers of the infrastructure. This approach is aligned with our mission: delivering&nbsp;<strong>reliable managed services</strong>&nbsp;so teams can focus on code rather than administration.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker with an extra layer of security</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud deploys your Docker containers inside VMs to ensure strong isolation and therefore reinforce security.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>👉&nbsp;<a>Access the Clever Cloud console to test Docker deployment</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">When CaaS makes sense</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CaaS is not universal, but it is well suited to certain situations:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Startups:</strong>&nbsp;quickly launch a service without mobilizing a full ops team.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Software vendors:</strong>&nbsp;industrialize the deployment of their containerized applications while benefiting from a stable environment.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Large enterprises:</strong>&nbsp;centralize container management across several teams, with operational support.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>In all these cases, the goal remains the same: improving efficiency without sacrificing control over applications.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.clever.cloud/developers/doc/applications/docker/">Read the Docker doc</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">CaaS: making Docker users’ lives easier</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CaaS is not a replacement for PaaS or DBaaS but a complementary option in the cloud landscape. It is designed for teams that want to run their Docker containers while delegating operational management.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At&nbsp;<strong>Clever Cloud</strong>, we therefore provide this CaaS component to support projects that need it. By focusing on the&nbsp;<strong>operational maintenance of Docker</strong>, we provide a secure and efficient framework for deploying containers without the burden of day-to-day management.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://console.clever-cloud.com/">Deploy Docker for free</a></div>
<!-- /wp:button -->

<!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Contact us</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">FAQ: CaaS and managed Docker</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>What is CaaS (Container as a Service)?</strong><br>CaaS is a cloud computing model that allows you to deploy and manage containers without administering the underlying infrastructure. It offers a balance between flexibility and operational simplicity.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>What does Docker bring to CaaS?</strong><br>Docker is the most widely used tool for building and running containers. It ensures portability, rapid deployment, and consistency across environments. In a CaaS model, Docker is often the core technology.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>What does “managed Docker” mean at Clever Cloud?</strong><br>It means you deploy your Docker containers on Clever Cloud, and the platform ensures their operational maintenance: monitoring, Docker image updates, backups, and automatic scaling.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2025 09 17 clever cloud banniere blog frankenphp en 2" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2.png 800w, https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2025/09/2025-09-17-clever-cloud-banniere-blog-frankenphp-en-2-768x341.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At&nbsp;<strong>Clever Cloud</strong>, the CaaS offering relies on&nbsp;<strong>managed<a href="https://www.clever.cloud/product/docker-applications/"> Docker runtimes</a></strong>. It is widely used by our customers.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">CaaS in the cloud ecosystem</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CaaS provides an environment where containers can be deployed, executed, and monitored without the user needing to administer servers or clusters. It allows teams to work directly with their container images while delegating operational tasks such as monitoring, security updates, and scaling.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This model stands out by combining&nbsp;<strong>portability</strong>&nbsp;(a container can run on any compatible environment) and&nbsp;<strong>operational simplicity</strong>. It does not replace other cloud approaches but occupies an intermediate position.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">CaaS, IaaS, PaaS, FaaS, DBaaS: understanding the differences</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To better situate CaaS, it helps to compare it with other service models:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>IaaS (Infrastructure as a Service):</strong>&nbsp;you manage virtual machines, storage, and networking. Flexible but demanding, it requires significant administrative investment.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>PaaS (Platform as a Service):</strong>&nbsp;you deploy your applications directly on a platform that manages the infrastructure and part of the software stack. Fast and convenient—this is Clever Cloud’s core expertise.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>FaaS (Function as a Service):</strong>&nbsp;you run functions that are triggered on demand. Very useful for specific use cases.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>DBaaS (Database as a Service):</strong>&nbsp;the provider handles deployment, hosting, and maintenance of a database. You benefit from a database that is always available, secure, and backed up, without having to manage updates or complex configuration.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CaaS (Container as a Service):</strong>&nbsp;you deploy your containers, often with Docker, while delegating hosting, supervision, and maintenance of the runtime environment to a provider.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Thus, CaaS appears as a&nbsp;<strong>compromise</strong>: it gives developers the freedom to use their containers while reducing operational overhead.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">The role of containers and Docker</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Containers have become a standard for deploying applications. They package an application and all its dependencies into an isolated environment, ensuring consistent execution regardless of the context.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong><a href="https://www.docker.com">Docker</a></strong>&nbsp;has established itself as the reference tool for creating and managing containers. Its widespread adoption is explained by:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Portability:</strong>&nbsp;a container runs the same way in development, testing, or production.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Consistency:</strong>&nbsp;no more configuration discrepancies between machines.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Speed:</strong>&nbsp;deployment is much faster than with a traditional VM.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>These qualities make Docker a natural foundation for CaaS.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Managed Docker at Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At&nbsp;<strong>Clever Cloud</strong>, we provide&nbsp;<strong>Docker as a managed service</strong>. In practice, this means you deploy your Docker containers on our platform, and we host, run, keep the Docker image up to date, and provide monitoring and scalability.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Important note: only you can update the content of your container.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You remain in control of your Docker containers, but you no longer need to manage the lower layers of the infrastructure. This approach is aligned with our mission: delivering&nbsp;<strong>reliable managed services</strong>&nbsp;so teams can focus on code rather than administration.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker with an extra layer of security</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud deploys your Docker containers inside VMs to ensure strong isolation and therefore reinforce security.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>👉&nbsp;<a>Access the Clever Cloud console to test Docker deployment</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">When CaaS makes sense</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CaaS is not universal, but it is well suited to certain situations:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Startups:</strong>&nbsp;quickly launch a service without mobilizing a full ops team.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Software vendors:</strong>&nbsp;industrialize the deployment of their containerized applications while benefiting from a stable environment.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Large enterprises:</strong>&nbsp;centralize container management across several teams, with operational support.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>In all these cases, the goal remains the same: improving efficiency without sacrificing control over applications.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.clever.cloud/developers/doc/applications/docker/">Read the Docker doc</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">CaaS: making Docker users’ lives easier</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CaaS is not a replacement for PaaS or DBaaS but a complementary option in the cloud landscape. It is designed for teams that want to run their Docker containers while delegating operational management.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At&nbsp;<strong>Clever Cloud</strong>, we therefore provide this CaaS component to support projects that need it. By focusing on the&nbsp;<strong>operational maintenance of Docker</strong>, we provide a secure and efficient framework for deploying containers without the burden of day-to-day management.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://console.clever-cloud.com/">Deploy Docker for free</a></div>
<!-- /wp:button -->

<!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Contact us</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">FAQ: CaaS and managed Docker</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>What is CaaS (Container as a Service)?</strong><br>CaaS is a cloud computing model that allows you to deploy and manage containers without administering the underlying infrastructure. It offers a balance between flexibility and operational simplicity.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>What does Docker bring to CaaS?</strong><br>Docker is the most widely used tool for building and running containers. It ensures portability, rapid deployment, and consistency across environments. In a CaaS model, Docker is often the core technology.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>What does “managed Docker” mean at Clever Cloud?</strong><br>It means you deploy your Docker containers on Clever Cloud, and the platform ensures their operational maintenance: monitoring, Docker image updates, backups, and automatic scaling.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>86 &#8211; Les IA hallucinées se ferment à la source</title>
		<link>https://www.clever.cloud/podcast/86-les-ia-hallucinees-se-ferment-a-la-source/</link>
		
		<dc:creator><![CDATA[Julien Durillon]]></dc:creator>
		<pubDate>Fri, 07 Apr 2023 17:31:46 +0000</pubDate>
				<category><![CDATA[CopilotX]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[GPT4]]></category>
		<category><![CDATA[LLaMA]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Rust]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?post_type=podcast&#038;p=7915</guid>

					<description><![CDATA[<p><img width="1920" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/04/86-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="86 1" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2023/04/86-1.jpg 1920w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-300x169.jpg 300w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-1024x576.jpg 1024w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-768x432.jpg 768w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-1536x864.jpg 1536w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-1368x770.jpg 1368w" sizes="(max-width: 1920px) 100vw, 1920px" /></p><!-- wp:gallery {"columns":4,"linkTo":"none"} -->
<figure class="wp-block-gallery has-nested-images columns-4 is-cropped"><!-- wp:image {"id":713,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2021/03/julien-durillon-447x447.jpg" alt="julien_durillon" class="wp-image-713"/><figcaption class="wp-element-caption">Julien Durillon</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":3038,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
<figure class="wp-block-image size-large is-style-default"><img src="https://cdn.clever-cloud.com/uploads/2021/08/T02QK4NGF-U01N501SY4B-984818fddf3b-512-447x447.png" alt="emmanuel_bosquet" class="wp-image-3038"/><figcaption class="wp-element-caption">Emmanuel Bosquet</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":7898,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2023/03/guillaumeassier400x400.jpeg" alt="Guillaume_Assier" class="wp-image-7898"/><figcaption class="wp-element-caption">Guillaume Assier</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":9785,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2023/03/jeromerouaix.jpg" alt="une photo de Jérôme Rouaix" class="wp-image-9785"/><figcaption class="wp-element-caption">Jérôme Rouaix</figcaption></figure>
<!-- /wp:image --></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>Dans cet épisode très ouvert il est question de Rust qui est à la base de wymmo.com (le portail de notre invité), du ralentissement du secteur, de Docker pousse l'open source vers le payant et d'histoire de nos machines. Nous passons un moment à parler d'IA : annonce de GPT4, CopilotX, LLaMA avant de présenter quelques outils et de finir en musique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec la participation de <a href="https://twitter.com/juuduu">@<em>juuduu</em></a> <br><a href="https://twitter.com/emmanuelbosquet"><em>Emmanuel Bosquet (@EmmanuelBosquet) / Twitter</em></a> <br><a href="https://twitter.com/guillaumeassier"><em>Guillaume Assier 🔋 (@GuillaumeAssier) / Twitter</em></a><br><a href="https://twitter.com/jrouaix"><em>jrx - Eventually Consultant - C# .. 🦀⚙️ (@jrouaix) / Twitter</em></a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Épisode enregistré le 24 mars 2023.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button {"fontSize":"small"} -->
<div class="wp-block-button has-custom-font-size has-small-font-size"><a class="wp-block-button__link wp-element-button" href="https://youtu.be/gYp3gRg3u7Y" target="_blank" rel="noreferrer noopener">Regarder sur Youtube</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p>👋  Venez discuter avec nous sur <a href="https://twitter.com/clever_cloudFR" target="_blank" rel="noreferrer noopener">@clever_cloudFR</a> pour nous dire ce que vous avez pensé de ce nouvel épisode.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>➡️  Pour découvrir ou réécouter d’anciens épisodes&nbsp;<a href="https://www.clever.cloud/fr/podcast/">c’est par ici</a>&nbsp;!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Timecode &amp; Liens</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>00:00:16 - Présentation des participants</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:01:27 Projet pro : <a href="https://wymmo.com/" target="_blank" rel="noreferrer noopener">https://wymmo.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:09:28 Et sinon le ralentissement dans notre secteur, vous le ressentez ? <br><a href="https://www.lesechos.fr/start-up/next40-vivatech/payfit-se-separe-de-20-de-ses-effectifs-1910932" target="_blank" rel="noreferrer noopener">https://www.lesechos.fr/start-up/next40-vivatech/payfit-se-separe-de-20-de-ses-effectifs-1910932<br></a><a href="https://emploi.developpez.com/actu/342624/Y-a-t-il-une-bulle-dans-l-industrie-Tech-et-est-elle-en-train-d-eclater-Les-donnees-sur-les-offres-d-emploi-le-suggerent-mais-les-experts-estiment-que-c-est-le-moment-ideal-pour-y-travailler/" target="_blank" rel="noreferrer noopener">https://emploi.developpez.com/actu/342624/Y-a-t-il-une-bulle-dans-l-industrie-Tech-et-est-elle-en-train-d-eclater-Les-donnees-sur-les-offres-d-emploi-le-suggerent-mais-les-experts-estiment-que-c-est-le-moment-ideal-pour-y-travailler/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:21:18 : Docker pousse l’open source vers un modèle payant<br><a href="https://blog.alexellis.io/docker-is-deleting-open-source-images/" target="_blank" rel="noreferrer noopener">https://blog.alexellis.io/docker-is-deleting-open-source-images/<br></a>Faut faire du blé… devenir rentable<br>0€ −&gt; 420€/an<br>Changement dans un mois.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:28:58 Un peu d'histoire (en podcast), d'où viennent nos machines (Jérôme):</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://techcafe.fr/steampunk-cafe-machine-de-babbage-et-autres-machines-a-vapeur/" target="_blank" rel="noreferrer noopener">https://techcafe.fr/steampunk-cafe-machine-de-babbage-et-autres-machines-a-vapeur/<br></a>Métiers à tisser, cartes perforés, ordinateur à vapeur et machines analogiques (beaucoup de liens en description)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://techcafe.fr/supplement-steampunk-cafe-2-langleterre-du-colossus-a-lamstrad/" target="_blank" rel="noreferrer noopener">https://techcafe.fr/supplement-steampunk-cafe-2-langleterre-du-colossus-a-lamstrad/<br></a>La suite de l'Histoire et premiers transistors<br>00:34:04 : Eloge duclavier BEPO<br><a href="https://bepo.fr/wiki/Accueil" target="_blank" rel="noreferrer noopener">https://bepo.fr/wiki/Accueil<br></a>Klavaro : <a href="https://klavaro.sourceforge.io/fr/index.html" target="_blank" rel="noreferrer noopener">https://klavaro.sourceforge.io/fr/index.html</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>00:38:40 Open AI ne sera plus “open” et annonce GPT-4 (Jérôme)<br><a href="https://openai.com/research/gpt-4" target="_blank" rel="noreferrer noopener">https://openai.com/research/gpt-4<br></a><a href="https://www.theverge.com/2023/3/15/23640180/openai-gpt-4-launch-closed-research-ilya-sutskever-interview" target="_blank" rel="noreferrer noopener">https://www.theverge.com/2023/3/15/23640180/openai-gpt-4-launch-closed-research-ilya-sutskever-interview<br></a>- L'IA passe de l'ère de la recherche à l'ère du secret<br>- "Open" AI n'a jamais si mal porté son nom</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:44:34 : CopilotX<br><a href="https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/ (Emmanuel)" target="_blank" rel="noreferrer noopener">https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/ (Emmanuel)</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:49:21 : Comment fonctionnent les IA tels GPT-x<br><a href="https://www.joshwcomeau.com/blog/the-end-of-frontend-development/" target="_blank" rel="noreferrer noopener">https://www.joshwcomeau.com/blog/the-end-of-frontend-development/ </a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:57:56 : Demandes DMCA des dépôts basés sur le modèle LLaMA (Large Language Model Meta AI) par Meta<br>Lama-dl + forks<br><a href="https://twitter.com/theshawwn/status/1638925249709240322" target="_blank" rel="noreferrer noopener">https://twitter.com/theshawwn/status/1638925249709240322<br></a><a href="https://github.com/github/dmca/blob/master/2023/03/2023-03-21-meta.md" target="_blank" rel="noreferrer noopener">https://github.com/github/dmca/blob/master/2023/03/2023-03-21-meta.md<br></a><a href="https://twitter.com/Dorialexander/status/1638992849516544000?s=20" target="_blank" rel="noreferrer noopener">https://twitter.com/Dorialexander/status/1638992849516544000?s=20</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:00:29 : Vol de compte meta via une extension chrome qui surfe sur la vague chatgpt<br><a href="https://thehackernews.com/2023/03/fake-chatgpt-chrome-browser-extension.html" target="_blank" rel="noreferrer noopener">https://thehackernews.com/2023/03/fake-chatgpt-chrome-browser-extension.html</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:02:26 : Support en alpha des plugins dans chatgpt qui va améliorer son expérience produit <br><a href="https://openai.com/blog/chatgpt-plugins" target="_blank" rel="noreferrer noopener">https://openai.com/blog/chatgpt-plugins</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:04:00 : Codegenr, l’outil de la semaine<br><a href="https://github.com/eventuallyconsultant/codegenr" target="_blank" rel="noreferrer noopener">https://github.com/eventuallyconsultant/codegenr</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:11:56 : Musique de fin - Sound of science - Portal<br><a href="https://www.youtube.com/watch?v=l0xh4qopQpk" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=l0xh4qopQpk</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Si les dés en avait décidé autrement, il y aurait pu avoir :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Julien : <a href="https://www.youtube.com/watch?v=BtxTSXhZbOQ" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=BtxTSXhZbOQ</a> Ma’agalim, Idan Raichel</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Guillaume : <a href="https://www.youtube.com/watch?v=hVvx8cZcklQ" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=hVvx8cZcklQ</a> When You’re Around, Oliver Tree</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jérôme : <a href="https://www.youtube.com/watch?v=6AbssmQ7EPI&amp;list=PLD27AC29593FA45A7&amp;index=18" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=6AbssmQ7EPI&amp;list=PLD27AC29593FA45A7&amp;index=18</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->]]></description>
										<content:encoded><![CDATA[<p><img width="1920" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/04/86-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="86 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2023/04/86-1.jpg 1920w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-300x169.jpg 300w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-1024x576.jpg 1024w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-768x432.jpg 768w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-1536x864.jpg 1536w, https://cdn.clever-cloud.com/uploads/2023/04/86-1-1368x770.jpg 1368w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p><!-- wp:gallery {"columns":4,"linkTo":"none"} -->
<figure class="wp-block-gallery has-nested-images columns-4 is-cropped"><!-- wp:image {"id":713,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2021/03/julien-durillon-447x447.jpg" alt="julien_durillon" class="wp-image-713"/><figcaption class="wp-element-caption">Julien Durillon</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":3038,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
<figure class="wp-block-image size-large is-style-default"><img src="https://cdn.clever-cloud.com/uploads/2021/08/T02QK4NGF-U01N501SY4B-984818fddf3b-512-447x447.png" alt="emmanuel_bosquet" class="wp-image-3038"/><figcaption class="wp-element-caption">Emmanuel Bosquet</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":7898,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2023/03/guillaumeassier400x400.jpeg" alt="Guillaume_Assier" class="wp-image-7898"/><figcaption class="wp-element-caption">Guillaume Assier</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":9785,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2023/03/jeromerouaix.jpg" alt="une photo de Jérôme Rouaix" class="wp-image-9785"/><figcaption class="wp-element-caption">Jérôme Rouaix</figcaption></figure>
<!-- /wp:image --></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>Dans cet épisode très ouvert il est question de Rust qui est à la base de wymmo.com (le portail de notre invité), du ralentissement du secteur, de Docker pousse l'open source vers le payant et d'histoire de nos machines. Nous passons un moment à parler d'IA : annonce de GPT4, CopilotX, LLaMA avant de présenter quelques outils et de finir en musique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec la participation de <a href="https://twitter.com/juuduu">@<em>juuduu</em></a> <br><a href="https://twitter.com/emmanuelbosquet"><em>Emmanuel Bosquet (@EmmanuelBosquet) / Twitter</em></a> <br><a href="https://twitter.com/guillaumeassier"><em>Guillaume Assier 🔋 (@GuillaumeAssier) / Twitter</em></a><br><a href="https://twitter.com/jrouaix"><em>jrx - Eventually Consultant - C# .. 🦀⚙️ (@jrouaix) / Twitter</em></a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Épisode enregistré le 24 mars 2023.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button {"fontSize":"small"} -->
<div class="wp-block-button has-custom-font-size has-small-font-size"><a class="wp-block-button__link wp-element-button" href="https://youtu.be/gYp3gRg3u7Y" target="_blank" rel="noreferrer noopener">Regarder sur Youtube</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p>👋  Venez discuter avec nous sur <a href="https://twitter.com/clever_cloudFR" target="_blank" rel="noreferrer noopener">@clever_cloudFR</a> pour nous dire ce que vous avez pensé de ce nouvel épisode.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>➡️  Pour découvrir ou réécouter d’anciens épisodes&nbsp;<a href="https://www.clever.cloud/fr/podcast/">c’est par ici</a>&nbsp;!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Timecode &amp; Liens</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>00:00:16 - Présentation des participants</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:01:27 Projet pro : <a href="https://wymmo.com/" target="_blank" rel="noreferrer noopener">https://wymmo.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:09:28 Et sinon le ralentissement dans notre secteur, vous le ressentez ? <br><a href="https://www.lesechos.fr/start-up/next40-vivatech/payfit-se-separe-de-20-de-ses-effectifs-1910932" target="_blank" rel="noreferrer noopener">https://www.lesechos.fr/start-up/next40-vivatech/payfit-se-separe-de-20-de-ses-effectifs-1910932<br></a><a href="https://emploi.developpez.com/actu/342624/Y-a-t-il-une-bulle-dans-l-industrie-Tech-et-est-elle-en-train-d-eclater-Les-donnees-sur-les-offres-d-emploi-le-suggerent-mais-les-experts-estiment-que-c-est-le-moment-ideal-pour-y-travailler/" target="_blank" rel="noreferrer noopener">https://emploi.developpez.com/actu/342624/Y-a-t-il-une-bulle-dans-l-industrie-Tech-et-est-elle-en-train-d-eclater-Les-donnees-sur-les-offres-d-emploi-le-suggerent-mais-les-experts-estiment-que-c-est-le-moment-ideal-pour-y-travailler/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:21:18 : Docker pousse l’open source vers un modèle payant<br><a href="https://blog.alexellis.io/docker-is-deleting-open-source-images/" target="_blank" rel="noreferrer noopener">https://blog.alexellis.io/docker-is-deleting-open-source-images/<br></a>Faut faire du blé… devenir rentable<br>0€ −&gt; 420€/an<br>Changement dans un mois.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:28:58 Un peu d'histoire (en podcast), d'où viennent nos machines (Jérôme):</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://techcafe.fr/steampunk-cafe-machine-de-babbage-et-autres-machines-a-vapeur/" target="_blank" rel="noreferrer noopener">https://techcafe.fr/steampunk-cafe-machine-de-babbage-et-autres-machines-a-vapeur/<br></a>Métiers à tisser, cartes perforés, ordinateur à vapeur et machines analogiques (beaucoup de liens en description)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://techcafe.fr/supplement-steampunk-cafe-2-langleterre-du-colossus-a-lamstrad/" target="_blank" rel="noreferrer noopener">https://techcafe.fr/supplement-steampunk-cafe-2-langleterre-du-colossus-a-lamstrad/<br></a>La suite de l'Histoire et premiers transistors<br>00:34:04 : Eloge duclavier BEPO<br><a href="https://bepo.fr/wiki/Accueil" target="_blank" rel="noreferrer noopener">https://bepo.fr/wiki/Accueil<br></a>Klavaro : <a href="https://klavaro.sourceforge.io/fr/index.html" target="_blank" rel="noreferrer noopener">https://klavaro.sourceforge.io/fr/index.html</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>00:38:40 Open AI ne sera plus “open” et annonce GPT-4 (Jérôme)<br><a href="https://openai.com/research/gpt-4" target="_blank" rel="noreferrer noopener">https://openai.com/research/gpt-4<br></a><a href="https://www.theverge.com/2023/3/15/23640180/openai-gpt-4-launch-closed-research-ilya-sutskever-interview" target="_blank" rel="noreferrer noopener">https://www.theverge.com/2023/3/15/23640180/openai-gpt-4-launch-closed-research-ilya-sutskever-interview<br></a>- L'IA passe de l'ère de la recherche à l'ère du secret<br>- "Open" AI n'a jamais si mal porté son nom</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:44:34 : CopilotX<br><a href="https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/ (Emmanuel)" target="_blank" rel="noreferrer noopener">https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/ (Emmanuel)</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:49:21 : Comment fonctionnent les IA tels GPT-x<br><a href="https://www.joshwcomeau.com/blog/the-end-of-frontend-development/" target="_blank" rel="noreferrer noopener">https://www.joshwcomeau.com/blog/the-end-of-frontend-development/ </a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:57:56 : Demandes DMCA des dépôts basés sur le modèle LLaMA (Large Language Model Meta AI) par Meta<br>Lama-dl + forks<br><a href="https://twitter.com/theshawwn/status/1638925249709240322" target="_blank" rel="noreferrer noopener">https://twitter.com/theshawwn/status/1638925249709240322<br></a><a href="https://github.com/github/dmca/blob/master/2023/03/2023-03-21-meta.md" target="_blank" rel="noreferrer noopener">https://github.com/github/dmca/blob/master/2023/03/2023-03-21-meta.md<br></a><a href="https://twitter.com/Dorialexander/status/1638992849516544000?s=20" target="_blank" rel="noreferrer noopener">https://twitter.com/Dorialexander/status/1638992849516544000?s=20</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:00:29 : Vol de compte meta via une extension chrome qui surfe sur la vague chatgpt<br><a href="https://thehackernews.com/2023/03/fake-chatgpt-chrome-browser-extension.html" target="_blank" rel="noreferrer noopener">https://thehackernews.com/2023/03/fake-chatgpt-chrome-browser-extension.html</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:02:26 : Support en alpha des plugins dans chatgpt qui va améliorer son expérience produit <br><a href="https://openai.com/blog/chatgpt-plugins" target="_blank" rel="noreferrer noopener">https://openai.com/blog/chatgpt-plugins</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:04:00 : Codegenr, l’outil de la semaine<br><a href="https://github.com/eventuallyconsultant/codegenr" target="_blank" rel="noreferrer noopener">https://github.com/eventuallyconsultant/codegenr</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:11:56 : Musique de fin - Sound of science - Portal<br><a href="https://www.youtube.com/watch?v=l0xh4qopQpk" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=l0xh4qopQpk</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Si les dés en avait décidé autrement, il y aurait pu avoir :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Julien : <a href="https://www.youtube.com/watch?v=BtxTSXhZbOQ" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=BtxTSXhZbOQ</a> Ma’agalim, Idan Raichel</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Guillaume : <a href="https://www.youtube.com/watch?v=hVvx8cZcklQ" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=hVvx8cZcklQ</a> When You’re Around, Oliver Tree</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jérôme : <a href="https://www.youtube.com/watch?v=6AbssmQ7EPI&amp;list=PLD27AC29593FA45A7&amp;index=18" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=6AbssmQ7EPI&amp;list=PLD27AC29593FA45A7&amp;index=18</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>81 &#8211; Le père de Rust soigne sa BIOS pour draguer les CPU avec du C++</title>
		<link>https://www.clever.cloud/podcast/81-le-pere-de-rust-soigne-sa-bios-pour-draguer-les-cpu-avec-du-c/</link>
		
		<dc:creator><![CDATA[Quentin Adam]]></dc:creator>
		<pubDate>Wed, 22 Feb 2023 15:45:14 +0000</pubDate>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[iMessage]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Rust]]></category>
		<category><![CDATA[Servo]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?post_type=podcast&#038;p=7792</guid>

					<description><![CDATA[<p><img width="1920" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/01/81-1-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="81 1 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2023/01/81-1-1.jpg 1920w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-300x169.jpg 300w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-1024x576.jpg 1024w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-768x432.jpg 768w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-1536x864.jpg 1536w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-1368x770.jpg 1368w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p><!-- wp:gallery {"columns":4,"linkTo":"none"} -->
<figure class="wp-block-gallery has-nested-images columns-4 is-cropped"><!-- wp:image {"id":722,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2021/03/quentin-adam-447x447.jpg" alt="quentin_adam" class="wp-image-722"/><figcaption class="wp-element-caption">Quentin Adam</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":4966,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
<figure class="wp-block-image size-large is-style-default"><img src="https://cdn.clever-cloud.com/uploads/2022/01/steven-square-447x447.png" alt="Steven Le Roux" class="wp-image-4966"/><figcaption class="wp-element-caption">Steven Le Roux</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":705,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2021/03/arnaud-lefebvre-447x447.jpg" alt="quentin" class="wp-image-705"/><figcaption class="wp-element-caption">Arnaud Leferbvre</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":7791,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/01/nidalege.jpg" alt="Nida LÉGÉ" class="wp-image-7791"/><figcaption class="wp-element-caption">Nida Légé</figcaption></figure>
<!-- /wp:image --></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>Dans cet épisode de haute tenue, nos incroyables convives parlent de Debian, de Servo, de Rust, de CPU, de Cloud Hypervisor 29, d’un outil pour iMessage, de Docker, de BIOS et d’Oracle avant de finir immergé en musique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec la participation de <a href="https://twitter.com/waxzce" target="_blank" rel="noreferrer noopener">@waxzce</a>, <a href="https://twitter.com/gwinizdu" target="_blank" rel="noreferrer noopener">@gwinizdu</a>, <a href="https://twitter.com/blackyoup">@blackyoup</a> et <a href="https://twitter.com/_Nidouille_" target="_blank" rel="noreferrer noopener">@_nidouille_</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button {"fontSize":"small"} -->
<div class="wp-block-button has-custom-font-size has-small-font-size"><a class="wp-block-button__link wp-element-button" href="https://youtu.be/gjJX_ob8is0" target="_blank" rel="noreferrer noopener">Regarder sur Youtube</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p>👋  Venez discuter avec nous sur <a href="https://twitter.com/clever_cloudFR" target="_blank" rel="noreferrer noopener">@clever_cloudFR</a> pour nous dire ce que vous avez pensé de ce nouvel épisode.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>➡️  Pour découvrir ou réécouter d’anciens épisodes&nbsp;<a href="https://www.clever.cloud/fr/podcast/">c’est par ici</a>&nbsp;!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Timecode &amp; Liens</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>00:00:00 - Générique<br>00:00:16 - Intro et présentation des invités</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:01:332 - Debian 12</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/ponceto91/status/1616329686564454402">https://twitter.com/ponceto91/status/1616329686564454402</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:03:56 - Servo, père de Rust n’est pas mort</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://servo.org/blog/2023/01/16/servo-2023/">https://servo.org/blog/2023/01/16/servo-2023/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:10:42 - What happens when a CPU starts<br><a href="https://lateblt.tripod.com/bit68.txt" target="_blank" rel="noreferrer noopener">https://lateblt.tripod.com/bit68.txt</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:15:13 - Chromium supporte (enfin) Rust<br><a href="https://security.googleblog.com/2023/01/supporting-use-of-rust-in-chromium.html" target="_blank" rel="noreferrer noopener">https://security.googleblog.com/2023/01/supporting-use-of-rust-in-chromium.html</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:17:29 - Rust vs C++<br><a href="https://www.youtube.com/watch?v=VMpSYJ_7aYM" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=VMpSYJ_7aYM<br></a><a href="https://fasterthanli.me/" target="_blank" rel="noreferrer noopener">https://fasterthanli.me/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:21:57 - Rust concept i wish i learn earlier</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/waxzce/status/1616364663138140163">https://twitter.com/waxzce/status/1616364663138140163</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:23:27 - Cloud Hypervisor 29<br><a href="https://www.phoronix.com/news/Cloud-Hypervisor-29" target="_blank" rel="noreferrer noopener">https://www.phoronix.com/news/Cloud-Hypervisor-29</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:28:37 - iMessage exporter</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/waxzce/status/1615645927015948288">https://twitter.com/waxzce/status/1615645927015948288</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:30:44 - News Apple - Nouveau MacBook Pro M2 et M2 Pro</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.macrumors.com/2023/01/19/new-macs-and-homepod-recap/">https://www.macrumors.com/2023/01/19/new-macs-and-homepod-recap/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:33:38 - Docker for Mac</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/tobias_petry/status/1613837074356129792">https://twitter.com/tobias_petry/status/1613837074356129792</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:34:39 - Unbricking a BIOS-bricked motherboard<br><a href="https://davidesnotes.com/shorts/1/" target="_blank" rel="noreferrer noopener">https://davidesnotes.com/shorts/1/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:41:12 - Oracle on PG<br><a href="https://ivorysql.org/">https://ivorysql.org/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:42:06 - Rappel de comment fonctionne un query engine de DB<br><a href="https://howqueryengineswork.com/" target="_blank" rel="noreferrer noopener">https://howqueryengineswork.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:42:59 - La musique de l’épisode : The Little Rabbits - La piscine - Barclay</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"className":"wp-embed-aspect-4-3 wp-has-aspect-ratio"} -->
<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio"><a href="https://www.youtube.com/watch?v=FWZcIcgsgh4">https://www.youtube.com/watch?v=FWZcIcgsgh4</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.youtube.com/watch?v=FWZcIcgsgh4" target="_blank" rel="noreferrer noopener"><br></a>Ou bien :</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"className":"wp-embed-aspect-4-3 wp-has-aspect-ratio"} -->
<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio"><a href="https://www.dailymotion.com/video/x5ho3v7">https://www.dailymotion.com/video/x5ho3v7</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1920" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/01/81-1-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="81 1 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2023/01/81-1-1.jpg 1920w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-300x169.jpg 300w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-1024x576.jpg 1024w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-768x432.jpg 768w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-1536x864.jpg 1536w, https://cdn.clever-cloud.com/uploads/2023/01/81-1-1-1368x770.jpg 1368w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p><!-- wp:gallery {"columns":4,"linkTo":"none"} -->
<figure class="wp-block-gallery has-nested-images columns-4 is-cropped"><!-- wp:image {"id":722,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2021/03/quentin-adam-447x447.jpg" alt="quentin_adam" class="wp-image-722"/><figcaption class="wp-element-caption">Quentin Adam</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":4966,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
<figure class="wp-block-image size-large is-style-default"><img src="https://cdn.clever-cloud.com/uploads/2022/01/steven-square-447x447.png" alt="Steven Le Roux" class="wp-image-4966"/><figcaption class="wp-element-caption">Steven Le Roux</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":705,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2021/03/arnaud-lefebvre-447x447.jpg" alt="quentin" class="wp-image-705"/><figcaption class="wp-element-caption">Arnaud Leferbvre</figcaption></figure>
<!-- /wp:image -->

<!-- wp:image {"id":7791,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/01/nidalege.jpg" alt="Nida LÉGÉ" class="wp-image-7791"/><figcaption class="wp-element-caption">Nida Légé</figcaption></figure>
<!-- /wp:image --></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>Dans cet épisode de haute tenue, nos incroyables convives parlent de Debian, de Servo, de Rust, de CPU, de Cloud Hypervisor 29, d’un outil pour iMessage, de Docker, de BIOS et d’Oracle avant de finir immergé en musique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec la participation de <a href="https://twitter.com/waxzce" target="_blank" rel="noreferrer noopener">@waxzce</a>, <a href="https://twitter.com/gwinizdu" target="_blank" rel="noreferrer noopener">@gwinizdu</a>, <a href="https://twitter.com/blackyoup">@blackyoup</a> et <a href="https://twitter.com/_Nidouille_" target="_blank" rel="noreferrer noopener">@_nidouille_</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button {"fontSize":"small"} -->
<div class="wp-block-button has-custom-font-size has-small-font-size"><a class="wp-block-button__link wp-element-button" href="https://youtu.be/gjJX_ob8is0" target="_blank" rel="noreferrer noopener">Regarder sur Youtube</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p>👋  Venez discuter avec nous sur <a href="https://twitter.com/clever_cloudFR" target="_blank" rel="noreferrer noopener">@clever_cloudFR</a> pour nous dire ce que vous avez pensé de ce nouvel épisode.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>➡️  Pour découvrir ou réécouter d’anciens épisodes&nbsp;<a href="https://www.clever.cloud/fr/podcast/">c’est par ici</a>&nbsp;!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Timecode &amp; Liens</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>00:00:00 - Générique<br>00:00:16 - Intro et présentation des invités</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:01:332 - Debian 12</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/ponceto91/status/1616329686564454402">https://twitter.com/ponceto91/status/1616329686564454402</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:03:56 - Servo, père de Rust n’est pas mort</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://servo.org/blog/2023/01/16/servo-2023/">https://servo.org/blog/2023/01/16/servo-2023/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:10:42 - What happens when a CPU starts<br><a href="https://lateblt.tripod.com/bit68.txt" target="_blank" rel="noreferrer noopener">https://lateblt.tripod.com/bit68.txt</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:15:13 - Chromium supporte (enfin) Rust<br><a href="https://security.googleblog.com/2023/01/supporting-use-of-rust-in-chromium.html" target="_blank" rel="noreferrer noopener">https://security.googleblog.com/2023/01/supporting-use-of-rust-in-chromium.html</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:17:29 - Rust vs C++<br><a href="https://www.youtube.com/watch?v=VMpSYJ_7aYM" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=VMpSYJ_7aYM<br></a><a href="https://fasterthanli.me/" target="_blank" rel="noreferrer noopener">https://fasterthanli.me/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:21:57 - Rust concept i wish i learn earlier</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/waxzce/status/1616364663138140163">https://twitter.com/waxzce/status/1616364663138140163</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:23:27 - Cloud Hypervisor 29<br><a href="https://www.phoronix.com/news/Cloud-Hypervisor-29" target="_blank" rel="noreferrer noopener">https://www.phoronix.com/news/Cloud-Hypervisor-29</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:28:37 - iMessage exporter</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/waxzce/status/1615645927015948288">https://twitter.com/waxzce/status/1615645927015948288</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:30:44 - News Apple - Nouveau MacBook Pro M2 et M2 Pro</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.macrumors.com/2023/01/19/new-macs-and-homepod-recap/">https://www.macrumors.com/2023/01/19/new-macs-and-homepod-recap/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:33:38 - Docker for Mac</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/tobias_petry/status/1613837074356129792">https://twitter.com/tobias_petry/status/1613837074356129792</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:34:39 - Unbricking a BIOS-bricked motherboard<br><a href="https://davidesnotes.com/shorts/1/" target="_blank" rel="noreferrer noopener">https://davidesnotes.com/shorts/1/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:41:12 - Oracle on PG<br><a href="https://ivorysql.org/">https://ivorysql.org/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:42:06 - Rappel de comment fonctionne un query engine de DB<br><a href="https://howqueryengineswork.com/" target="_blank" rel="noreferrer noopener">https://howqueryengineswork.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:42:59 - La musique de l’épisode : The Little Rabbits - La piscine - Barclay</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"className":"wp-embed-aspect-4-3 wp-has-aspect-ratio"} -->
<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio"><a href="https://www.youtube.com/watch?v=FWZcIcgsgh4">https://www.youtube.com/watch?v=FWZcIcgsgh4</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.youtube.com/watch?v=FWZcIcgsgh4" target="_blank" rel="noreferrer noopener"><br></a>Ou bien :</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"className":"wp-embed-aspect-4-3 wp-has-aspect-ratio"} -->
<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio"><a href="https://www.dailymotion.com/video/x5ho3v7">https://www.dailymotion.com/video/x5ho3v7</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Docker Private Registry Now Available</title>
		<link>https://www.clever.cloud/blog/features/2018/09/11/docker-private-registry/</link>
		
		<dc:creator><![CDATA[Clément Nivolle]]></dc:creator>
		<pubDate>Tue, 11 Sep 2018 10:23:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[docker]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2018/09/11/docker-private-registry/</guid>

					<description><![CDATA[<p><img width="2100" height="810" src="https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="docker private registry 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1.jpg 2100w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-1536x592.jpg 1536w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-2048x790.jpg 2048w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-1368x528.jpg 1368w" sizes="auto, (max-width: 2100px) 100vw, 2100px" /></p><p>We&#39;re talking about Docker today! As you may know, Docker has a tremendous amount of images on their public registry. But sometimes you may need to pull images from a private Docker registry. Mostly because you can&#39;t always publicly publish the images. So, we&#39;ve added a few environement variables to allow you to fetch these images, let&#39;s see how to do it.</p>
<span id="more-2942"></span>

<p>In this note post we assume you already have your own Docker registry. If this isn&#39;t the case, you can <a href="https://docs.docker.com/registry/deploying/">see how to deploy a registry server here</a>.</p>
<p>So, pulling private images is done through the docker <code>build</code> command. To login to a private registry, you need to set a few environment variables:</p>
<ul>
<li><code>CC_DOCKER_LOGIN_USERNAME</code>: the username to use to login</li>
<li><code>CC_DOCKER_LOGIN_PASSWORD</code>: the password of your username</li>
<li><code>CC_DOCKER_LOGIN_SERVER</code> (optionnal): the server of your private registry. Defaults to Docker&#39;s public registry.</li>
</ul>
<p>This uses the docker login command under the hood.</p>
<h2 id="build-time-variables">Build-time variables</h2>
<p>You can use the ARG instruction to define build-time environment variables. Every environment variable defined for your application will be passed as a build environment variable using the <code>--build-arg=&lt;ENV&gt;</code> parameter during the docker build.</p>
<p><em>Source image: Vladimir Malyavko</em></p>
]]></description>
										<content:encoded><![CDATA[<p><img width="2100" height="810" src="https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="docker private registry 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1.jpg 2100w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-1536x592.jpg 1536w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-2048x790.jpg 2048w, https://cdn.clever-cloud.com/uploads/2021/08/docker-private-registry-1-1368x528.jpg 1368w" sizes="auto, (max-width: 2100px) 100vw, 2100px" /></p><p>We&#39;re talking about Docker today! As you may know, Docker has a tremendous amount of images on their public registry. But sometimes you may need to pull images from a private Docker registry. Mostly because you can&#39;t always publicly publish the images. So, we&#39;ve added a few environement variables to allow you to fetch these images, let&#39;s see how to do it.</p>
<span id="more-2942"></span>

<p>In this note post we assume you already have your own Docker registry. If this isn&#39;t the case, you can <a href="https://docs.docker.com/registry/deploying/">see how to deploy a registry server here</a>.</p>
<p>So, pulling private images is done through the docker <code>build</code> command. To login to a private registry, you need to set a few environment variables:</p>
<ul>
<li><code>CC_DOCKER_LOGIN_USERNAME</code>: the username to use to login</li>
<li><code>CC_DOCKER_LOGIN_PASSWORD</code>: the password of your username</li>
<li><code>CC_DOCKER_LOGIN_SERVER</code> (optionnal): the server of your private registry. Defaults to Docker&#39;s public registry.</li>
</ul>
<p>This uses the docker login command under the hood.</p>
<h2 id="build-time-variables">Build-time variables</h2>
<p>You can use the ARG instruction to define build-time environment variables. Every environment variable defined for your application will be passed as a build environment variable using the <code>--build-arg=&lt;ENV&gt;</code> parameter during the docker build.</p>
<p><em>Source image: Vladimir Malyavko</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>One Framework a Day keeps the Boredom Away: Docker</title>
		<link>https://www.clever.cloud/blog/features/2017/11/10/1fdba-docker/</link>
		
		<dc:creator><![CDATA[Laurent Doguin]]></dc:creator>
		<pubDate>Fri, 10 Nov 2017 17:15:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[1fdba]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[keycloak]]></category>
		<category><![CDATA[postgres]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2017/11/10/1fdba-docker/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="1fdba docker 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Welcome to this new edition of <a href="/blog/features/2017/10/09/1fdba-step0/">One Framework a Day keeps the Boredom Away</a>. In this series I will show you how to deploy a particular framework on Clever Cloud every day until I want to go back to boredom. Today it&#39;s about <a href="https://docker.com/">Docker</a>.</p>
<span id="more-2917"></span>

<p>If you want to tag along, make sure you have git, a Clever Cloud account and that you have installed our CLI <a href="https://github.com/CleverCloud/clever-tools">Clever-Tools</a>.</p>
<h2 id="what-is-docker">What is Docker?</h2>
<blockquote>
Docker is a software technology providing containers, promoted by the company Docker, Inc.
</blockquote>

<p>I am assuming everone know what it is so I won&#39;t go in further explanations. That being said, if you are familiar with Clever Cloud, you may know we have a reputation of not being big fans of Docker. Yet you can deploy Docker containers on Clever Cloud and we were actually one of the first cloud to offer it.</p>
<p>We do like Docker but as a public cloud we have to isolate each containers in a VM for proper isolation. We have to have an absolute position when it comes to security. Anyway, please let us know in the comments if you want us to talk more about our position on Docker and containers. We plan to do a lot more on that side, we just need a bit more time to release it to the public :)</p>
<p>So why talking about Docker today? Well it turns out some of our users asked us if it was possible to deploy <a href="http://keycloak.org/">Keycloak</a> on Clever Cloud. So I looked into it. There are various way to deploy it. The first way I wanted to use was to deploy it as a Wildfly overlay using their <code>.war</code>.</p>
<p>But sadly it&#39;s not recommended in production. You have to use their full wildfly distribution. So I could either download the whole thing each time I start the application, or deploy the Docker container they offer and support in Production. Which is what I have chosen.</p>
<h2 id="setup">Setup</h2>
<p>Keycloak Docker images are all available on Github. And has you need to provide a Dockerfile in your source code for us to build, I copied the official one for the HA/PosgreSQL configuration. I would have gladly forked the repo but it contains all their images. Not very 12 factors compliant sadly :( Anyway my git repository looks like this:</p>
<pre><code class="language-bash">[ldoguin@caolila keycloakClever]$ ls
Dockerfile
</code></pre>
<p>and the Dockerfile like this:</p>
<pre><code class="language-dockerfile">FROM jboss/keycloak-postgres:3.4.0.Final

CMD [&quot;-b&quot;, &quot;0.0.0.0&quot;, &quot;--server-config&quot;, &quot;standalone-ha.xml&quot;]
</code></pre>
<p>We don&#39;t have anything specific to add to this Dockerfile. It&#39;s very well configured and easy to use. We now need to create the Clever Cloud application and its associated database then setup the right environmment variables:</p>
<ul>
<li>Create our application: <code>clever create --type docker --plan M Keycloak</code></li>
<li>Create our Postgres add-on: <code>clever addon create postgresql-addon --plan dev --region eu KeycloakPG</code></li>
<li>Link this website to our FS Bucket addon: <code>clever service link-addon KeycloakPG</code></li>
<li>Setup the following environment variables:</li>
</ul>
<pre><code class="language-bash">clever env set ENABLE_METRICS true
clever env set PROXY_ADDRESS_FORWARDING true
clever env set KEYCLOAK_PASSWORD admin
clever env set KEYCLOAK_USER admin
clever env set JAVA_OPTS &quot;-Djgroups.bind_addr=127.0.0.1&quot;
clever env set POSTGRES_DATABASE `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_DB/ { print $2}&#39;
clever env set POSTGRES_PASSWORD `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_PASSWORD/ { print $2}&#39;
clever env set POSTGRES_PORT_5432_TCP_ADDR `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_HOST/ { print $2}&#39;
clever env set POSTGRES_PORT_5432_TCP_PORT `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_PORT/ { print $2}&#39;
clever env set POSTGRES_USER `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_USER/ { print $2}&#39;
</code></pre>
<p>Before starting the build, we need to configure two options in the Console. Tick the <em>Enable dedicated build instance</em> box because the Keycloak build needs more memory. Also tick the <em>Sticky sessions</em> box because it is necessary if you need to scale horizontally. To do that you have to go on the WebConsole, in your application, in the Information tab and tick the previously mentioned checkboxs.</p>
<img src="https://www2.cleverapps.io/app/uploads/2021/08/DockerConfiguration.png">

<p>You should now be ready to deploy :)</p>
<h2 id="deploy">Deploy</h2>
<p>Deploying with Clever Cloud is the easiest part. Simply run <code>clever deploy</code> and see the logs unfold before your eyes. Go ahead and test it by running <code>clever open</code>. Make sure you are using <em>https</em> while browsing the site. The default login and password are the one you set in the environment variable.</p>
<p>Now everything should work smoothly. What if you need to scale out your application? Let&#39;s say you want to have 2 keycloak instances. This can be configured like this:<code>clever scale --instances 2</code></p>
<p>If you are unsure of the traffic you will get, you can configure a minimum and a maximum of instaces like this: <code>clever scale --min-instances 2 --max-instances 5</code></p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="1fdba docker 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/1fdba-docker-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Welcome to this new edition of <a href="/blog/features/2017/10/09/1fdba-step0/">One Framework a Day keeps the Boredom Away</a>. In this series I will show you how to deploy a particular framework on Clever Cloud every day until I want to go back to boredom. Today it&#39;s about <a href="https://docker.com/">Docker</a>.</p>
<span id="more-2917"></span>

<p>If you want to tag along, make sure you have git, a Clever Cloud account and that you have installed our CLI <a href="https://github.com/CleverCloud/clever-tools">Clever-Tools</a>.</p>
<h2 id="what-is-docker">What is Docker?</h2>
<blockquote>
Docker is a software technology providing containers, promoted by the company Docker, Inc.
</blockquote>

<p>I am assuming everone know what it is so I won&#39;t go in further explanations. That being said, if you are familiar with Clever Cloud, you may know we have a reputation of not being big fans of Docker. Yet you can deploy Docker containers on Clever Cloud and we were actually one of the first cloud to offer it.</p>
<p>We do like Docker but as a public cloud we have to isolate each containers in a VM for proper isolation. We have to have an absolute position when it comes to security. Anyway, please let us know in the comments if you want us to talk more about our position on Docker and containers. We plan to do a lot more on that side, we just need a bit more time to release it to the public :)</p>
<p>So why talking about Docker today? Well it turns out some of our users asked us if it was possible to deploy <a href="http://keycloak.org/">Keycloak</a> on Clever Cloud. So I looked into it. There are various way to deploy it. The first way I wanted to use was to deploy it as a Wildfly overlay using their <code>.war</code>.</p>
<p>But sadly it&#39;s not recommended in production. You have to use their full wildfly distribution. So I could either download the whole thing each time I start the application, or deploy the Docker container they offer and support in Production. Which is what I have chosen.</p>
<h2 id="setup">Setup</h2>
<p>Keycloak Docker images are all available on Github. And has you need to provide a Dockerfile in your source code for us to build, I copied the official one for the HA/PosgreSQL configuration. I would have gladly forked the repo but it contains all their images. Not very 12 factors compliant sadly :( Anyway my git repository looks like this:</p>
<pre><code class="language-bash">[ldoguin@caolila keycloakClever]$ ls
Dockerfile
</code></pre>
<p>and the Dockerfile like this:</p>
<pre><code class="language-dockerfile">FROM jboss/keycloak-postgres:3.4.0.Final

CMD [&quot;-b&quot;, &quot;0.0.0.0&quot;, &quot;--server-config&quot;, &quot;standalone-ha.xml&quot;]
</code></pre>
<p>We don&#39;t have anything specific to add to this Dockerfile. It&#39;s very well configured and easy to use. We now need to create the Clever Cloud application and its associated database then setup the right environmment variables:</p>
<ul>
<li>Create our application: <code>clever create --type docker --plan M Keycloak</code></li>
<li>Create our Postgres add-on: <code>clever addon create postgresql-addon --plan dev --region eu KeycloakPG</code></li>
<li>Link this website to our FS Bucket addon: <code>clever service link-addon KeycloakPG</code></li>
<li>Setup the following environment variables:</li>
</ul>
<pre><code class="language-bash">clever env set ENABLE_METRICS true
clever env set PROXY_ADDRESS_FORWARDING true
clever env set KEYCLOAK_PASSWORD admin
clever env set KEYCLOAK_USER admin
clever env set JAVA_OPTS &quot;-Djgroups.bind_addr=127.0.0.1&quot;
clever env set POSTGRES_DATABASE `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_DB/ { print $2}&#39;
clever env set POSTGRES_PASSWORD `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_PASSWORD/ { print $2}&#39;
clever env set POSTGRES_PORT_5432_TCP_ADDR `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_HOST/ { print $2}&#39;
clever env set POSTGRES_PORT_5432_TCP_PORT `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_PORT/ { print $2}&#39;
clever env set POSTGRES_USER `clever env | awk  -F = &#39;/POSTGRESQL_ADDON_USER/ { print $2}&#39;
</code></pre>
<p>Before starting the build, we need to configure two options in the Console. Tick the <em>Enable dedicated build instance</em> box because the Keycloak build needs more memory. Also tick the <em>Sticky sessions</em> box because it is necessary if you need to scale horizontally. To do that you have to go on the WebConsole, in your application, in the Information tab and tick the previously mentioned checkboxs.</p>
<img src="https://www2.cleverapps.io/app/uploads/2021/08/DockerConfiguration.png">

<p>You should now be ready to deploy :)</p>
<h2 id="deploy">Deploy</h2>
<p>Deploying with Clever Cloud is the easiest part. Simply run <code>clever deploy</code> and see the logs unfold before your eyes. Go ahead and test it by running <code>clever open</code>. Make sure you are using <em>https</em> while browsing the site. The default login and password are the one you set in the environment variable.</p>
<p>Now everything should work smoothly. What if you need to scale out your application? Let&#39;s say you want to have 2 keycloak instances. This can be configured like this:<code>clever scale --instances 2</code></p>
<p>If you are unsure of the traffic you will get, you can configure a minimum and a maximum of instaces like this: <code>clever scale --min-instances 2 --max-instances 5</code></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Smalltalk in The Cloud</title>
		<link>https://www.clever.cloud/blog/guests/2015/01/05/smalltalk-in-the-cloud/</link>
		
		<dc:creator><![CDATA[Geoffroy Couprie]]></dc:creator>
		<pubDate>Mon, 05 Jan 2015 14:04:00 +0000</pubDate>
				<category><![CDATA[Guests]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[pharo]]></category>
		<category><![CDATA[seaside]]></category>
		<category><![CDATA[smalltalk]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2015/01/05/smalltalk-in-the-cloud/</guid>

					<description><![CDATA[<p><img width="1402" height="544" src="https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="smalltalkalpha" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha.png 1402w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-1024x397.png 1024w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-768x298.png 768w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-1368x531.png 1368w" sizes="auto, (max-width: 1402px) 100vw, 1402px" /></p><p><em><a href="https://twitter.com/gcouprie">Geoffroy Couprie</a> is a consultant in software security and a independant developer. After testing Clever Cloud for a while, he challenged himself trying to run Smalltalk on our PaaS. Here&#39;s the recap of his findings.</em></p>
<p>The Smalltalk world offers a radically different way to create and run software, and I have always loved to tinker with it. Thanks to the recent work around Docker at Clever Cloud, it is now possible to run Pharo Smalltalk apps, even Seaside ones, on this PaaS.</p>
<span id="more-2991"></span>

<h2 id="thinking-in-smalltalk">Thinking in Smalltalk</h2>
<p>One of the most interesting features of Smalltalk is the image, which is a file containing a list of serialized objects. When you start your virtual machine, you load the image. When you stop, you serialise everything: classes, methods, instances of classes, windows, even running web servers. And when you start, you get back your environment in the same state. Even writing code is different: you are not editing a file, you are editing the implementation of a method, serialised like everything else in the image. That way, you can modify code while it is running easily.</p>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/explorer.png" alt="Feeling at home in the Pharo world">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/explorer.png">
</a>

<p>The traditional method for deploying a web server consists in preparing the image with the code, and uploading the whole image on the server. This is at odds with deployment process at Clever Cloud, based on a simple Git push. So it requires a few steps.</p>
<h2 id="docker">Docker</h2>
<p>Thanks to the recent developments around Docker support, it is now possible to run any language or platform on these servers. So I prepared two images, one to <a href="https://registry.hub.docker.com/u/geal/archlinux-pharo-smalltalk/">install Pharo Smalltalk on an archlinux Docker container</a>, and the other, based on the first, to <a href="https://registry.hub.docker.com/u/geal/archlinux-seaside/">install the Seaside web framework</a>.</p>
<p>There is nothing tricky in the first image, except needing to install <code>lib32-zlib</code>, <code>lib32-ncurses</code> and <code>lib32-bzip2</code> to run the 32 bits VM on a 64 bits CPU.</p>
<p>The second image runs <a href="https://github.com/Geal/archlinux-pharo-image/blob/master/seaside/install-seaside.st">a .st file</a> to download Seaside, remove default Seaside apps and deactivate the debug bar:</p>
<pre><code class="language-smalltalk">Gofer new
url:&#39;http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main&#39;;
package: &#39;ConfigurationOfSeaside3&#39;;
load.
((Smalltalk at: #ConfigurationOfSeaside3) project version: #stable) load.

WAAdmin applicationDefaults removeParent: WADevelopmentConfiguration instance.
WADispatcher default handlers keys do:[:name | WAAdmin unregister:name].
Smalltalk snapshot: true andQuit: true.
</code></pre>
<p>Now, we have an image ready for  deployment, and usable for all the future Seaside projects.</p>
<h2 id="preparing-the-code-for-deployment">Preparing the code for deployment</h2>
<p>We could save the image in a git repository, and push the whole file to Clever Cloud, but that would be too easy. What if we could send just the required code through git? Here comes <a href="https://github.com/dalehenrich/filetree">FileTree</a>, a library pre-installed in Pharo, that you can use to export code from the image and add it to a Git repository.</p>
<p>First, let&#39;s get some code to deploy. I will spare you the details, just get the <a href="http://book.seaside.st/book/getting-started/pharo/first-component">WebCounter example from the Seaside book</a>, it is doable under 10 minutes.</p>
<p>Done? Alright. Choose a folder that will contain the code you will push to the server, and <code>git init</code> in that folder. Now open the Monticello browser, add a new repository, select &quot;filetree://&quot; then choose your git folder.</p>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/filetree.png" alt="FileTree">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/filetree.png">
</a>

<p>Now select your WebCounter package in the Monticello browser, and save the code.</p>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/monticello-save.png" alt="Monticello">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/monticello-save.png">
</a>

<p>It should now appear in file form in the git folder:</p>
<pre><code class="language-bash">$ tree .
.
└── WebCounter.package
    ├── WebCounter.class
    │   ├── README.md
    │   ├── instance
    │   │   ├── decrease.st
    │   │   ├── increase.st
    │   │   ├── initialize.st
    │   │   └── renderContentOn..st
    │   ├── methodProperties.json
    │   └── properties.json
    ├── monticello.meta
    │   ├── categories.st
    │   ├── initializers.st
    │   ├── package
    │   └── version
    └── properties.json
</code></pre>
<h2 id="loading-the-code">Loading the code</h2>
<p>Now that we have an export of the Seaside component, we will create a Docker image to load the code. First, we need a small script to give the virtual machine at startup, to load the code and run it:</p>
<pre><code class="language-smalltalk">&quot;this uses FileTree to load back the code from the /home/deploy folder&quot;
(MCFileTreeRepository new directory: &#39;/home/deploy&#39; asFileReference) packageDescriptionsFromReadableFileNames  do:
  [:name || version |
  version := (MCFileTreeRepository new directory: &#39;/home/deploy&#39; asFileReference) versionFromFileNamed: name first, &#39;.package&#39;.
  [version load ]
        on: MCMergeOrLoadWarning
        do: [ :ex | [ ex load  ] on: MCNoChangesException do: [] ] ].

FileStream stdout nextPutAll: &#39;WebCounter installed&#39;; lf.

&quot;the Clever Cloud platform expects the app to listen on the 8080 port&quot;
ZnZincServerAdaptor startOn: 8080.

&quot;Register the code we just loaded on the /webcounter address&quot;
WAAdmin register: WebCounter asApplicationAt: &#39;webcounter&#39;.
</code></pre>
<p>Save that code as seaside.st, then we will create the Dockerfile to make it work on the server:</p>
<pre><code class="language-apache"># -*- sh -*-
FROM geal/archlinux-seaside
MAINTAINER Geoffroy Couprie, contact@geoffroycouprie.com

ADD . /home/deploy

EXPOSE 8080

CMD ./pharo Pharo.image ./deploy/seaside.st
</code></pre>
<p>It reuses the archlinux-seaside image I prepared previously, copies the code from the repository in <code>/home/deploy</code>, then starts the image with the code loading script.</p>
<p>With this, you can build and run the image to test it:</p>
<pre><code class="language-bash">$ docker build -t &quot;geal/seaside-example&quot; .
$ docker run -t -i -p 8080:8080 geal/seaside-example /bin/bash
[root@8e726df1bf4e home]# ./pharo Pharo.image ./deploy/seaside.st

UndefinedObject&gt;&gt;DoIt (WebCounter is Undeclared)
WebCounter installed
</code></pre>
<p>If you are on Linux, the website will be available on <a href="http://localhost:8080/webcounter">http://localhost:8080/webcounter</a>. If you use OS X, run <code>boot2docker ip</code>, then access the server at <code>http://&lt;virtual machine IP&gt;:8080/webcounter</code>.</p>
<h1 id="creating-the-app-on-clever-cloud-and-deploying">Creating the app on Clever Cloud and deploying</h1>
<p>Go to <a href="https://console.clever-cloud.com">https://console.clever-cloud.com</a>, create a new application of type Docker, then get the git URL for your app, and do in your repository:</p>
<pre><code class="language-bash">$ git remote add clever git+ssh://git@push.par.clever-cloud.com/&lt;your app id&gt;.git
$ git push clever master
</code></pre>
<p>And that&#39;s it! You can now access the Seaside component at <code>http://&lt;your_app_id&gt;.cleverapps.io/webcounter</code>.</p>
<p>At each new version of the code, export it to Git then push again, and the platform will redeploy everything automatically, rebuilding the Docker containers and the Pharo images. Now, you just need to add a few components to store state, like a database or S3 component, and you are good to go!</p>
<p>All the code is available on Github if you need to play with it:</p>
<ul>
<li><a href="https://github.com/Geal/archlinux-pharo-image">Archlinux Docker images</a></li>
<li><a href="https://github.com/Geal/pharo-seaside-docker-example">WebCounter loaded with Docker</a>, also contains an example for a web application using the Zinc server directly</li>
<li>The example is currently running at <a href="http://pharo-seaside.cleverapps.io/webcounter">http://pharo-seaside.cleverapps.io/webcounter</a></li>
</ul>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/pharo.png" alt="Welcome to Pharo!">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/pharo.png">
</a>
]]></description>
										<content:encoded><![CDATA[<p><img width="1402" height="544" src="https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="smalltalkalpha" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha.png 1402w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-1024x397.png 1024w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-768x298.png 768w, https://cdn.clever-cloud.com/uploads/2021/08/smalltalkalpha-1368x531.png 1368w" sizes="auto, (max-width: 1402px) 100vw, 1402px" /></p><p><em><a href="https://twitter.com/gcouprie">Geoffroy Couprie</a> is a consultant in software security and a independant developer. After testing Clever Cloud for a while, he challenged himself trying to run Smalltalk on our PaaS. Here&#39;s the recap of his findings.</em></p>
<p>The Smalltalk world offers a radically different way to create and run software, and I have always loved to tinker with it. Thanks to the recent work around Docker at Clever Cloud, it is now possible to run Pharo Smalltalk apps, even Seaside ones, on this PaaS.</p>
<span id="more-2991"></span>

<h2 id="thinking-in-smalltalk">Thinking in Smalltalk</h2>
<p>One of the most interesting features of Smalltalk is the image, which is a file containing a list of serialized objects. When you start your virtual machine, you load the image. When you stop, you serialise everything: classes, methods, instances of classes, windows, even running web servers. And when you start, you get back your environment in the same state. Even writing code is different: you are not editing a file, you are editing the implementation of a method, serialised like everything else in the image. That way, you can modify code while it is running easily.</p>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/explorer.png" alt="Feeling at home in the Pharo world">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/explorer.png">
</a>

<p>The traditional method for deploying a web server consists in preparing the image with the code, and uploading the whole image on the server. This is at odds with deployment process at Clever Cloud, based on a simple Git push. So it requires a few steps.</p>
<h2 id="docker">Docker</h2>
<p>Thanks to the recent developments around Docker support, it is now possible to run any language or platform on these servers. So I prepared two images, one to <a href="https://registry.hub.docker.com/u/geal/archlinux-pharo-smalltalk/">install Pharo Smalltalk on an archlinux Docker container</a>, and the other, based on the first, to <a href="https://registry.hub.docker.com/u/geal/archlinux-seaside/">install the Seaside web framework</a>.</p>
<p>There is nothing tricky in the first image, except needing to install <code>lib32-zlib</code>, <code>lib32-ncurses</code> and <code>lib32-bzip2</code> to run the 32 bits VM on a 64 bits CPU.</p>
<p>The second image runs <a href="https://github.com/Geal/archlinux-pharo-image/blob/master/seaside/install-seaside.st">a .st file</a> to download Seaside, remove default Seaside apps and deactivate the debug bar:</p>
<pre><code class="language-smalltalk">Gofer new
url:&#39;http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main&#39;;
package: &#39;ConfigurationOfSeaside3&#39;;
load.
((Smalltalk at: #ConfigurationOfSeaside3) project version: #stable) load.

WAAdmin applicationDefaults removeParent: WADevelopmentConfiguration instance.
WADispatcher default handlers keys do:[:name | WAAdmin unregister:name].
Smalltalk snapshot: true andQuit: true.
</code></pre>
<p>Now, we have an image ready for  deployment, and usable for all the future Seaside projects.</p>
<h2 id="preparing-the-code-for-deployment">Preparing the code for deployment</h2>
<p>We could save the image in a git repository, and push the whole file to Clever Cloud, but that would be too easy. What if we could send just the required code through git? Here comes <a href="https://github.com/dalehenrich/filetree">FileTree</a>, a library pre-installed in Pharo, that you can use to export code from the image and add it to a Git repository.</p>
<p>First, let&#39;s get some code to deploy. I will spare you the details, just get the <a href="http://book.seaside.st/book/getting-started/pharo/first-component">WebCounter example from the Seaside book</a>, it is doable under 10 minutes.</p>
<p>Done? Alright. Choose a folder that will contain the code you will push to the server, and <code>git init</code> in that folder. Now open the Monticello browser, add a new repository, select &quot;filetree://&quot; then choose your git folder.</p>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/filetree.png" alt="FileTree">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/filetree.png">
</a>

<p>Now select your WebCounter package in the Monticello browser, and save the code.</p>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/monticello-save.png" alt="Monticello">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/monticello-save.png">
</a>

<p>It should now appear in file form in the git folder:</p>
<pre><code class="language-bash">$ tree .
.
└── WebCounter.package
    ├── WebCounter.class
    │   ├── README.md
    │   ├── instance
    │   │   ├── decrease.st
    │   │   ├── increase.st
    │   │   ├── initialize.st
    │   │   └── renderContentOn..st
    │   ├── methodProperties.json
    │   └── properties.json
    ├── monticello.meta
    │   ├── categories.st
    │   ├── initializers.st
    │   ├── package
    │   └── version
    └── properties.json
</code></pre>
<h2 id="loading-the-code">Loading the code</h2>
<p>Now that we have an export of the Seaside component, we will create a Docker image to load the code. First, we need a small script to give the virtual machine at startup, to load the code and run it:</p>
<pre><code class="language-smalltalk">&quot;this uses FileTree to load back the code from the /home/deploy folder&quot;
(MCFileTreeRepository new directory: &#39;/home/deploy&#39; asFileReference) packageDescriptionsFromReadableFileNames  do:
  [:name || version |
  version := (MCFileTreeRepository new directory: &#39;/home/deploy&#39; asFileReference) versionFromFileNamed: name first, &#39;.package&#39;.
  [version load ]
        on: MCMergeOrLoadWarning
        do: [ :ex | [ ex load  ] on: MCNoChangesException do: [] ] ].

FileStream stdout nextPutAll: &#39;WebCounter installed&#39;; lf.

&quot;the Clever Cloud platform expects the app to listen on the 8080 port&quot;
ZnZincServerAdaptor startOn: 8080.

&quot;Register the code we just loaded on the /webcounter address&quot;
WAAdmin register: WebCounter asApplicationAt: &#39;webcounter&#39;.
</code></pre>
<p>Save that code as seaside.st, then we will create the Dockerfile to make it work on the server:</p>
<pre><code class="language-apache"># -*- sh -*-
FROM geal/archlinux-seaside
MAINTAINER Geoffroy Couprie, contact@geoffroycouprie.com

ADD . /home/deploy

EXPOSE 8080

CMD ./pharo Pharo.image ./deploy/seaside.st
</code></pre>
<p>It reuses the archlinux-seaside image I prepared previously, copies the code from the repository in <code>/home/deploy</code>, then starts the image with the code loading script.</p>
<p>With this, you can build and run the image to test it:</p>
<pre><code class="language-bash">$ docker build -t &quot;geal/seaside-example&quot; .
$ docker run -t -i -p 8080:8080 geal/seaside-example /bin/bash
[root@8e726df1bf4e home]# ./pharo Pharo.image ./deploy/seaside.st

UndefinedObject&gt;&gt;DoIt (WebCounter is Undeclared)
WebCounter installed
</code></pre>
<p>If you are on Linux, the website will be available on <a href="http://localhost:8080/webcounter">http://localhost:8080/webcounter</a>. If you use OS X, run <code>boot2docker ip</code>, then access the server at <code>http://&lt;virtual machine IP&gt;:8080/webcounter</code>.</p>
<h1 id="creating-the-app-on-clever-cloud-and-deploying">Creating the app on Clever Cloud and deploying</h1>
<p>Go to <a href="https://console.clever-cloud.com">https://console.clever-cloud.com</a>, create a new application of type Docker, then get the git URL for your app, and do in your repository:</p>
<pre><code class="language-bash">$ git remote add clever git+ssh://git@push.par.clever-cloud.com/&lt;your app id&gt;.git
$ git push clever master
</code></pre>
<p>And that&#39;s it! You can now access the Seaside component at <code>http://&lt;your_app_id&gt;.cleverapps.io/webcounter</code>.</p>
<p>At each new version of the code, export it to Git then push again, and the platform will redeploy everything automatically, rebuilding the Docker containers and the Pharo images. Now, you just need to add a few components to store state, like a database or S3 component, and you are good to go!</p>
<p>All the code is available on Github if you need to play with it:</p>
<ul>
<li><a href="https://github.com/Geal/archlinux-pharo-image">Archlinux Docker images</a></li>
<li><a href="https://github.com/Geal/pharo-seaside-docker-example">WebCounter loaded with Docker</a>, also contains an example for a web application using the Zinc server directly</li>
<li>The example is currently running at <a href="http://pharo-seaside.cleverapps.io/webcounter">http://pharo-seaside.cleverapps.io/webcounter</a></li>
</ul>
<a class="image-popup-no-margins" href="https://www2.cleverapps.io/app/uploads/2021/08/pharo.png" alt="Welcome to Pharo!">
  <img src="https://www2.cleverapps.io/app/uploads/2021/08/pharo.png">
</a>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Docker Support Done Right</title>
		<link>https://www.clever.cloud/blog/features/2014/12/17/releasing-docker/</link>
		
		<dc:creator><![CDATA[Clément Nivolle]]></dc:creator>
		<pubDate>Wed, 17 Dec 2014 10:04:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[release]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2014/12/17/releasing-docker/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/dockersupport.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="dockersupport" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/dockersupport.png 1400w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-768x296.png 768w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p>We believe in simplicity. We’re on a mission to make the deployment and the application developement easier and safer. That's why months ago, we started to work on Docker support, hand in hand with Docker Inc, to allow “Dockerized” apps on Clever Cloud.

Deploying Docker apps on Clever Cloud is as easy as deploying a regular app: just add a Dockerfile and git push.

<span id="more-2856"></span>
<h3 id="why-docker-support-is-important-for-clever-cloud-users">Why docker support is important for Clever Cloud users?</h3>
We support a lot of languages. But some of our users have specific needs for their applications. Now they can build customs stacks without a specific support on Clever Cloud, thanks to the 13,000+ images available on Docker Hub.

While the PaaS way of deploying apps is awesome for standardised applications, it can become a hurdle when having to deal with customized stacks (I'm looking at you, Haskell). Docker fills the gap between PaaS and IaaS by letting Clever Cloud users manage their software stack while taking advantage of most of Clever Cloud features: push to deploy, autoscalability and zero downtime updates.
<h3 id="has-docker-become-clever-clouds-tech-core">Has Docker become Clever Cloud's tech core?</h3>
Nope. Docker comes in addition to the other runtimes we are already providing.
<h3 id="how-does-it-work">How does it work?</h3>
Basically, Docker provides tools and standards to manage containers. We're fond of it at Clever Cloud, because it brings a simplicity in management through a solid standard.
<h4 id="security">Security</h4>
Containers bring simplicity at the expense of some isolation: the kernel is shared, network has to be handled more carefully, and so on. While it's a perfectly acceptable tradeoff for architectures where all the applications are trusted, as a hosting company we can't make it.

Clever Cloud runs untrusted third party code (your code) and containers don't offer the level of isolation needed for that, that's why every dockerized app runs in its own Virtual Machine.

The best news is that it's not at the expense of performance.
<h4 id="performances">Performances</h4>
<blockquote>Virtual Machines you said? No chance, you'll get no perfs from it, Monsieur.</blockquote>
At Clever Cloud, we handle all the stack, especially the virtualization. First of all, our VMs are based on KVM and Virtio. These technologies allow for a very reduced overhead both on CPU (through specific instructions designed for virtualization), and on networking through Virtio's direct networking access.

In addition to that, since the network isolation is handled by the VM, we can run Docker networking in <em>host mode</em>. By default Docker runs in bridge mode, where all the network interactions happen behind a NAT layer, which has a performance cost.

Finally, both the hypervisors and the guests run finely-tuned, bare-metal OSes, with only what's needed, and nothing more.

All in all, new VMs are up and running in a few seconds' time, and offer excellent runtime performance.
<h3 id="how-to-get-started">How to get started?</h3>
Head up to the <a href="https://www.clever.cloud/developers/doc/applications/docker/">doc</a>, your first dockerised application on Clever Cloud is one Dockerfile away. If you want to test it right now, you can fork and deploy to Clever Cloud a <a href="https://github.com/HT-Nantes-Docker/hello">small hello world demo</a> we made for the last Human Talks event we've made.]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/dockersupport.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="dockersupport" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/dockersupport.png 1400w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-768x296.png 768w, https://cdn.clever-cloud.com/uploads/2021/08/dockersupport-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p>We believe in simplicity. We’re on a mission to make the deployment and the application developement easier and safer. That's why months ago, we started to work on Docker support, hand in hand with Docker Inc, to allow “Dockerized” apps on Clever Cloud.

Deploying Docker apps on Clever Cloud is as easy as deploying a regular app: just add a Dockerfile and git push.

<span id="more-2856"></span>
<h3 id="why-docker-support-is-important-for-clever-cloud-users">Why docker support is important for Clever Cloud users?</h3>
We support a lot of languages. But some of our users have specific needs for their applications. Now they can build customs stacks without a specific support on Clever Cloud, thanks to the 13,000+ images available on Docker Hub.

While the PaaS way of deploying apps is awesome for standardised applications, it can become a hurdle when having to deal with customized stacks (I'm looking at you, Haskell). Docker fills the gap between PaaS and IaaS by letting Clever Cloud users manage their software stack while taking advantage of most of Clever Cloud features: push to deploy, autoscalability and zero downtime updates.
<h3 id="has-docker-become-clever-clouds-tech-core">Has Docker become Clever Cloud's tech core?</h3>
Nope. Docker comes in addition to the other runtimes we are already providing.
<h3 id="how-does-it-work">How does it work?</h3>
Basically, Docker provides tools and standards to manage containers. We're fond of it at Clever Cloud, because it brings a simplicity in management through a solid standard.
<h4 id="security">Security</h4>
Containers bring simplicity at the expense of some isolation: the kernel is shared, network has to be handled more carefully, and so on. While it's a perfectly acceptable tradeoff for architectures where all the applications are trusted, as a hosting company we can't make it.

Clever Cloud runs untrusted third party code (your code) and containers don't offer the level of isolation needed for that, that's why every dockerized app runs in its own Virtual Machine.

The best news is that it's not at the expense of performance.
<h4 id="performances">Performances</h4>
<blockquote>Virtual Machines you said? No chance, you'll get no perfs from it, Monsieur.</blockquote>
At Clever Cloud, we handle all the stack, especially the virtualization. First of all, our VMs are based on KVM and Virtio. These technologies allow for a very reduced overhead both on CPU (through specific instructions designed for virtualization), and on networking through Virtio's direct networking access.

In addition to that, since the network isolation is handled by the VM, we can run Docker networking in <em>host mode</em>. By default Docker runs in bridge mode, where all the network interactions happen behind a NAT layer, which has a performance cost.

Finally, both the hypervisors and the guests run finely-tuned, bare-metal OSes, with only what's needed, and nothing more.

All in all, new VMs are up and running in a few seconds' time, and offer excellent runtime performance.
<h3 id="how-to-get-started">How to get started?</h3>
Head up to the <a href="https://www.clever.cloud/developers/doc/applications/docker/">doc</a>, your first dockerised application on Clever Cloud is one Dockerfile away. If you want to test it right now, you can fork and deploy to Clever Cloud a <a href="https://github.com/HT-Nantes-Docker/hello">small hello world demo</a> we made for the last Human Talks event we've made.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
