Méthodologie de Développement Assistée par IA
Context Engineering - Méthodes v1.0
Le retour à la rigueur de l'Analyse Fonctionnelle couplé à la puissance générative des LLM.
Pour en finir avec le "Coding à la volée".
La Grande Régression
Pourquoi le développement moderne est devenu un "pilotage sans visibilité". Analyse critique de l'Úre post-2010.
Le Concept : Context Engineering
Définition académique. Pourquoi ce n'est PAS du "Prompt Engineering". La primauté du Contexte sur le Code.
La Nouvelle Division du Travail
L'Architecte (Humain) vs L'Exécutant (IA). Retour vers l'organisation des équipes Mainframe des années 80.
Artefacts : Le Retour du CDCF
Structure détaillée des documents obligatoires (Markdown) avant de générer la moindre ligne de code.
Le Processus d'Injection
Technique : Comment charger la "Mémoire Vive" du LLM avec le contexte projet complet à chaque itération.
Validation : L'Algorithme Pur
Interdiction de coder directement. L'étape pivot de validation logique via Pseudo-Code ou UML textuel.
L'Humain : Architecte & Gardien du Sens
"L'humain ne doit plus toucher à la syntaxe. Son rÎle est purement sémantique."
Dans le Context Engineering, le développeur senior change de métier. Il ne cherche plus "comment faire une boucle en Python", il décide "pourquoi on fait une boucle".
Responsabilités Exclusives
- Design des RÚgles : Définir les rÚgles de gestion (Business Logic) sans ambiguïté.
- Arbitrage : Trancher quand deux rĂšgles entrent en conflit (ce que l'IA ne sait pas faire).
- Review d'Algo : Valider le Pseudo-Code avant implémentation.
- Responsabilité Légale : C'est l'humain qui va en prison si le code efface les données bancaires.
L'IA : L'Usine de Production (Le "Coder")
L'IA n'est pas un "copilote". Dans cette méthode, c'est le Moteur de Production.
Ce que l'IA fait mieux que nous :
| La Syntaxe | Ne fait jamais d'erreur de point-virgule ou d'indentation. |
| Le Boilerplate | Générer 50 classes DTO (Data Transfer Objects) ou des getters/setters en 3 secondes. |
| Les Tests | Ăcrire 100% de couverture de tests unitaires pour une fonction donnĂ©e. |
| La Traduction | Porter un code Legacy (Cobol/PHP) vers du Moderne (Go/Python). |
Retour vers le Futur : L'Organisation Mainframe
Le Context Engineering est une digitalisaion stricte de l'organigramme des grands projets informatiques des années 1970/80.
| Années 1980 (IBM/Cobol) | Années 2025 (Context Engineering) | |
|---|---|---|
| L'Analyste Fonctionnel Rédige le cahier des charges papier. | L'Architecte (Vous) Rédige les Markdown de Context. | |
| Le Chef de Projet Transmet les dossiers au service info. | Le System Prompt Injecte le contexte dans le LLM. | |
| Le "Pisseur de Code" L'armée de programmeurs au sous-sol. | Le LLM (GPT/Claude) GénÚre le code final instantanément. |
"L'Histoire ne se rĂ©pĂšte pas, elle rime." â Mark Twain
Le Syndrome du Pilote Aveugle
Cette mĂ©taphore illustre la perte totale de la phase de Conception. Dans la prĂ©cipitation de l'AgilitĂ© mal comprise ("Move fast and break things"), on a supprimĂ© l'Ă©tape cruciale de la rĂ©flexion. On ouvre l'IDE (VSCode, IntelliJ) avant mĂȘme d'avoir Ă©crit une phrase sur le besoin mĂ©tier.
Les conséquences sont désastreuses :
- Refactoring permanent : On code, on se rend compte que ça ne marche pas fonctionnellement, on casse, on refait.
- Dette technique native : Le code est une "lasagne" de patchs successifs sans architecture globale.
- Dépendance aux Frameworks : On sait utiliser React ou Laravel, mais on ne sait plus écrire un algorithme de tri ou une rÚgle de gestion complexe sans bibliothÚque.
Analyse Comparative : La Régression Méthodologique
| Axe | L'Ăge d'Or (Mainframe / Cycle en V) | L'Ăre Moderne (Agile / Startup) |
|---|---|---|
| Document de Référence | CDCF (Cahier des Charges Fonctionnel) + AF (Analyse Fonctionnelle) détaillés. Validés avant dev. | Tickets Jira de 3 lignes ("En tant qu'user je veux..."). Documentation inexistante ou post-mortem. |
| RÎle du Développeur | "Analyste-Programmeur". Comprend le métier (Compta, Stock) avant de coder. | "Technicien de Framework". Assemble des briques (Libs) sans comprendre la finalité métier. |
| Stabilité | "First Time Right". Les modifications coûtent cher, donc on réfléchit avant. | "Fail Fast". Bugs en production acceptés comme une norme. Patchs quotidiens. |
| Longévité | Applications Cobol tournant depuis 40 ans. | Réécriture complÚte tous les 3 ans (changement de framework JS). |
La Tyrannie de la "Technique pour la Technique"
Nous avons inversé les priorités. L'outil (le langage, le framework, l'infra) est devenu plus important que le besoin.
On ne demande plus : "Comment calculer la TVA intracommunautaire correctement ?"
On demande : "Comment faire ça en React avec Redux et Tailwind ?"
Le Context Engineering propose de remettre la syntaxe à sa place : une simple commodité d'exécution, déléguable à la machine.
Le Manifeste
"Le Context Engineering est une mĂ©thodologie de dĂ©veloppement logiciel oĂč l'humain se concentre exclusivement sur la dĂ©finition du contexte (RĂšgles, DonnĂ©es, Architecture) et dĂ©lĂšgue l'intĂ©gralitĂ© de la production syntaxique (le Code) Ă une Intelligence Artificielle, supervisĂ©e via un cadre strict."
Les 3 Axiomes
- Le Code est une conséquence, pas une finalité : Si le CDCF et l'AF sont parfaits, le code n'est qu'une traduction mécanique.
- Le Langage Naturel est le nouveau Langage de Programmation : On programme en Français/Anglais structuré (Markdown). Python ou Java ne sont que des "assembleurs".
- Pas de Code sans Contexte : Il est interdit de demander à l'IA de générer une fonction sans lui avoir fourni au préalable l'intégralité du contexte projet ("Context Loading").
Ce n'est PAS du Prompt Engineering
Le "Prompt Engineering" consiste à trouver l'astuce syntaxique pour faire dire quelque chose à ChatGPT ("Agis comme un expert..."). C'est du bricolage éphémÚre.
Le Context Engineering est une Architecture de l'Information persistante.
| Prompt Engineering | Context Engineering |
|---|---|
| ĂphĂ©mĂšre (une requĂȘte, une rĂ©ponse). | Persistant (Gestion d'un Ă©tat projet complet). |
| Basé sur l'astuce et le wording. | Basé sur des documents techniques (AF, MCD). |
| L'IA "invente" ou "hallucine" souvent. | L'IA est "contrainte" par des rÚgles métier strictes. |
Le Cycle en "C" (Contextuel)
Contrairement au "Cycle en V" (trop lent) ou à l'Agile moderne (trop chaotique), le Cycle en C est une boucle de rétroaction courte centrée sur la validation logique.
Rédaction des specs (Markdown). Définition des rÚgles métier, du schéma de données. C'est l'étape de "Programmation en Langage Naturel".
Chargement du "Context Folder" dans la fenĂȘtre de contexte de l'IA. L'IA "lit le dossier" et incarne le rĂŽle.
L'IA génÚre le Pseudo-Code ou l'Algorithme. L'Architecte (Vous) valide la logique.
Tant que le pseudo-code est faux, on ne passe pas Ă la suite.
L'IA traduit le pseudo-code validé en code final (Python, JS, C++). Tests unitaires générés automatiquement.
L'Arborescence Sacrée
Avant d'écrire une ligne de code, votre projet DOIT ressembler à ceci. C'est ce dossier que l'on donne à manger (feed) à l'IA.
PROJECT_ROOT/
âââ 00_CONTEXTE/ <-- LE CERVEAU (Source de VĂ©ritĂ©)
â âââ 00_System_Prompt.md (La personnalitĂ© : "Tu es un dev Senior IBM...")
â âââ 01_Vision_Globale.md (Le "Pitch", les objectifs business)
â âââ 02_Regles_Metier.md (Le "Livre de Loi" du projet)
â âââ 03_Donnees_MCD.md (SchĂ©mas SQL, JSON, relations)
â âââ 04_Architecture_Tech.md (Stack, conventions de nommage, sĂ©curitĂ©)
â
âââ 01_ANALYSES/ <-- LES ORDRES DE MISSION
â âââ AF_001_Authentification.md
â âââ AF_002_Gestion_Stock.md
â
âââ src/ <-- LA CONSEQUENCE (GĂ©nĂ©rĂ© par IA)
âââ main.py
âââ utils.pyExemple : 01_Vision_Globale.md
Ce fichier donne le "Cap" au LLM. Il lui permet de comprendre le Pourquoi avant le Comment.
# VISION DU PROJET : "BILLING-ENGINE"
## 1. Objectif Business
Créer un moteur de facturation SaaS capable de gérer des abonnements récurrents et des paiements "à l'usage" (Usage-based pricing).
Le systĂšme doit ĂȘtre auditable financiĂšrement (pas de suppression de facture, uniquement des avoirs).
## 2. Cible
PME européennes assujetties à la TVA intracommunautaire.
## 3. Contraintes Majeures
- **Sécurité :** Données chiffrées au repos (AES-256).
- **Performance :** Génération de 10 000 PDF/heure max.
- **Stack :** Python (FastAPI) + PostgreSQL + React.
## 4. Ton & Style du Code
- Code "Clean Architecture".
- Typage fort (Python Type Hints) obligatoire.
- Docstrings au format Google.Sans ce fichier, l'IA code "au hasard". Avec ce fichier, elle code pour VOTRE besoin.
Exemple : 02_Regles_Metier.md
C'est le fichier le plus important. L'IA a interdiction de déroger à ces rÚgles.
# RĂGLES DE GESTION - MODULE FACTURATION
## RG-001 : Calcul de la TVA
- Le taux normal est de 20%.
- SI le client est domicilié hors UE, la TVA est de 0% (Export).
- SI le client est UE (hors France) ET possÚde un N° TVA Intra : TVA = 0%.
- SINON TVA = 20%.
## RG-002 : Blocage Client
- Un client est considéré "à Risque" si :
1. Il a plus de 2 factures impayées.
2. OU le montant total dĂ» dĂ©passe 5000âŹ.
- Action : Interdiction formelle de créer une nouvelle commande pour un client "à Risque".
## RG-003 : Format de Facture
- Référence : FAC-{ANNEE}-{MOIS}-{SEQUENCE_6_CHIFFRES}
- Exemple : FAC-2025-10-000123Notez la précision. Pas de place pour l'interprétation.
Exemple : 03_Data_Structure.md
On ne laisse pas l'IA inventer la base de données. On la définit.
# MODĂLE DE DONNĂES (PostgreSQL)
## TABLE : clients
- id (UUID, PK)
- company_name (VARCHAR 100, NOT NULL)
- vat_number (VARCHAR 20, NULLABLE, Regex: ^[A-Z]{2}[0-9A-Z]+$)
- risk_status (ENUM: 'SAFE', 'WARNING', 'BLOCKED')
## TABLE : invoices
- id (UUID, PK)
- client_id (FK -> clients.id)
- amount_ht (DECIMAL 10,2)
- vat_amount (DECIMAL 10,2)
- status (ENUM: 'DRAFT', 'VALIDATED', 'PAID')
## RELATIONS
- Un Client a 0..N Factures.
- Une Facture appartient Ă 1 Client.La Gestion de l'Ătat (State Management)
Le défaut majeur des LLM est leur amnésie. Une nouvelle session est une coquille vide. Le "Context Engineering" transforme cette faiblesse en force en imposant une Initialisation Standardisée.
Imaginez que vous embauchez un expert pour 1 heure. Au lieu de passer 45 minutes à lui expliquer le projet verbalement, vous lui "téléchargez" instantanément le dossier complet dans le cerveau. C'est ça, l'injection.
Les Métriques Clés
- Context Window : La taille de la mémoire vive (ex: 128k tokens pour GPT-4o, 1M pour Gemini 1.5).
- Token Density : Un projet bien documenté (Markdown) consomme peu de tokens par rapport à sa valeur sémantique.
- Needle in a Haystack : La capacité du modÚle à retrouver une rÚgle obscure (RG-12) au milieu de 50 pages de specs.
L'Instruction SystĂšme ("System Prompt")
Ce prompt ne doit pas ĂȘtre "poli". Il doit ĂȘtre impĂ©ratif et dĂ©finir les bornes du comportement.
La "Poignée de Main" (The Handshake)
Voici à quoi ressemble le début d'une session de Context Engineering réussie. C'est un rituel immuable.
"Initialisation du projet BILLING-V1. Chargement du contexte."
> CONTEXTE CHARGĂ.
> ANALYSE : Projet de Facturation SaaS.
> RĂGLES CRITIQUES IDENTIFIĂES : 14 rĂšgles (TVA, SolvabilitĂ©, ...).
> MODE : Strict.
Je suis prĂȘt. Quelle est la premiĂšre tĂąche ? (Analyse d'un module ou GĂ©nĂ©ration de code ?)
"Implémente la fonction `calculate_vat()` pour un client Espagnol, selon la rÚgle RG-001."
Pourquoi ce projet ?
"Nous avons des outils du futur, mais des méthodes du passé."
Ce projet est né d'un constat amer : la qualité logicielle moyenne s'effondre. Les développeurs modernes, assistés par des IA surpuissantes, produisent du code plus vite que jamais, mais ce code est souvent :
- Structurellement faible : Pas de vision d'architecture globale.
- Non documenté : La documentation est vue comme une "perte de temps".
- Fragile : Impossible à maintenir dÚs que le créateur original part.
Le Context Engineering vise à stopper cette hémorragie en réintroduisant la rigueur de l'ingénierie systÚme (type Aérospatiale ou IBM 80s) dans le workflow moderne des LLM.
Code as a Consequence
Notre philosophie est radicale :
- L'Intelligence Humaine est rare et chĂšre : elle doit ĂȘtre allouĂ©e Ă 100% sur la Conception (Le Quoi et le Pourquoi).
- L'Intelligence Artificielle est abondante et bon marchĂ© : elle doit ĂȘtre allouĂ©e Ă 100% sur l'ImplĂ©mentation (Le Comment et la Syntaxe).
Si vous passez plus de 10% de votre temps à taper du code (syntaxe), vous n'utilisez pas la méthode correctement. Vous devriez passer 90% de votre temps à rédiger des fichiers Markdown de contexte.
à qui s'adresse cette méthode ?
đŻ Cible IdĂ©ale
- Architectes Logiciels & Tech Leads.
- Développeurs Seniors "fatigués du bricolage".
- Chefs de Projet Techniques.
- Solopreneurs voulant la puissance d'une équipe de 10.
â Non recommandĂ© pour
- Débutants complets (il faut savoir valider l'IA).
- Projets "Jetables" (Hackathons de 24h).
- Ceux qui "aiment taper au clavier".
Le "Pipeline" de Production
La méthode suit un flux unidirectionnel strict. Aucun retour en arriÚre sur le code n'est permis sans mise à jour du contexte.
Phase 1 : Formalisation (100% Humain)
Rédaction des fichiers `Specs.md`, `Rules.md`, `Data.md`. Création des diagrammes Mermaid/UML. C'est l'étape la plus longue.
Phase 2 : Context Loading (Automatisé)
Concaténation des fichiers Markdown. Injection dans le LLM via le System Prompt "Architecte". Vérification de la bonne compréhension par l'IA.
Phase 3 : Blueprinting (Mixte)
L'IA génÚre le Pseudo-Code ou les signatures de fonctions. L'Humain valide la logique métier (Review). Itération tant que la logique est fausse.
Phase 4 : Materialization (100% IA)
Traduction du Blueprint validé en langage cible (Python, Java, etc.). Génération automatique des Tests Unitaires. Commit Git.
Outillage Recommandé
Pour pratiquer le Context Engineering, oubliez les IDE classiques. Vous avez besoin d'outils de gestion de connaissances (PKM).
| RÎle | Outil Recommandé | Usage |
|---|---|---|
| Ăditeur de Contexte | Obsidian | Pour rĂ©diger les Markdown avec des liens bidirectionnels ([[Regle-01]]) entre les fichiers. |
| Moteur IA | Claude 3.5 Sonnet / GPT-4o | ModĂšles avec une grande fenĂȘtre de contexte (200k+) et un excellent raisonnement. |
| IDE (Interface) | Cursor (VS Code Fork) | Permet d'indexer tout le dossier `@Codebase` et d'appliquer les modifications directement ("Apply"). |
Ce que vous obtenez Ă la fin
Contrairement Ă un projet classique oĂč la "valeur" est dans le code source (souvent illisible), ici la valeur est dans les Artefacts.
1
Documentation VivanteDes specs à jour, synchronisées avec le code.
100%
Test CoverageTests générés systématiquement par l'IA.
0
Dette TechArchitecture propre ("Clean Arch") par design.
Pourquoi passer par le Pseudo-Code ?
Le code (Python, Java) est bruité par la syntaxe (parenthÚses, imports, types). Le pseudo-code permet de valider la Logique Métier pure.
C'est ici que l'Architecte (Vous) apporte sa valeur. Vous relisez le pseudo-code généré par l'IA pour vérifier qu'il respecte le CDCF.
Exemple Concret
Prompt User
"GénÚre l'algorithme pour la création d'une facture, en appliquant les rÚgles RG-001 et RG-002."
Réponse IA (Attendue)
FONCTION CreerFacture(Client, Items)
// 1. Vérification Solvabilité (RG-002)
SI Client.FacturesImpayees > 2 OU Client.DetteTotale > 5000
RETOURNER Erreur("Client Bloqué : Risque Financier")
FIN SI
// 2. Calculs
TotalHT = Somme(Items.Prix * Items.Qte)
// 3. Application TVA (RG-001)
SI Client.Pays != 'France'
SI Client.InUE ET Client.HasTvaIntra
TauxTVA = 0% // Intra-communautaire
SINON SI Client.HorsUE
TauxTVA = 0% // Export
SINON
TauxTVA = 20% // Cas particulier UE sans TVA
SINON
TauxTVA = 20% // National
FIN SI
TotalTTC = TotalHT * (1 + TauxTVA)
// 4. Génération ID (RG-003)
ID = "FAC-" + Annee + "-" + Mois + "-" + Sequence()
SAUVEGARDER Facture
FIN FONCTIONUne fois ce pseudo-code validé par vos soins, vous pouvez dire : "Parfait. Maintenant, traduis-le en Python (FastAPI)." L'IA ne fera alors qu'une traduction littérale, sans risque d'erreur logique.
