Pragmatic Architecture
Cette formation fournit une connaissance complète des problématiques d'architecture en entreprise pour des systèmes complexes, basée sur l'état de l'art validé par des retours d'expérience chez des clients.
Cette formation sera l’occasion d'apprendre et comprendre les techniques et pratiques de context engineering pour utiliser l’IA générative de façon effective en développement logiciel.
L'IA générative transforme profondément le développement logiciel, mais son adoption sans méthode amplifie les risques : +7,2% de dette technique pour chaque 25% d'utilisation des agents IA selon le DORA Report 2024-2025, avec un taux de réutilisation du code tombé sous 10% en 2024.
La différence de performance est spectaculaire entre équipes maîtrisant le context engineering (+25% de code de qualité) et celles l'utilisant intuitivement (-20% de maintenabilité).
Cette formation dépasse le simple Prompt Engineering pour vous transmettre les compétences de Context Engineering : comprendre comment l'IA fonctionne réellement, structurer vos interactions pour obtenir des résultats fiables, et mettre en place des garde-fous pérennes. L'objectif est de vous permettre de :
- Comprendre les mécanismes fondamentaux :
Saisir comment les modèles d'IA génèrent du code, pourquoi ils sont non-déterministes, et comment la taille et la qualité de lau context windowe, et ses dérives dans la duréebien au-delà des prompts, impactent directement les résultats. Cette compréhension vous permet d'anticiper les comportements et d'éviter les pièges courants.
- Structurer votre approche :
Passer du "prompt improvisé" à une pratique d'ingénierie rigoureuse en s'appuyant sur les fondamentaux du Software Craft (Clean Code, TDD, BDD, DDD, modularité) pour fournir aux agents IA un contexte pertinent, incluant les outils MCP (Model Context Protocol) et guidé par des principes solides.
- Maintenir le contrôle et la qualité :
Mettre en place des stratégies préventives (documentation vivante, normes explicites) et des contrôles défensifs automatisés (tests, linters, tests d'architecture) pour garantir que l'IA reste un accélérateur de qualité plutôt qu'un multiplicateur de dette technique.
- Sécuriser votre environnement :
Identifier et prévenir les risques de sécurité spécifiques à l'IA (prompt injection, fuite de contexte) et garantir que les agents accèdent uniquement à des données internes fiables et pertinentes.
- Pérenniser vos pratiques :
Faire émerger collaborativement des normes d'équipe, gouverner l'évolution du contexte dans la durée, et scaler ces pratiques à l'échelle de plusieurs équipes avec des outils adaptés.
À travers un équilibre entre fondamentaux théoriques solides et exercices pratiques progressifs (simulations, jeux de rôle, expérimentations), vous développez une compréhension profonde des mécanismes de l'IA et des techniques concrètes pour en garder la maîtrise. La formation s'appuie sur des retours d'expérience issus de projets clients réels et privilégie l'expérimentation collective et l'échange entre pairs, indépendamment des outils utilisés.
Matin : Comprendre les fondamentaux de l'IA générative
Cette première demi-journée pose les bases essentielles pour utiliser l'IA de manière éclairée et sécurisée. À travers des discussions collectives et des exercices pratiques, les participants et participantes découvrent pourquoi chaque mot compte dans les interactions avec l'IA, comment le contexte influence directement la qualité des résultats, et quels sont les risques de sécurité à maîtriser. L'objectif est de développer une compréhension solide des forces et limites réelles des modèles d'IA.
Au programme :
- Mécanismes fondamentaux : comment l'IA "comprend" et génère du code
- Non-déterminisme et sensibilité : pourquoi les résultats varient et comment les contrôler
- Sécurité : risques d'injection, fuite de contexte et bonnes pratiques
- Taille de contexte : impacts sur les coûts, l'empreinte carbone et la fiabilité
- Exercices : expérimenter directement les hallucinations et l'enrichissement de contexte
Après-midi : Maîtriser la génération de code avec l'IA
Cette session pratique fait progresser les participants du "prompt improvisé" vers une utilisation structurée et professionnelle de l'IA. À travers des exercices progressifs et un jeu de rôle immersif simulant le fonctionnement des agents IA avec des outils MCP (Model Context Protocol), les équipes découvrent comment organiser leur travail pour maintenir la qualité du code et éviter l'accumulation de dette technique. L'accent est mis sur le contrôle et la validation systématique des résultats générés.
Au programme :
- Du "Vibe Coding" à l'ingénierie logicielle : structurer ses prompts efficacement
- Prompts modulaires et réutilisables pour des projets évolutifs
- Agents IA et outils MCP : décomposer et résoudre des problèmes complexes
- Jeu de rôle pratique : simuler une boucle agentique pour comprendre les mécanismes internes
- Context Engineering : concevoir des systèmes qui convergent vers la qualité
- Retours d'expérience sur les outils du marché (Cline, Claude Code, etc.)
Matin : Garantir la qualité et la sécurité dans la durée
Cette demi-journée se concentre sur les stratégies concrètes pour maintenir le contrôle sur l'IA et éviter la dégradation progressive de la qualité. Les participants et participantes explorent une approche en quatre quadrants combinant moyens préventifs et outils de contrôle défensifs. À travers l'étude d'articles de recherche récents et des exercices pratiques, ils apprennent à mettre en place des garde-fous automatisés et à faire émerger des normes d'équipe pérennes.
Au programme :
- Analyse des études récentes sur l'impact de l'IA sur la qualité logicielle (DORA, Code Red)
- Stratégie de Context Engineering : approche itérative en 4 quadrants
- Moyens préventifs : règles, instructions, documentation vivante (ADR, README)
- Contrôles défensifs : linters, tests automatisés, tests d'architecture
- Génération et validation antagoniste : code vs tests comme sources de vérité
- Émergence collaborative des normes : rétrospectives, pair/mob programming, revues de code
- Gouvernance pour scaler les pratiques sur plusieurs équipes
après-midi : Élargir la vision et préparer l'avenir
La dernière session ouvre des perspectives stratégiques sur l'évolution du développement logiciel avec l'IA, en s’appuyant sur tout ce qui a été vu précédemment. Les discussions portent sur la redéfinition du métier de développeur, la gouvernance des éléments de contexte à l'échelle de l'organisation, et les nouveaux potentiels rendus accessibles par l'IA. L'objectif est de préparer les participants et participantes pour continuer à faire évoluer leurs pratiques et leurs équipes.
Au programme :
- Redéfinition du design logiciel : maintenir du code ou maintenir des prompts ?
- Spec-driven Development et Product Discovery assistés par l'IA
- Nouveaux potentiels : tests end-to-end à l'échelle, refactorings guidés par l'IA
- Gouvernance et mise à l'échelle des pratiques (outils : git, Packmind)
- Impacts environnementaux et considérations éthiques
- Évolution des rôles : méta-développeur, formation des juniors, responsabilité humaine
La formation est donnée en français ou en anglais. Par contre les supports de formation sont en anglais. Durant la formation, les apprenti.e.s seront incité.e.s à travailler
en pair programming, sans caractère obligatoire.
La formation cible tous les rôles impliqués dans la conception, la construction et la maintenance de logiciels de haute qualité, où la complexité métier est élevée :
- Développeuses et Développeurs (Full-stack, Back-end)
- Architectes logiciels, tech leads, engineering managers
- Product Owners (PO), Business Analysts et Experts Métier
Professionnels de la Sécurité
Cette formation est intensive et repose sur des ateliers pratiques (souvent appelés katas ou exercices de Refactoring). Une expérience en développement logiciel (vivement recommandé). Une première expérience avec un coding assistant ou un chat IA est préférable mais non indispensable.
- Expérience en Programmation :
Une expérience pratique dans l'écriture, la lecture et la modification de code dans un langage orienté objet est requise. Le programme implique l'application intensive du Refactoring (Extraction, Renommage, Déplacement) et du Test-Driven Development (TDD).
- Connaissance des Principes du Craft :
Une familiarité avec les concepts de base du Software Craftsmanship est nécessaire, tels que les principes de Clean Code (comme le faible couplage et la forte cohésion) et les règles de conception (comme la Loi de Demeter ou Tell, Don’t Ask).
- Postures Professionnelles :
Le succès de l'intégration de ces pratiques et la progression dans le craft nécessitent d'adopter un état d'esprit orienté vers l'humilité et l'expérimentation, essentielles pour le Pair Programming et la transmission du savoir-faire.
Les formateur.rices distribueront les supports de la formation au format électronique PDF à la fin de la formation.
50% théorie, 50% pratique
2 jours
CTO associé Arolla
Formatrice et CTO Arolla
Senior software craft engineer