Be Software Architecture Wise
Be Wise Apps

Read in English · Leer en español · Auf Deutsch lesen

Vous découvrez le logiciel ? Commencez ici

Un parcours pour débutants

Ce parcours vous fait suivre les chapitres dans l’ordre, du chapitre 0 au chapitre 12, car chaque chapitre s’appuie sur le précédent. Il vous mène, en six étapes, de l’absence de formation technique à la conception de systèmes intégrant l’IA, avec une méthode pour venir à bout des sections plus difficiles sans rester bloqué.

Le parcours en un coup d’œil

Ordre
Les chapitres dans leur ordre naturel, de 0 à 12, regroupés en six étapes
Durée
Environ 40 heures de lecture et 10 heures de vidéo. À raison de quatre heures par semaine, cela représente environ trois mois
Sections plus difficiles
32 sections sont marquées Avancé. Lors de votre premier passage, lisez-les plus légèrement et revenez-y plus tard
Tests
Facultatifs. Passez chaque test de chapitre à la fin du chapitre si vous voulez le certificat

Comment étudier chaque section

  1. Regardez la leçon vidéoChaque section s’ouvre sur une vidéo narrée d’environ quatre à six minutes. Elle vous donne les grandes lignes de l’idée avant que vous ne la lisiez.
  2. Lisez « L’idée en bref » et « Ce qu’il faut savoir »L’explication avec des mots de tous les jours et les points clés. Si vous ne retenez rien d’autre d’une section, retenez au moins ces deux-là.
  3. Consultez « Avant de lire »Les sections plus difficiles s’ouvrent sur un encadré qui recense les sections et les termes antérieurs sur lesquels elles s’appuient. Si l’un d’eux est nouveau pour vous, revenez-y d’abord, ou touchez un terme pour en voir une courte définition.
  4. Lisez le développement completÀ la première lecture, vous pouvez survoler les tableaux détaillés, les formules et les exemples de code. Cherchez à suivre le raisonnement ; les détails prendront plus de sens lors d’un second passage.
  5. Essayez « Vérifiez votre compréhension »Répondez mentalement à chaque question avant de regarder la réponse. Si plusieurs réponses vous surprennent, relisez les points clés de la section avant de poursuivre.

Les sections marquées Avancé

Chaque section indique son niveau. Lorsque vous arrivez pour la première fois à une section marquée Avancé, regardez la vidéo et lisez l’idée en bref et les points clés, puis continuez. Des sections ultérieures peuvent y faire référence : ne la sautez donc pas entièrement, mais vous n’avez pas besoin d’en maîtriser tous les détails lors de votre premier passage. Revenez-y une fois l’étape terminée.

Le mode débutant et les questions de préparation

Chaque page de section comporte en haut un interrupteur Mode débutant. Lorsqu’il est activé, les tableaux, le code et les encadrés « Pour aller plus loin » les plus techniques sont repliés jusqu’à ce que vous touchiez Afficher, et chaque terme dont vous pouvez afficher la définition d’un toucher est signalé par un petit ?. Rien n’est supprimé, et les tests de chapitre portent aussi sur les parties repliées. Choisir le parcours pour débutants sur la page d’accueil l’active ; vous pouvez le désactiver sur n’importe quelle page de section.

À partir du chapitre 1, chaque page de chapitre s’ouvre aussi sur cinq questions rapides, « Ai-je les bases pour ce chapitre ? », portant sur les notions antérieures sur lesquelles le chapitre s’appuie. Elles ne sont ni notées ni enregistrées : une mauvaise réponse vous indique simplement quelle section antérieure revoir.

Quand quelque chose vous échappe

Un compagnon utile. Le Glossaire du cours donne des définitions courtes et simples de plus de 900 termes utilisés dans les chapitres, chacune reliée au chapitre qui l’explique. Gardez-le ouvert dans un autre onglet pendant que vous étudiez et cherchez-y tout mot nouveau pour vous.

Étape 1 · Chapitre 0

Partir de zéro

Le chapitre 0 ne suppose aucune formation technique. Il explique les programmes, les données, les réseaux, le stockage, les API et le cloud : les éléments de base que tous les chapitres suivants tiennent pour acquis. Ne le sautez pas, même si certaines parties vous semblent familières.

Chapitre 0 : Pour commencer : comment fonctionne un logiciel

Débutant · environ 2 heures et demie de lecture · 9 leçons vidéo, environ 45 minutes

Vous apprendrez à :

  • Expliquer ce qui se passe, étape par étape, quand un programme s’exécute, du code source jusqu’au processeur en passant par le système d’exploitation.
  • Distinguer les structures de données courantes et utiliser la notation grand O pour prévoir comment une opération ralentit quand les données augmentent.
Les 8 sections
  1. 0.1 Programmes, code et exécution par l’ordinateur
  2. 0.2 Données, structures de données et algorithmes, et pourquoi la vitesse en dépend
  3. 0.3 Fonctions, modules, objets, interfaces, bibliothèques et frameworks
  4. 0.4 Réseaux, internet et web : IP, DNS, HTTP et le modèle client-serveur
  5. 0.5 Fichiers et bases de données : stockage relationnel et non relationnel, requêtes et transactions
  6. 0.6 API, JSON et coopération entre systèmes distincts
  7. 0.7 Serveurs, systèmes d’exploitation, machines virtuelles, conteneurs et services cloud
  8. 0.8 Exigences, gestion de versions, tests, livraison et parcours d’une requête

Étape 2 · Chapitres 1 et 2

À quoi sert l’architecture

Le chapitre 1 explique ce qu’est l’architecture logicielle et pourquoi ses décisions comptent. Le chapitre 2 transforme des objectifs vagues comme « rapide » et « sécurisé » en exigences précises. Ensemble, ils vous donnent le vocabulaire de tout ce qui suit.

Chapitre 1 : Qu’est-ce que l’architecture logicielle ?

Débutant à intermédiaire · environ 2 heures et demie de lecture · 9 leçons vidéo, environ 44 minutes

Vous apprendrez à :

  • Expliquer les définitions de l’architecture logicielle données par l’ISO/IEC/IEEE 42010:2022 et par le SEI, ainsi que les idées qu’elles partagent.
  • Distinguer les structures de modules, de composants et connecteurs et d’allocation, et distinguer une architecture de sa description.
Les 8 sections
  1. 1.1 Ce qu’est l’architecture logicielle : les définitions de référence et leurs points communs
  2. 1.2 Architecture, conception et code : importance, portée et niveaux
  3. 1.3 Pourquoi l’architecture compte : coût du changement, qualité, risques et échecs réels
  4. 1.4 Ce que fait un architecte : responsabilités, compétences et types d’architectes
  5. 1.5 Les parties prenantes, leurs préoccupations et comment l’architecture y répond
  6. 1.6 Décisions architecturales et compromis : réversibilité et moment opportun
  7. 1.7 Dette technique, érosion et dérive de l’architecture
  8. 1.8 L’architecture tout au long du cycle de vie : en amont, émergente et continue

Chapitre 2 : Attributs de qualité et exigences architecturalement significatives

Intermédiaire · environ 3 heures de lecture · 9 leçons vidéo, environ 45 minutes

Vous apprendrez à :

  • Distinguer les exigences fonctionnelles, les attributs de qualité et les contraintes, et reconnaître une exigence architecturalement significative.
  • Utiliser le modèle de qualité des produits de l’ISO/IEC 25010:2023 comme liste de contrôle sans le laisser se transformer en paperasse.
Les 8 sections
  1. 2.1 Exigences fonctionnelles, attributs de qualité et contraintes
  2. 2.2 Les modèles de qualité : l’ISO/IEC 25010 et comment l’utiliser
  3. 2.3 Rédiger des scénarios d’attributs de qualité testables
  4. 2.4 Performances et scalabilité : latence, débit, percentiles et charge
  5. 2.5 Disponibilité et fiabilité : « neuf », MTBF, MTTR et tolérance aux pannes
  6. 2.6 Modifiabilité, testabilité et déployabilité : concevoir pour le changement
  7. 2.7 Sécurité, utilisabilité, interopérabilité, coût et durabilité en tant que qualités
  8. 2.8 Éliciter, hiérarchiser et arbitrer les attributs de qualité

Étape 3 · Chapitres 3 et 4

Une bonne structure, et comment la décrire

Le chapitre 3 présente les principes qui sous-tendent une bonne structure, comme la modularité et le couplage. Savoir lire un peu de code aide ici, mais n’est pas indispensable. Le chapitre 4 montre comment les architectes dessinent et consignent leurs conceptions ; ses diagrammes et ses enregistrements de décision reviennent tout au long du reste du cours.

Chapitre 3 : Principes et fondamentaux de conception

Intermédiaire · environ 3 heures de lecture · 9 leçons vidéo, environ 46 minutes

Vous apprendrez à :

  • Expliquer le critère de Parnas pour décomposer un système en modules et l’appliquer pour comparer deux décompositions candidates.
  • Classer les dépendances selon les niveaux classiques de couplage et de cohésion, et identifier le couplage temporel, de déploiement et sémantique entre services.
Les 8 sections
  1. 3.1 Modularité : diviser un système en parties
  2. 3.2 Couplage et cohésion
  3. 3.3 Masquage de l’information, abstraction et interfaces
  4. 3.4 Gérer les dépendances : sens, cycles et stabilité
  5. 3.5 Les principes SOLID appliqués aux composants
  6. 3.6 La connascence : une mesure plus fine du couplage
  7. 3.7 La loi de Conway et la forme des organisations
  8. 3.8 Simplicité, réversibilité et mesure de la structure

Chapitre 4 : Documenter et communiquer l’architecture

Intermédiaire · environ 3 heures de lecture · 9 leçons vidéo, environ 46 minutes

Vous apprendrez à :

  • Expliquer qui lit la documentation d’architecture, ce dont chaque lecteur a besoin et comment décider de ce qui mérite d’être consigné par écrit.
  • Distinguer les parties prenantes, les préoccupations, les points de vue, les vues et les types de modèles tels que les définit l’ISO/IEC/IEEE 42010:2022.
Les 8 sections
  1. 4.1 Pourquoi documenter, et dans quelle mesure
  2. 4.2 Vues et points de vue : ISO/IEC/IEEE 42010, 4+1, Rozanski et Woods
  3. 4.3 Le modèle C4 : contexte, conteneurs, composants et code
  4. 4.4 Les diagrammes UML que les architectes utilisent encore
  5. 4.5 Enregistrements de décision d’architecture (ADR)
  6. 4.6 arc42 et autres modèles de documentation
  7. 4.7 Diagrammes en tant que code et documentation à jour
  8. 4.8 Communiquer l’architecture à différents publics

Étape 4 · Chapitres 5 et 6

Styles architecturaux

Le chapitre 5 traite des systèmes construits et déployés comme une seule unité. Le chapitre 6 transpose les mêmes questions à travers un réseau, où les choses se compliquent ; c’est le premier chapitre que la plupart des débutants trouvent exigeant, alors prenez votre temps.

Chapitre 5 : Styles architecturaux I : monolithes et conceptions modulaires

Intermédiaire · environ 3 heures de lecture · 9 leçons vidéo, environ 45 minutes

Vous apprendrez à :

  • Distinguer les styles architecturaux, les patrons, les tactiques et les architectures de référence, et expliquer pourquoi les contraintes d’un style produisent ses qualités.
  • Comparer le partitionnement technique et le partitionnement par domaine, et prévoir l’effet de chacun sur le coût d’un changement typique et sur l’organisation des équipes.
Les 8 sections
  1. 5.1 Styles architecturaux, patrons et tactiques
  2. 5.2 Architecture en couches
  3. 5.3 Le monolithe modulaire
  4. 5.4 Tubes et filtres, et architectures en pipeline
  5. 5.5 Architectures micronoyau et à plug-ins
  6. 5.6 Architecture hexagonale, en oignon et Clean Architecture
  7. 5.7 Conception stratégique pilotée par le domaine : contextes délimités et cartes de contextes
  8. 5.8 Quand un monolithe est la bonne réponse

Chapitre 6 : Styles architecturaux II : systèmes distribués

Intermédiaire à avancé · environ 3 heures et demie de lecture · 9 leçons vidéo, environ 48 minutes

Vous apprendrez à :

  • Expliquer les raisons légitimes de distribuer un système et les coûts qu’entraîne chacune d’elles.
  • Décrire les huit illusions de l’informatique distribuée et la défaillance partielle, et concevoir des réponses à y apporter.
Les 8 sections
  1. 6.1 Pourquoi distribuer, et les illusions de l’informatique distribuée
  2. 6.2 Architecture à base de services et architecture orientée services
  3. 6.3 Microservices : principes, avantages et coûtsAvancé : première lecture plus légère
  4. 6.4 Architecture pilotée par les événements : courtiers, médiateurs et flux d’événementsAvancé : première lecture plus légère
  5. 6.5 Communication synchrone et asynchrone : REST, gRPC, GraphQL et messagerie
  6. 6.6 Modèles de cohérence, CAP et PACELCAvancé : première lecture plus légère
  7. 6.7 Transactions distribuées, sagas et patron outboxAvancé : première lecture plus légère
  8. 6.8 Architectures serverless et basées sur l’espace

Étape 5 · Chapitres 7 à 9

Données, sécurité et maintien des systèmes en fonctionnement

Ces trois chapitres traitent de ce qui rend les systèmes réels difficiles : à qui appartiennent les données et comment elles restent correctes, comment le système est protégé, et comment il reste rapide et disponible sous forte sollicitation. Chacun s’appuie sur le chapitre 6.

Chapitre 7 : Architecture des données

Intermédiaire à avancé · environ 3 heures et demie de lecture · 9 leçons vidéo, environ 47 minutes

Vous apprendrez à :

  • Expliquer pourquoi une base de données partagée couple les services, et attribuer la propriété des données, y compris lorsque plusieurs services écrivent les mêmes données.
  • Choisir une base de données pour chaque ensemble de données selon la forme des données, les modes d’accès, les besoins de cohérence, l’échelle, l’exploitation et les compétences de l’équipe, et justifier le coût de chaque stockage supplémentaire.
Les 8 sections
  1. 7.1 Propriété des données et base de données par service
  2. 7.2 Choisir une base de données : relationnelle, documents, clé-valeur, colonnes, graphe et séries temporelles
  3. 7.3 Transactions, ACID et niveaux d’isolationAvancé : première lecture plus légère
  4. 7.4 Réplication, partitionnement et shardingAvancé : première lecture plus légère
  5. 7.5 CQRS et event sourcingAvancé : première lecture plus légère
  6. 7.6 Stratégies de mise en cache et leurs pièges
  7. 7.7 Évolution des schémas, migrations et compatibilité
  8. 7.8 Analytique, streaming, entrepôts de données, data lakes et data meshAvancé : première lecture plus légère

Chapitre 8 : Sécurité, confidentialité et conformité dès la conception

Intermédiaire à avancé · environ 3 heures de lecture · 9 leçons vidéo, environ 48 minutes

Vous apprendrez à :

  • Appliquer la triade CIA, les principes de conception de Saltzer et Schroeder, la défense en profondeur et la sécurité par défaut aux décisions d’architecture, et expliquer ce dont les architectes sont responsables dans un cycle de développement sécurisé.
  • Modéliser les menaces d’une conception à l’aide d’un diagramme de flux de données avec frontières de confiance, de STRIDE et d’arbres d’attaque, puis évaluer et consigner les risques et les mesures d’atténuation qui en résultent.
Les 8 sections
  1. 8.1 Principes de sécurité pour les architectes
  2. 8.2 Modélisation des menaces : STRIDE, arbres d’attaque et diagrammes de flux de données
  3. 8.3 Identité et accès : authentification, autorisation, OAuth 2.0 et OpenID ConnectAvancé : première lecture plus légère
  4. 8.4 Chiffrement, gestion des clés et secretsAvancé : première lecture plus légère
  5. 8.5 Communication sécurisée et zero trustAvancé : première lecture plus légère
  6. 8.6 Sécurité de la chaîne d’approvisionnement logicielle
  7. 8.7 Protection de la vie privée dès la conception et RGPD
  8. 8.8 Sécurité en exploitation : journalisation, détection et réponse

Chapitre 9 : Performances, scalabilité, résilience et exploitabilité

Intermédiaire à avancé · environ 3 heures et demie de lecture · 9 leçons vidéo, environ 45 minutes

Vous apprendrez à :

  • Choisir entre scalabilité verticale et horizontale, et entre les axes X, Y et Z du cube de scalabilité, et dimensionner un parc de serveurs pour un pic connu à l’aide de la loi de Little et d’une marge de capacité.
  • Choisir des signaux et des réglages d’autoscaling qui évitent le décalage et les oscillations (flapping), et expliquer pourquoi le CPU est souvent la mauvaise métrique.
Les 8 sections
  1. 9.1 Stratégies de passage à l’échelle : verticale, horizontale et cube de scalabilité
  2. 9.2 Équilibrage de charge, absence d’état et sessions
  3. 9.3 Asynchronisme, files d’attente et back pressure
  4. 9.4 Délais d’expiration, nouvelles tentatives, disjoncteurs, cloisonnement et dégradation gracieuseAvancé : première lecture plus légère
  5. 9.5 SLI, SLO, SLA et budgets d’erreur
  6. 9.6 Observabilité : journaux, métriques et traces
  7. 9.7 Planification de la capacité et tests de performancesAvancé : première lecture plus légère
  8. 9.8 Ingénierie du chaos, incidents et apprentissage sans reproche

Étape 6 · Chapitres 10 à 12

Cloud, gouvernance et IA

La dernière étape couvre les plateformes cloud sur lesquelles tournent les systèmes, la manière dont les architectures sont évaluées et gouvernées dans la durée, et l’application de tout cela aux systèmes construits autour de modèles d’IA. Les chapitres 11 et 12 s’appuient sur l’ensemble du cours : gardez-les pour la fin.

Chapitre 10 : Architecture cloud native et d’infrastructure

Intermédiaire à avancé · environ 3 heures de lecture · 9 leçons vidéo, environ 47 minutes

Vous apprendrez à :

  • Comparer IaaS, CaaS, PaaS, FaaS et SaaS ainsi que les modèles de déploiement, et répartir les obligations relatives à une charge de travail selon le modèle de responsabilité partagée.
  • Expliquer comment Kubernetes maintient un état souhaité déclaré grâce à son plan de contrôle, à ses nœuds et à ses boucles de réconciliation, configurer les requêtes, les limites et les sondes, et juger quand Kubernetes est surdimensionné pour le besoin.
Les 8 sections
  1. 10.1 Modèles de services et de déploiement cloud
  2. 10.2 Conteneurs et orchestration avec KubernetesAvancé : première lecture plus légère
  3. 10.3 L’application douze facteurs et les principes cloud native
  4. 10.4 Infrastructure en tant que code et infrastructure immuableAvancé : première lecture plus légère
  5. 10.5 Pipelines CI/CD et stratégies de déploiement
  6. 10.6 Multirégion, reprise après sinistre et edge computingAvancé : première lecture plus légère
  7. 10.7 Ingénierie de plateforme et plateformes internes de développement
  8. 10.8 FinOps, architecture des coûts et dépendance au fournisseur

Chapitre 11 : Évaluation, prise de décision et gouvernance

Avancé · environ 3 heures et demie de lecture · 9 leçons vidéo, environ 47 minutes

Vous apprendrez à :

  • Expliquer quand et pourquoi évaluer une architecture, et dérouler les neuf étapes de l’ATAM pour produire des risques, des non-risques, des points de sensibilité, des points de compromis et des thèmes de risque.
  • Animer des revues légères comme le risk-storming et les pre-mortems, et transformer leurs résultats en un registre des risques avec des responsables.
Les 8 sections
  1. 11.1 Évaluation de l’architecture et ATAMAvancé : première lecture plus légère
  2. 11.2 Revues légères et risk-stormingAvancé : première lecture plus légère
  3. 11.3 Fonctions d’aptitude et architecture évolutiveAvancé : première lecture plus légère
  4. 11.4 Gouvernance de l’architecture dans les organisations agilesAvancé : première lecture plus légère
  5. 11.5 Team Topologies et conception sociotechniqueAvancé : première lecture plus légère
  6. 11.6 Moderniser les systèmes hérités : strangler fig et migration incrémentaleAvancé : première lecture plus légère
  7. 11.7 Leadership, influence et prise de décisionAvancé : première lecture plus légère
  8. 11.8 Éthique, durabilité et analyse de rentabilitéAvancé : première lecture plus légère

Chapitre 12 : Architecture des systèmes intégrant l’IA

Avancé · environ 4 heures de lecture · 9 leçons vidéo, environ 48 minutes

Vous apprendrez à :

  • Expliquer comment les modèles d’apprentissage automatique et les grands modèles de langage sont entraînés et servis, et ce que les tokens, les fenêtres de contexte, l’échantillonnage, les embeddings et les hallucinations impliquent pour la conception d’un système.
  • Choisir où un modèle doit s’exécuter et comment il est appelé, et concevoir une AI gateway, un routage entre modèles, des cascades, des échelles de repli et une revue humaine pour un ensemble d’exigences donné.
Les 8 sections
  1. 12.1 Apprentissage automatique et grands modèles de langage pour les architectesAvancé : première lecture plus légère
  2. 12.2 La place des modèles dans une architectureAvancé : première lecture plus légère
  3. 12.3 Génération augmentée par récupération et recherche vectorielleAvancé : première lecture plus légère
  4. 12.4 Agents, utilisation d’outils et orchestrationAvancé : première lecture plus légère
  5. 12.5 Évaluer et tester les systèmes intégrant l’IAAvancé : première lecture plus légère
  6. 12.6 Garde-fous, sûreté et injection de promptAvancé : première lecture plus légère
  7. 12.7 Coût, latence et LLMOpsAvancé : première lecture plus légère
  8. 12.8 Gouvernance des données, IA responsable et règlement européen sur l’IAAvancé : première lecture plus légère

Après le chapitre 12

Si vous avez passé les tests de chapitre au fil de votre progression, l’examen final et l’étude de cas d’architecture s’ouvrent une fois les treize réussis. La page À propos du cours explique leur fonctionnement. Si vous travaillez déjà dans le logiciel, l’itinéraire pour apprenants expérimentés suit les mêmes chapitres à un rythme plus soutenu.

Commencer par le chapitre 0Parcourir les chapitres