~//guides
Guides
Long-form, practical guides for every technology on the roadmap. Pick a topic and go deep, or follow the roadmap in order.
120 guides
Internet & How it Works
Comment fonctionne Internet
Internet est un réseau de réseaux qui déplace des paquets entre ordinateurs. Comprendre les clients, les serveurs, l'IP et le cycle requête/réponse rend le web beaucoup moins mystérieux.
15 min readHTTP & HTTPS
HTTP est le protocole du web. Les méthodes, les codes de statut, les headers et la mise en cache constituent le vocabulaire sur lequel repose chaque API et chaque chargement de page.
16 min readDNS & Domaines
Le DNS est l'annuaire d'internet. Il convertit des noms lisibles comme example.com en adresses IP utilisées par les machines, et quelques types d'enregistrements couvrent presque toutes les configurations.
13 min readNavigateurs & Rendu
Un navigateur transforme le HTML, le CSS et le JavaScript en pixels. Comprendre l'analyse syntaxique, le DOM, le chemin de rendu critique et les reflows rend l'optimisation des performances beaucoup moins mystérieuse.
15 min readHTML
HTML
HTML est le langage de balisage qui donne à chaque page web sa structure et sa signification. Voici ce que c'est, comment cela fonctionne et comment commencer à l'utiliser dès aujourd'hui.
14 min readHTML Sémantique
L'HTML sémantique utilise des éléments qui décrivent leur signification. Cela rend les pages accessibles, indexables et plus faciles à maintenir, sans coût supplémentaire.
14 min readFormulaires & Validation
Les formulaires sont le moyen pour les utilisateurs d'envoyer des données à votre application. Les labels, les types d'entrées appropriés et la validation native font l'essentiel du travail avant même d'écrire du JavaScript.
14 min readAccessibilité (a11y)
L'accessibilité n'est pas une option. Le balisage sémantique, le support clavier et un contraste clair rendent votre site utilisable par tous et l'améliorent pour chaque utilisateur.
15 min readLes bases du SEO
Les moteurs de recherche explorent les pages, les analysent et les classent. Des fondations techniques solides, un contenu clair et des données structurées sont vos meilleurs atouts pour être trouvé.
14 min readCSS
CSS
CSS est le langage qui contrôle l'apparence et la mise en page de votre HTML à l'écran. Voici ce que c'est, comment cela fonctionne et comment commencer à l'utiliser dès aujourd'hui.
14 min readLe Box Model CSS
Le box model est le fondement de la mise en page CSS. Chaque élément est une boîte composée de contenu, de padding, de bordure et de marge — apprenez comment cela fonctionne et comment le maîtriser.
14 min readFlexbox
Flexbox est un modèle de mise en page CSS qui facilite l'alignement et la distribution de l'espace entre les éléments d'un conteneur. Voici comment cela fonctionne et comment l'utiliser.
14 min readCSS Grid
CSS Grid est un système de mise en page bidimensionnel qui vous permet d'organiser des éléments en lignes et colonnes. Apprenez comment il fonctionne, quand l'utiliser et comment construire des mises en page modernes sans bidouillages.
14 min readResponsive Design
Le responsive design permet d'utiliser une seule mise en page sur tous les écrans. Une balise viewport, des unités fluides et des media queries mobile-first couvrent la grande majorité des cas.
15 min readAnimations & Transitions
Les transitions et keyframes CSS donnent vie aux interfaces sans JavaScript. En animant les bonnes propriétés, le mouvement reste fluide et accessible.
14 min readVariables CSS
Les propriétés personnalisées sont des valeurs que vous définissez une seule fois et réutilisez partout. Contrairement aux variables de préprocesseur, elles vivent dans le navigateur et peuvent changer au moment de l'exécution.
13 min readCSS Frameworks & Styling
JavaScript
JavaScript
JavaScript est le langage de programmation du web. Il transforme des pages statiques en expériences interactives — voici ce qu'il est, où il s'exécute et comment commencer à l'écrire dès aujourd'hui.
16 min readLe DOM
Le Document Object Model est le pont entre votre HTML et votre JavaScript. Apprenez à sélectionner, créer, mettre à jour et supprimer des éléments, et à répondre aux actions des utilisateurs.
15 min readJavaScript Moderne (ES6+)
ES6 et les versions suivantes ont transformé JavaScript, passant d'un langage de script capricieux à un véritable plaisir à écrire. Voici les fonctionnalités que vous utiliserez quotidiennement.
15 min readJavaScript Asynchrone
JavaScript exécute une seule chose à la fois, et pourtant, il ne freeze jamais en attendant. L'event loop, les callbacks, les promises et async/await sont les mécanismes qui rendent cela possible.
16 min readFetch API & AJAX
Toute application web moderne communique avec un serveur. La Fetch API est la méthode standard pour envoyer des requêtes, lire des réponses et mettre à jour la page sans rechargement complet.
15 min readLa gestion des erreurs en JavaScript
Les problèmes surviennent : coupures réseau, entrées inattendues, changements d'API. Une bonne gestion des erreurs évite que ces défaillances ne deviennent des pannes et ne frustrent vos utilisateurs.
14 min readGit & Version Control
Git
Git est le système de contrôle de version le plus populaire au monde. Voici ce qu'il est, comment il fonctionne et comment commencer à l'utiliser pour suivre vos modifications et collaborer avec d'autres.
18 min readGitHub
GitHub est l'endroit où le monde entier construit des logiciels. Découvrez ce que c'est, comment cela fonctionne et comment l'utiliser pour collaborer, héberger du code et propulser votre carrière de développeur.
16 min readTypeScript
TypeScript
TypeScript ajoute des types statiques à JavaScript, permettant de détecter les bugs avant qu'ils n'atteignent la production. Voici ce que c'est, comment cela fonctionne et comment commencer à l'utiliser dès aujourd'hui.
20 min readTypes TypeScript Avancés
Les utility types, les conditional types et les mapped types vous permettent de transformer et de composer des types avec précision. Voici comment ils fonctionnent et quand les utiliser.
16 min readJavaScript Frameworks
React
React est la bibliothèque de composants qui a popularisé les interfaces utilisateur déclaratives. Décrivez l'apparence de l'écran pour un état donné, et laissez React gérer la mise à jour.
16 min readVue
Vue est le framework progressif : adoptez-en autant ou aussi peu que nécessaire, avec une syntaxe de template proche du HTML et une réactivité qui fonctionne tout simplement.
15 min readAngular
Angular est le framework « batteries-included » : TypeScript d'abord, injection de dépendances intégrée et une structure directive qui s'adapte aussi bien à une petite application qu'à une base de code d'entreprise massive.
16 min readSvelte
Svelte est un compilateur, pas un runtime. Il transforme vos composants en code DOM efficace lors de la compilation, permettant ainsi au navigateur d'expédier moins de JavaScript et d'effectuer moins de travail.
14 min readSolidJS
SolidJS ressemble à React mais se comporte comme un système réactif à grain fin. Les composants ne s'exécutent qu'une seule fois, et les mises à jour sont envoyées directement aux nœuds du DOM qui dépendent d'un signal.
13 min readPreact
Preact est une alternative à React de 3 ko avec la même API moderne. Mêmes composants, mêmes hooks, mais une taille fractionnaire — idéal quand chaque kilo-octet compte.
12 min readState Management
React Context API
L'API Context est la méthode native de React pour partager un état à travers un arbre de composants sans passer par les props à chaque niveau. Bien utilisée, elle élimine le prop drilling ; utilisée sans précaution, elle provoque des re-renders globaux.
13 min readRedux Toolkit
Redux Toolkit est la manière moderne et officielle d'écrire du Redux. Il élimine le code répétitif, inclut Immer pour les mises à jour immuables et intègre les devtools, le middleware et RTK Query.
15 min readZustand
Zustand est un store d'état minuscule, rapide et sans opinion pour React. Pas de providers, pas de boilerplate, et des abonnements basés sur des sélecteurs qui minimisent les re-renders.
13 min readMobX
MobX est une gestion d'état réactive : annotez vos données, et tout ce qui en dépend se met à jour automatiquement. Pas de sélecteurs, pas de reducers, juste des observables.
13 min readTanStack Query
TanStack Query est la couche de récupération de données manquante pour React. Il transforme les données serveur en un cache dont le chargement, les erreurs, le rafraîchissement et l'invalidation sont gérés pour vous.
14 min readPinia
Pinia est le store officiel de Vue : simple, type-safe et basé sur la Composition API. État, getters et actions au même endroit, sans providers ni boilerplate.
12 min readMeta-frameworks
Next.js
Next.js est le framework React qui ajoute le routage, le rendu serveur, la récupération de données et un runtime serveur, vous permettant ainsi de construire une application complète plutôt que de simplement l'assembler.
16 min readNuxt
Nuxt est le framework Vue qui ajoute le routage basé sur les fichiers, les auto-imports, le rendu serveur et un moteur serveur intégré, transformant ainsi une application Vue en un projet full-stack.
14 min readSvelteKit
SvelteKit est le framework d'application officiel de Svelte. Il ajoute le routage basé sur les fichiers, des fonctions de chargement côté serveur, des actions de formulaire et des adaptateurs permettant un déploiement partout.
14 min readAstro
Astro est le framework axé sur le contenu qui livre zéro JavaScript par défaut. Construisez vos pages en HTML et ajoutez de l'interactivité uniquement là où vous en avez besoin, avec n'importe quelle bibliothèque UI.
14 min readRemix
Remix est le framework React privilégiant les standards du web. Il s'appuie sur HTTP, les formulaires et l'amélioration progressive pour que votre application fonctionne avant même que le JavaScript n'arrive.
13 min readTesting
Vitest
Vitest est le runner de tests rapide et natif à Vite. Il réutilise votre configuration de build, exécute les tests en parallèle et propose des API compatibles avec Jest avec un support TypeScript de premier ordre.
13 min readJest
Jest est le runner de tests JavaScript classique : complet, capable de gérer les snapshots et toujours le choix par défaut dans d'innombrables bases de code Node.js et React.
13 min readTesting Library
Testing Library vous aide à tester vos composants de la même manière qu'un utilisateur les expérimente. Interrogez le DOM par rôle et par texte, interagissez avec des événements réels et arrêtez de tester les détails d'implémentation.
13 min readPlaywright
Playwright est un outil de tests end-to-end multi-navigateurs avec auto-waiting, des locators puissants et des outils de tracing, de codegen et de comparaisons visuelles — le tout dans un seul package.
14 min readCypress
Cypress exécute les tests directement dans le navigateur avec un runner interactif, des tentatives automatiques et un débogueur de voyage dans le temps qui rend les tests de bout en bout exceptionnellement accessibles.
13 min readStorybook
Storybook est un atelier pour composants UI. Construisez-les et testez-les en isolation, documentez chaque état et détectez les régressions visuelles et d'accessibilité avant qu'elles n'atteignent les utilisateurs.
12 min readBuild Tools & Tooling
Vite
Vite est l'outil de build moderne qui sert vos sources via des modules ES natifs en développement et les bundle avec Rollup pour la production. Rapide au démarrage, rapide pour itérer.
14 min readnpm
npm est le gestionnaire de paquets par défaut et le plus grand registre de logiciels au monde. Apprenez comment il installe les dépendances, résout les versions et exécute les scripts de votre projet.
13 min readpnpm
pnpm est un gestionnaire de paquets rapide et efficace pour le disque qui utilise un store adressable par le contenu et des node_modules stricts basés sur des liens symboliques. C'est le choix privilégié pour les monorepos.
13 min readESLint
ESLint est le linter pluggable qui détecte les bugs et impose des conventions avant qu'ils n'arrivent en revue de code. Avec la flat config et le support de TypeScript, il s'adapte à toute stack moderne.
13 min readPrettier
Prettier est le formateur de code opinioné qui met fin aux débats de style. Il analyse votre code et le réimprime de manière cohérente, pour que plus personne ne se dispute sur les espaces, les guillemets ou les points-virgules.
12 min readWebpack
Webpack est le module bundler éprouvé. Il transforme un graphe de modules, d'assets et de dépendances en bundles optimisés — et le comprendre rend tout autre outil de build plus clair.
14 min readTurborepo
Turborepo est un système de build haute performance pour les monorepos JavaScript. Il exécute des tâches à travers les packages, met les résultats en cache et ignore tout ce qui n'a pas été modifié.
13 min readNext Steps
Performance Web
La performance est une fonctionnalité à part entière. Les Core Web Vitals, le lazy loading, la réduction de la taille des bundles et un caching intelligent déterminent si vos utilisateurs restent ou partent avant même que votre page ne s'affiche.
15 min readSécurité Web
La sécurité n'est pas une fonctionnalité que l'on ajoute à la fin. XSS, CSRF, CORS et l'authentification sécurisée sont les bases que tout développeur web doit maîtriser.
15 min readPWA & Service Workers
Une Progressive Web App s'installe comme une application native, fonctionne hors ligne et se charge instantanément lors des visites répétées. Les service workers et le manifeste web rendent cela possible.
14 min readGraphQL
GraphQL permet aux clients de demander exactement les données dont ils ont besoin, en une seule requête. Un schéma typé décrit l'API, et des resolvers récupèrent les données correspondantes.
14 min readGSAP
GSAP est la bibliothèque d'animation derrière les expériences web polies et pilotées par le scroll. Les timelines, l'easing et ScrollTrigger vous offrent un contrôle précis à l'image près, sans avoir à lutter avec le CSS.
13 min readThree.js
Three.js rend WebGL accessible : un graphe de scène, des caméras, des matériaux et des lumières vous permettent de créer des expériences 3D pour le navigateur en JavaScript pur.
14 min readDocker & Déploiement
Docker encapsule votre application et son environnement dans une image qui s'exécute de la même manière partout. Les builds multi-étapes, la mise en cache et la CI/CD transforment le déploiement en une étape reproductible.
14 min readInternet & Networking
TCP/IP & Sockets
TCP/IP est la couche de transport sous-jacente à chaque requête HTTP, connexion de base de données et WebSocket. Les sockets sont le moyen pour votre code de communiquer directement avec elle.
14 min readWebSockets
Les WebSockets maintiennent une connexion ouverte dans les deux sens, permettant au serveur de pousser des données dès qu'elles changent au lieu d'attendre d'être sollicité.
14 min readNode.js Fundamentals
Les bases de Node.js
Node.js permet d'exécuter JavaScript en dehors du navigateur, côté serveur. Ses E/S non bloquantes et son immense écosystème en font un choix naturel pour les API, les outils et les applications full-stack.
15 min readL'Event Loop de Node.js
Node exécute votre JavaScript sur un seul thread, tout en gérant des milliers de connexions. L'event loop et ses phases sont la raison de ce succès — et pourquoi le bloquer est problématique.
15 min readNode.js Streams
Les streams traitent les données par morceaux (chunks) au lieu de tout charger en mémoire. C'est ainsi que Node copie des fichiers, compresse des payloads et achemine les corps HTTP efficacement.
15 min readSystème de fichiers Node.js
Le module fs permet de lire, d'écrire et de surveiller des fichiers. Utilisez l'API promise, gérez les chemins en toute sécurité et utilisez les streams pour tout contenu volumineux.
14 min readAPI Design
REST APIs
REST est un style de conception d'API HTTP centrées sur les ressources. En choisissant les bons noms, les bonnes méthodes et les bons codes de statut, votre API deviendra intuitive pour chaque client.
15 min readOpenAPI
OpenAPI est une description lisible par machine d'une API HTTP. Une seule spécification peut générer la documentation, les clients, les serveurs et les tests — à condition de la maintenir à jour.
14 min readVersioning d'API
Les API évoluent. Le versioning permet de déployer des améliorations sans casser les clients qui dépendent déjà de vous — et de retirer les anciennes versions de manière planifiée.
13 min readRate Limiting
Le rate limiting protège une API contre les abus, les bugs et les clients incontrôlés. Quelques algorithmes et des headers clairs permettent de maintenir votre service disponible pour tous.
14 min readWeb Frameworks
Express
Express est le framework web Node.js minimaliste et non-opinionné. Une route, une fonction et une chaîne de middleware : voilà tout le modèle mental, et pourtant, il propulse encore une immense partie du web.
16 min readFastify
Fastify est un framework web Node.js rapide et basé sur le concept de "schema-first". JSON Schema compile votre validation et votre sérialisation, tandis que les plugins encapsulés garantissent la cohérence des services de grande taille.
15 min readNestJS
NestJS est un framework Node.js opinioné, inspiré d'Angular. Les modules, contrôleurs et providers offrent aux grandes équipes une architecture partagée et l'injection de dépendances nativement.
16 min readHono
Hono est un framework web ultra-rapide basé sur les objets standards Request et Response. Écrivez une seule fois, déployez sur Cloudflare Workers, Deno, Bun ou Node, avec un typage de bout en bout via RPC.
14 min readKoa
Koa est une réécriture minimaliste d'Express basée sur async/await, conçue par ses auteurs originaux. Un objet de contexte et un modèle de middleware en oignon — tout le reste est un package que vous choisissez.
14 min readLaravel
Laravel est le framework PHP conçu pour le bonheur des développeurs : un routage expressif, l'ORM Eloquent, les templates Blade et un écosystème couvrant tout, de l'authentification au déploiement.
16 min readSymfony
Symfony est à la fois un ensemble de composants PHP réutilisables et un framework complet construit à partir de ceux-ci. Il privilégie la structure, la stabilité et la maintenabilité à long terme à grande échelle plutôt que la simplicité immédiate.
15 min readDjango
Django est le framework web Python « batteries-included ». Modèles, migrations, ORM, templates, authentification et interface d'administration de production sont fournis d'office : vous décrivez vos données et Django s'occupe du reste.
16 min readFlask
Flask est le micro-framework Python minimaliste. Vous disposez du routage, d'un objet requête et des templates Jinja dans un seul fichier, puis vous ajoutez précisément les extensions dont vous avez besoin à mesure que l'application grandit.
14 min readFastAPI
FastAPI est le framework Python asynchrone basé sur les type hints. Pydantic valide vos données, Starlette gère le HTTP, et la documentation OpenAPI s'écrit toute seule.
15 min readRuby on Rails
Rails est le framework Ruby full-stack basé sur le principe de la convention plutôt que la configuration. Il gère les parties fastidieuses — noms de fichiers, noms de tables, routes — pour que vous puissiez vous concentrer sur votre produit.
15 min readSpring Boot
Spring Boot est la couche opinionée basée sur le Spring Framework qui transforme un ensemble de configurations en une application prête à l'emploi : starters, auto-configuration et serveur embarqué.
16 min readDatabases
SQL
SQL est le langage déclaratif permettant d'interroger des données relationnelles. Vous décrivez le résultat souhaité et la base de données décide comment le calculer.
14 min readPostgreSQL
PostgreSQL est la base de données relationnelle qui prend la correction au sérieux. Ses types forts, ses transactions réelles, le JSONB et son système d'extensions en font le choix par défaut pour les nouvelles applications.
16 min readMySQL
MySQL est la base de données relationnelle qui propulse une immense partie du web. InnoDB lui apporte de véritables transactions, la réplication facilite la mise à l'échelle des lectures, et son écosystème est colossal.
15 min readMongoDB
MongoDB est une base de données orientée documents : des documents BSON flexibles sont stockés dans des collections, interrogés via un langage proche de JavaScript, et mis à l'échelle grâce aux replica sets et au sharding.
15 min readRedis
Redis est un serveur de structures de données en mémoire : les clés sont mappées vers des chaînes, des hashes, des listes, des sets, des sorted sets et des streams, servis depuis la RAM par une boucle de commandes mono-thread.
14 min readORMs & Query Builders
Prisma
Prisma est un ORM schema-first pour TypeScript. Décrivez vos modèles dans schema.prisma, générez un client entièrement typé et laissez les migrations synchroniser votre base de données.
15 min readDrizzle ORM
Drizzle est un ORM TypeScript-first qui garde le SQL bien en vue. Définissez vos tables en TypeScript, composez des requêtes qui reflètent le SQL qu'elles génèrent, et exécutez le tout sur un runtime léger et optimisé pour l'edge.
14 min readTypeORM
TypeORM mappe les classes TypeScript vers des tables de base de données à l'aide de décorateurs. Il supporte les patterns Data Mapper et Active Record, et fournit des repositories, un QueryBuilder et la gestion des migrations dans un seul package.
15 min readKnex.js
Knex.js est un constructeur de requêtes SQL, et non un ORM complet. Il compose les requêtes en JavaScript, lie chaque valeur de manière sécurisée, supporte plusieurs dialectes et propose la gestion des migrations et des seeds.
14 min readAuthentication & Authorization
Hachage de mots de passe
Les mots de passe sont le seul secret que vous ne devriez jamais stocker. Un hachage lent et salé transforme une base de données volée en un tas de tentatives qui ne s'achèvent jamais.
14 min readJWT
Un JSON Web Token est une chaîne signée, compatible URL, qui transporte des revendications (claims) sur un utilisateur. Compact et autonome, il s'adapte parfaitement à la montée en charge, mais il est facile de commettre des erreurs lors de sa mise en œuvre.
15 min readOAuth 2.0
OAuth 2.0 est un framework d'autorisation déléguée, et non d'authentification. Il permet à un utilisateur d'accorder à une application un accès limité à ses données sans partager son mot de passe.
16 min readOpenID Connect
OAuth 2.0 gère l'autorisation d'accès ; OpenID Connect ajoute la couche d'identité qui permet d'authentifier les utilisateurs. C'est le protocole derrière le bouton « Se connecter avec... ».
15 min readAuthentification par Session
L'authentification par session conserve la source de vérité sur le serveur. Un identifiant de session aléatoire voyage dans un cookie HttpOnly, tandis que l'identité et les permissions de l'utilisateur résident dans un store que vous contrôlez et pouvez révoquer à tout moment.
14 min readRBAC
Le RBAC répond à une seule question par requête : ce principal est-il autorisé à effectuer cette action sur cette ressource ? Les rôles regroupent les permissions, et un seul contrôle can() garantit la cohérence de la réponse partout.
15 min readClés API
Une clé API est un identifiant à longue durée de vie pour les machines. Émettez-la une seule fois, ne stockez que son hash, limitez strictement son périmètre (scope), et prévoyez un moyen de la renouveler ou de la révoquer avant même d'en avoir besoin.
14 min readTesting
Supertest
Supertest pilote votre application Node HTTP au sein du même processus et transforme vos tests d'API en simples assertions sur le statut, les headers et le corps — pas de serveur à démarrer, pas de port à gérer, pas de réseau à mocker.
14 min readTests de bout en bout (End-to-End)
Les tests de bout en bout pilotent le système réel comme le ferait un utilisateur. Ils sont lents, peu nombreux et irremplaçables : ce sont les seuls tests capables de prouver qu'une personne peut réellement accomplir une tâche.
15 min readCaching & Performance
Stratégies de mise en cache
Le caching est ce qui permet aux systèmes de rester rapides sous charge. Les patterns sont simples ; la difficulté réside dans le choix de ce qu'il faut conserver, pour combien de temps, et quand le supprimer.
15 min readPagination
Chaque endpoint de collection a besoin d'une limite. La pagination transforme une requête non bornée en une requête prévisible, et le choix entre offset et curseur détermine si elle reste performante.
14 min readTraitement par lots (Batch Processing)
Le traitement par lots déplace les tâches lentes et répétables hors du flux de requête vers des workers. La file d'attente intermédiaire est ce qui rend le système résilient, observable et capable de monter en charge en toute sécurité.
15 min readConnection Pooling
Ouvrir une connexion à une base de données est coûteux. Un pool maintient un petit ensemble de connexions ouvertes et les réutilise, transformant un coût par requête en une configuration unique et protégeant la base de données contre les tempêtes de connexions.
14 min readMessage Queues & Real-time
Files d'attente Redis
Une file d'attente de tâches Redis place le travail lent et répétable derrière un tampon durable. BullMQ transforme les listes et les streams Redis en tâches différées, avec gestion des tentatives, des priorités et des planifications répétables.
14 min readRabbitMQ
RabbitMQ est un broker de messages AMQP qui route les messages via des exchanges vers des queues. Les acquittements, le prefetch et le dead-lettering en font un outil précis pour les tâches qui ne doivent pas être perdues.
15 min readApache Kafka
Kafka est un journal de commits distribué en ajout seul (append-only), et non une file d'attente. Les enregistrements sont écrits une fois et lus plusieurs fois, ce qui lui confère des garanties de relecture, de fan-out et d'ordonnancement qu'un broker classique ne peut offrir.
15 min readSocket.IO
Socket.IO est un framework d'événements en temps réel basé sur WebSockets. Il ajoute la gestion des salles (rooms), les accusés de réception, la reconnexion automatique et un repli vers le polling, vous permettant de vous concentrer sur vos fonctionnalités plutôt que sur la plomberie des connexions.
14 min readDevOps & Deployment
Pipelines CI/CD
Le CI/CD transforme chaque modification en un artefact immuable et testé, et déploie cet artefact de la même manière à chaque fois. Un pipeline est simplement une séquence de jobs qui s'exécutent dès que le code évolue.
15 min readLinux
Linux fait tourner la vaste majorité des serveurs, des conteneurs et des machines cloud. Les quelques concepts fondamentaux qui le sous-tendent — tout est fichier, les processus sont légers, les permissions sont explicites — vous ouvrent les portes de chaque machine sur laquelle vous vous connecterez en SSH.
15 min readNginx
Nginx est le serveur web orienté événements qui se place devant presque toutes les applications Node, Python et Go en production. Il gère la terminaison TLS, sert des fichiers statiques, équilibre la charge et protège votre processus contre l'internet.
15 min readPlateformes Cloud
Le déploiement cloud est l'art de choisir la quantité d'infrastructure à gérer. D'un VPS brut à un PaaS managé jusqu'à Kubernetes, le compromis reste le même : le contrôle et le coût face au temps passé à maintenir le système en vie.
14 min readArchitecture & Patterns
Microservices
Les microservices divisent une application en services déployables indépendamment autour de capacités métier. L'objectif est l'autonomie des équipes et des mises en production indépendantes, et non le passage à l'échelle pour lui-même — le réseau entre eux étant le prix à payer.
16 min readMonolithe Modulaire
Un monolithe modulaire est une unité déployable avec des frontières internes strictes. Vous conservez les appels en cours de processus, une seule transaction et un seul pipeline, tandis que chaque module métier possède ses propres données et expose une interface publique restreinte — permettant ainsi de le transformer en service plus tard si nécessaire.
14 min readArchitecture pilotée par les événements
L'architecture pilotée par les événements remplace les appels directs par des faits. Un service enregistre qu'un événement a eu lieu puis passe à autre chose, tandis que d'autres services réagissent à leur propre rythme. Le couplage diminue — tout comme la certitude.
15 min readClean Architecture
La Clean Architecture repose sur une règle unique aux conséquences majeures : les dépendances pointent vers l'intérieur. Le domaine ne connaît rien de la base de données, du framework ou du HTTP, permettant ainsi de tester et de modifier les règles métier sans entraîner l'infrastructure avec elles.
14 min read