<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Architecture on Simple Enough Blog</title><link>https://blog-dev.simpleenough.net/fr/tags/architecture/</link><description>Recent content in Architecture on Simple Enough Blog</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Thu, 05 Mar 2026 17:52:00 +0100</lastBuildDate><atom:link href="https://blog-dev.simpleenough.net/fr/tags/architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Comment créer un groupe de sécurité autorisant uniquement le trafic provenant de CloudFront ?</title><link>https://blog-dev.simpleenough.net/fr/blog/gs_cloudfront/</link><pubDate>Thu, 05 Mar 2026 17:52:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/gs_cloudfront/</guid><description>&lt;h1 id="comment-créer-un-groupe-de-sécurité-autorisant-uniquement-le-trafic-provenant-de-cloudfront-" class="heading">Comment créer un groupe de sécurité autorisant uniquement le trafic provenant de CloudFront ?&lt;a href="#comment-cr%c3%a9er-un-groupe-de-s%c3%a9curit%c3%a9-autorisant-uniquement-le-trafic-provenant-de-cloudfront-" aria-labelledby="comment-créer-un-groupe-de-sécurité-autorisant-uniquement-le-trafic-provenant-de-cloudfront-">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h1>




&lt;h2 id="pourquoi-cette-question-revient-toujours" class="heading">Pourquoi cette question revient toujours&lt;a href="#pourquoi-cette-question-revient-toujours" aria-labelledby="pourquoi-cette-question-revient-toujours">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Dans l’univers AWS, certaines questions reviennent avec une régularité frappante.&lt;br>
Non pas parce qu’elles sont mal formulées, mais parce qu’elles mettent le doigt sur une &lt;strong>tension réelle entre sécurité, réseau et architecture applicative&lt;/strong>.&lt;/p></description></item><item><title>ADR (Architecture Decision Record) : documenter des décisions utiles</title><link>https://blog-dev.simpleenough.net/fr/blog/adr/</link><pubDate>Mon, 23 Feb 2026 11:00:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/adr/</guid><description>&lt;p>Les équipes techniques passent beaucoup de temps à discuter, arbitrer, choisir… puis à oublier &lt;em>pourquoi&lt;/em> elles ont choisi certaines décisions.&lt;br>
Le résultat est connu :&lt;/p>
&lt;ul>
&lt;li>les mêmes débats reviennent tous les 3 mois,&lt;/li>
&lt;li>on re-questionne des décisions sans le contexte de l’époque,&lt;/li>
&lt;li>l’onboarding dépend de “ceux qui savent”,&lt;/li>
&lt;li>et des migrations inutiles naissent d’une simple perte de mémoire.&lt;/li>
&lt;/ul>
&lt;p>Un &lt;strong>ADR (Architecture Decision Record)&lt;/strong> sert à éviter cela. Ce n’est pas une “grosse doc d’architecture”, ni un cahier des charges : c’est une &lt;strong>note courte&lt;/strong> qui capture une décision importante, avec le minimum de contexte pour qu’elle reste compréhensible et réutilisable.&lt;/p></description></item><item><title>AWS multi-accounts : solution d’architecture ou dette organisationnelle déguisée ?</title><link>https://blog-dev.simpleenough.net/fr/blog/multiaccounts_aws/</link><pubDate>Wed, 18 Feb 2026 17:30:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/multiaccounts_aws/</guid><description>&lt;h2 id="i-introduction" class="heading">I. Introduction&lt;a href="#i-introduction" aria-labelledby="i-introduction">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>La création de multiples comptes AWS est aujourd’hui présentée comme une &lt;strong>bonne pratique quasi universelle&lt;/strong>.&lt;br>
Elle est souvent introduite par des tutoriels simples, orientés console, qui donnent l’impression que le problème se résume à une série de clics.&lt;/p>
&lt;p>Cette vision est trompeuse.&lt;/p>
&lt;p>Le &lt;strong>multi-account&lt;/strong> n’est pas un détail d’implémentation, mais un &lt;strong>choix architectural fondamental&lt;/strong>.&lt;br>
Il influence directement :&lt;/p></description></item><item><title>Entrer dans le cloud : les portes de l’enfer</title><link>https://blog-dev.simpleenough.net/fr/blog/hell/</link><pubDate>Wed, 04 Feb 2026 09:10:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/hell/</guid><description>&lt;p>Entrer dans le cloud est rarement vécu comme un simple changement
d’infrastructure.&lt;br>
Pour beaucoup d’organisations, c’est une rupture brutale, presque violente,
avec leurs habitudes, leurs outils et leurs modèles mentaux.&lt;/p>
&lt;p>Ce qui devait apporter de la simplicité révèle au contraire une complexité
jusqu’alors masquée.&lt;br>
Et cette complexité n’est pas seulement technique.&lt;/p>
&lt;hr>




&lt;h2 id="i-lappel-du-cloud" class="heading">I. L’appel du cloud&lt;a href="#i-lappel-du-cloud" aria-labelledby="i-lappel-du-cloud">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Le cloud commence toujours par une promesse séduisante.&lt;/p></description></item><item><title>La latence : comprendre, percevoir et maîtriser un délai invisible</title><link>https://blog-dev.simpleenough.net/fr/blog/latency/</link><pubDate>Wed, 28 Jan 2026 09:00:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/latency/</guid><description>&lt;p>La latence est l’un de ces termes omniprésents en informatique, souvent invoqué pour expliquer un ressenti négatif — &lt;em>« ça lag »&lt;/em>, &lt;em>« c’est lent »&lt;/em> — sans que sa signification réelle soit clairement comprise.&lt;br>
Pourtant, la latence n’est ni un bug, ni un simple problème de performance : c’est une &lt;strong>contrainte structurelle&lt;/strong> des systèmes informatiques modernes.&lt;/p>
&lt;p>Cet article propose une vision complète de la latence :&lt;/p>
&lt;ul>
&lt;li>ce qu’elle est d’un &lt;strong>point de vue général&lt;/strong>,&lt;/li>
&lt;li>sa &lt;strong>définition technique&lt;/strong>,&lt;/li>
&lt;li>la manière dont elle est &lt;strong>perçue par les utilisateurs&lt;/strong>,&lt;/li>
&lt;li>les &lt;strong>compromis&lt;/strong> qu’elle impose,&lt;/li>
&lt;li>et surtout, &lt;strong>comment la maîtriser architecturalement&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;hr>




&lt;h2 id="i-quest-ce-que-la-latence-" class="heading">I. Qu’est-ce que la latence ?&lt;a href="#i-quest-ce-que-la-latence-" aria-labelledby="i-quest-ce-que-la-latence-">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>




&lt;h3 id="1-définition-générale" class="heading">1. Définition générale&lt;a href="#1-d%c3%a9finition-g%c3%a9n%c3%a9rale" aria-labelledby="1-définition-générale">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h3>
&lt;p>Dans son sens le plus simple, la &lt;strong>latence&lt;/strong> désigne le &lt;strong>temps d’attente entre une action et la première réaction du système&lt;/strong>.&lt;/p></description></item><item><title>Test-Driven Infrastructure : appliquer le TDD à l’Infrastructure as Code</title><link>https://blog-dev.simpleenough.net/fr/blog/infratdd/</link><pubDate>Wed, 14 Jan 2026 13:45:30 +0200</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/infratdd/</guid><description>&lt;h1 id="test-driven-infrastructure" class="heading">Test-Driven Infrastructure&lt;a href="#test-driven-infrastructure" aria-labelledby="test-driven-infrastructure">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h1>




&lt;h2 id="appliquer-le-tdd-à-linfrastructure-as-code" class="heading">Appliquer le TDD à l’Infrastructure as Code&lt;a href="#appliquer-le-tdd-%c3%a0-linfrastructure-as-code" aria-labelledby="appliquer-le-tdd-à-linfrastructure-as-code">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Le &lt;strong>Test-Driven Development (TDD)&lt;/strong> est aujourd’hui bien installé côté applicatif.&lt;br>
En revanche, lorsqu’il s’agit d’&lt;strong>infrastructure&lt;/strong>, beaucoup considèrent encore que le TDD est inutile, trop complexe ou inadapté.&lt;/p>
&lt;p>C’est une erreur.&lt;/p>
&lt;p>Le &lt;strong>TDD appliqué à l’infrastructure&lt;/strong> existe déjà, souvent sans être nommé. Lorsqu’il est bien compris, il devient un levier majeur pour &lt;strong>sécuriser, structurer et faire évoluer une plateforme cloud&lt;/strong>.&lt;/p></description></item><item><title>« Ça rame », « ça lag », « ça bug » : mais au final qu'est ce que ça veut vraiement dire ?</title><link>https://blog-dev.simpleenough.net/fr/blog/cabug/</link><pubDate>Tue, 30 Dec 2025 10:00:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/cabug/</guid><description>&lt;h2 id="introduction" class="heading">Introduction&lt;a href="#introduction" aria-labelledby="introduction">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Dans une famille, au travail ou dans une équipe technique, il arrive souvent d’entendre : &lt;strong>« ça rame »&lt;/strong>, &lt;strong>« ça lag »&lt;/strong> ou &lt;strong>« ça bug »&lt;/strong>. Ces expressions sont utilisées de manière interchangeable… &lt;strong>à tort&lt;/strong>. Elles mélangent des problèmes qui n’ont en réalité rien à voir les uns avec les autres.&lt;/p>
&lt;p>Comprendre la différence entre ces trois situations permet de &lt;strong>mieux expliquer ce qui se passe&lt;/strong>, de &lt;strong>réagir plus vite&lt;/strong> et surtout d’&lt;strong>éviter de mauvaises solutions&lt;/strong>. Un problème de lenteur ne se règle pas comme un bug, et un bug ne disparaît jamais simplement parce qu’on a rendu la machine plus puissante.&lt;/p></description></item><item><title>Utiliser les constantes en TDD avec Go</title><link>https://blog-dev.simpleenough.net/fr/blog/consttdd/</link><pubDate>Tue, 23 Dec 2025 10:08:49 +0200</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/consttdd/</guid><description>&lt;h2 id="bonnes-pratiques-pièges-et-signaux-de-design" class="heading">Bonnes pratiques, pièges et signaux de design&lt;a href="#bonnes-pratiques-pi%c3%a8ges-et-signaux-de-design" aria-labelledby="bonnes-pratiques-pièges-et-signaux-de-design">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Le &lt;strong>Test-Driven Development (TDD)&lt;/strong> ne sert pas uniquement à écrire des tests.&lt;br>
Il sert avant tout à &lt;strong>concevoir du logiciel&lt;/strong>.&lt;/p>
&lt;p>En Go, l’usage des &lt;strong>constantes&lt;/strong> est souvent mal compris en TDD :&lt;/p>
&lt;ul>
&lt;li>faut-il les exposer ?&lt;/li>
&lt;li>les tester ?&lt;/li>
&lt;li>les injecter ?&lt;/li>
&lt;li>les éviter ?&lt;/li>
&lt;/ul>
&lt;p>Cet article propose une approche &lt;strong>pragmatique et idiomatique Go&lt;/strong>, issue de l’expérience terrain, pour comprendre &lt;strong>quand une constante est un bon design&lt;/strong>… et &lt;strong>quand elle cache un problème&lt;/strong>.&lt;/p></description></item><item><title>Interfaces, Fonctions et Modules en Go : Structurer son code pour le TDD sans le complexifier</title><link>https://blog-dev.simpleenough.net/fr/blog/go-tdd-interfaces-functions/</link><pubDate>Mon, 15 Dec 2025 10:08:49 +0200</pubDate><guid>https://blog-dev.simpleenough.net/fr/blog/go-tdd-interfaces-functions/</guid><description>&lt;h2 id="i-introduction" class="heading">I. Introduction&lt;a href="#i-introduction" aria-labelledby="i-introduction">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Go est un langage minimaliste, mais cette simplicité peut donner l’impression qu’il “manque quelque chose” lorsqu’on aborde des architectures plus poussées, du Test-Driven Development ou la nécessité de mocker certaines dépendances. Très vite, les développeurs venant de Java, C# ou Python se posent les mêmes questions :&lt;/p>
&lt;ul>
&lt;li>&lt;em>Dois-je transformer toutes mes fonctions en structs + interfaces pour tester ?&lt;/em>&lt;/li>
&lt;li>&lt;em>Comment organiser mes packages pour qu’ils soient modulaires et testables ?&lt;/em>&lt;/li>
&lt;li>&lt;em>Où placer les interfaces ? Chez le fournisseur ou chez le consommateur ?&lt;/em>&lt;/li>
&lt;li>&lt;em>Comment isoler un package qui expose uniquement des fonctions ?&lt;/em>&lt;/li>
&lt;li>&lt;em>Comment détecter automatiquement un changement de signature ?&lt;/em>&lt;/li>
&lt;/ul>
&lt;hr>




&lt;h2 id="ii-le-modèle-go--simple-modulaire-mais-différent" class="heading">II. Le modèle Go : simple, modulaire, mais différent&lt;a href="#ii-le-mod%c3%a8le-go--simple-modulaire-mais-diff%c3%a9rent" aria-labelledby="ii-le-modèle-go--simple-modulaire-mais-différent">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>Contrairement à Java ou C#, Go ne repose pas sur l’héritage, les classes ou les gros frameworks d’injection de dépendances.&lt;/p></description></item></channel></rss>