2026-06-12 18:16:58 +02:00
|
|
|
|
|
|
|
|
|
|
# Projet ARC
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Diagramme Gantt du projet ARC
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker on
|
|
|
|
|
|
|
|
|
|
|
|
Etape 0 - Initialisation :a1, 2026-06-08, 2026-06-11
|
|
|
|
|
|
Etape 1 - Analyse du Besoin & Qualification :a2, 2026-06-11, 2026-06-27
|
|
|
|
|
|
Etape 2 - Génération de Code :a2, 2026-06-29, 2026-07-15
|
|
|
|
|
|
Etape 3 - Tests et Assurance Qualité :a2, 2026-07-15, 2026-08-01
|
|
|
|
|
|
Etape 4 - Livraison & Feedback Utilisateur :a2, 2026-08-01, 2026-08-13
|
|
|
|
|
|
Etape finale :a2, 2026-08-13, 2026-08-15
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Section 0 - Préparation de l'environnement du projet
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker off
|
|
|
|
|
|
|
|
|
|
|
|
section Initialisation
|
|
|
|
|
|
Créer structure projet :a1, 2026-06-09, 0.5d
|
|
|
|
|
|
Backend + structure :a2, 2026-06-09, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section LangGraph
|
|
|
|
|
|
Installer LangGraph :b1, 2026-06-09, 0.5d
|
|
|
|
|
|
Créer structure workflow :b2, 2026-06-09, 1d
|
|
|
|
|
|
Définir state global :b3, 2026-06-09, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Setup Qdrant
|
|
|
|
|
|
Installer Qdrant :c1, after b3, 0.5d
|
|
|
|
|
|
Tester connexion Python :c2, after b3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Setup modèle d’embedding
|
|
|
|
|
|
Installer Snowflake :d1, after b3, 0.5d
|
|
|
|
|
|
Implémenter embedding() :d2, after b3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Setup LLM
|
|
|
|
|
|
Installer llama.cpp :e1, after b3, 0.5d
|
|
|
|
|
|
Tester appel modèle :e2, after b3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Setup Chainlit
|
|
|
|
|
|
Installer Chainlit :f1, after e2, 0.5d
|
|
|
|
|
|
Lancer app test :f2, after e2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Organisation du code
|
|
|
|
|
|
Créer dossiers agents :g1, after e2, 0.5d
|
|
|
|
|
|
Créer dossiers services :g2, after e2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Logging et debug
|
|
|
|
|
|
Logs simples :h1, after e2, 0.5d
|
|
|
|
|
|
Structuration logs :h2, after e2, 0.5d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Section 1 - Analyse du Besoin & Qualification
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker off
|
|
|
|
|
|
|
|
|
|
|
|
section Interface utilisateur
|
|
|
|
|
|
Créer interface Chainlit :a1, 2026-06-12, 1d
|
|
|
|
|
|
Connecter Chainlit → backend Python :a2, 2026-06-12, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Modèle cahier des charges
|
|
|
|
|
|
Définir structure JSON :b1, after a2, 0.5d
|
|
|
|
|
|
Schéma Pydantic :b2, after a2, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Agent PM
|
|
|
|
|
|
Prompt Agent PM :c1, after b2, 0.5d
|
|
|
|
|
|
Sortie structurée Pydantic :c2, after b2, 0.5d
|
|
|
|
|
|
Gestion erreurs :c3, after c2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Questions clarificatrices
|
|
|
|
|
|
Détection champs manquants :d1, after c2, 0.5d
|
|
|
|
|
|
Génération questions LLM :d2, after d1, 0.5d
|
|
|
|
|
|
Boucle interaction Chainlit :d3, after d1, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Validation du cahier des charges
|
|
|
|
|
|
Affichage CDC :e1, after d3, 0.5d
|
|
|
|
|
|
Boutons validation/refus :e2, after d3, 0.5d
|
|
|
|
|
|
|
2026-06-16 11:27:41 +02:00
|
|
|
|
section Qdrant (BDD vectorielle) (optionnel)
|
2026-06-12 18:16:58 +02:00
|
|
|
|
Installer Qdrant :f1, after e2, 0.5d
|
|
|
|
|
|
Créer collection :f2, after e2, 0.5d
|
|
|
|
|
|
Structure payload :f3, after f2, 0.5d
|
|
|
|
|
|
|
2026-06-16 11:27:41 +02:00
|
|
|
|
section Embedding (optionnel)
|
2026-06-12 18:16:58 +02:00
|
|
|
|
Intégrer Snowflake Arctic :g1, after f2, 0.5d
|
|
|
|
|
|
Fonction embedding :g2, after f2, 0.5d
|
|
|
|
|
|
|
2026-06-16 11:27:41 +02:00
|
|
|
|
section Recherche d'existant (optionnel)
|
2026-06-12 18:16:58 +02:00
|
|
|
|
Recherche projets similaires :h1, after g2, 0.5d
|
|
|
|
|
|
Filtres payload :h2, after g2, 0.5d
|
|
|
|
|
|
Formatage résultats :h3, after h2, 0.5d
|
|
|
|
|
|
|
2026-06-16 11:27:41 +02:00
|
|
|
|
section Proposition utilisateur (optionnel)
|
2026-06-12 18:16:58 +02:00
|
|
|
|
Affichage résultats Chainlit :i1, after h2, 0.5d
|
|
|
|
|
|
Bouton "utiliser projet" :i2, after h2, 0.5d
|
|
|
|
|
|
Bouton "continuer génération" :i3, after h2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Redis (optionnel)
|
|
|
|
|
|
Cache recherche :j1, after i3, 1d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Section 2 - Génération de Code
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker off
|
|
|
|
|
|
|
|
|
|
|
|
section Préparation des entrées
|
|
|
|
|
|
Récupérer cahier des charges :a1, 2026-06-29, 0.5d
|
|
|
|
|
|
Normaliser / valider données :a2, 2026-06-29, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Format de sortie du code
|
|
|
|
|
|
Structure projet JSON/Pydantic :b1, after a2, 0.5d
|
|
|
|
|
|
Modèle Pydantic sortie code :b2, after a2, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Prompt Agent Dev
|
|
|
|
|
|
Prompt génération code :c1, after b2, 1d
|
|
|
|
|
|
Contraintes strictes :c2, after b2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Intégration LLM
|
|
|
|
|
|
Setup llama.cpp :d1, after c2, 0.5d
|
|
|
|
|
|
Connexion LangGraph → LLM :d2, after c2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Arborescence projet
|
|
|
|
|
|
Génération structure fichiers :e1, after d2, 0.5d
|
|
|
|
|
|
Vérification structure :e2, after d2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Génération code source
|
|
|
|
|
|
Génération fichiers Python :f1, after e2, 2d
|
|
|
|
|
|
Conformité structure :f2, after f1, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Fichiers complémentaires
|
|
|
|
|
|
README.md :g1, after f2, 0.5d
|
|
|
|
|
|
requirements.txt :g2, after f2, 0.5d
|
|
|
|
|
|
Instructions exécution :g3, after f2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Validation backend
|
|
|
|
|
|
Vérification fichiers :h1, after g3, 0.5d
|
|
|
|
|
|
Nettoyage output LLM :h2, after g3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Intégration LangGraph
|
|
|
|
|
|
Ajouter noeud Agent Dev :i1, after h2, 0.5d
|
|
|
|
|
|
Connecter PM → Dev :i2, after h2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Préparation QA
|
|
|
|
|
|
Formatter code sandbox :j1, after i2, 0.5d
|
|
|
|
|
|
Transmettre au state :j2, after i2, 0.5d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Section 3 - Tests et Assurance Qualité
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker off
|
|
|
|
|
|
|
|
|
|
|
|
section Préparation entrées
|
|
|
|
|
|
Récupérer projet Agent Dev :a1, 2026-07-15, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Sandbox Docker
|
|
|
|
|
|
Dockerfile générique :b1, 2026-07-15, 1d
|
|
|
|
|
|
Script build/run :b2, after b1, 1d
|
|
|
|
|
|
Isolation environnement :b3, after b1, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Exécution sandbox
|
|
|
|
|
|
Lancer exécution :c1, after b3, 0.5d
|
|
|
|
|
|
Capturer logs :c2, after b3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Ruff (qualité)
|
|
|
|
|
|
Installer Ruff :d1, after c2, 0.5d
|
|
|
|
|
|
Ruff check :d2, after c2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Bandit (sécurité)
|
|
|
|
|
|
Installer Bandit :e1, after c2, 0.5d
|
|
|
|
|
|
Scan projet :e2, after c2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Semgrep (optionnel)
|
|
|
|
|
|
Installer Semgrep :f1, after c2, 0.5d
|
|
|
|
|
|
Analyse règles :f2, after c2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Structuration QA
|
|
|
|
|
|
Modèle Pydantic rapport :g1, after f2, 1d
|
|
|
|
|
|
Parser résultats outils :g2, after g1, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Agent QA
|
|
|
|
|
|
Prompt Agent QA :h1, after g2, 1d
|
|
|
|
|
|
Résumé intelligible :h2, after h1, 0.5d
|
|
|
|
|
|
Traduction erreurs → dev :h3, after h2, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Boucle Dev ↔ QA
|
|
|
|
|
|
Implémenter boucle LangGraph :i1, after h3, 1.5d
|
|
|
|
|
|
Condition stop :i2, after h3, 0.5d
|
|
|
|
|
|
Limite itérations :i3, after h3, 1d
|
|
|
|
|
|
|
|
|
|
|
|
section Logs pour correction
|
|
|
|
|
|
Structurer logs :j1, after i3, 0.5d
|
|
|
|
|
|
Injecter logs dans Agent Dev :j2, after i3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Intégration LangGraph
|
|
|
|
|
|
Ajouter noeud QA :k1, after j2, 0.5d
|
|
|
|
|
|
Connecter Dev → QA → loop :k2, after j2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Sécurisation minimale
|
|
|
|
|
|
Limiter temps exécution :l1, after k2, 0.5d
|
|
|
|
|
|
Bloquer accès disque/réseau :l2, after k2, 0.5d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Section 4 - Livraison & Feedback Utilisateur
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker off
|
|
|
|
|
|
|
|
|
|
|
|
section Préparation affichage
|
|
|
|
|
|
Récupérer code validé :a1, 2026-08-03, 0.5d
|
|
|
|
|
|
Récupérer rapport QA :a2, 2026-08-03, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Affichage Chainlit
|
|
|
|
|
|
Afficher code :b1, after a2, 0.5d
|
|
|
|
|
|
Afficher rapport QA :b2, after a2, 0.5d
|
|
|
|
|
|
Afficher instructions exécution :b3, after a2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Actions utilisateur
|
|
|
|
|
|
Bouton valider :c1, after a2, 0.5d
|
|
|
|
|
|
Bouton refuser :c2, after a2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Gestion refus
|
|
|
|
|
|
Champ feedback :d1, after c2, 0.5d
|
|
|
|
|
|
Structuration Pydantic :d2, after c2, 0.5d
|
|
|
|
|
|
Injection LangGraph :d3, after c2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Boucle retour PM
|
|
|
|
|
|
Transition QA → PM :e1, after d3, 0.5d
|
|
|
|
|
|
Conserver contexte + feedback :e2, after d3, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Génération ZIP
|
|
|
|
|
|
Créer archive :f1, after e2, 0.5d
|
|
|
|
|
|
Vérifier structure :f2, after e2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Téléchargement
|
|
|
|
|
|
Bouton téléchargement ZIP :g1, after e2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Sauvegarde projet
|
|
|
|
|
|
Sauvegarder code + metadata :h1, after g1, 0.5d
|
|
|
|
|
|
Flag validated :h2, after g1, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Réindexation Qdrant
|
|
|
|
|
|
Générer embedding :i1, after h2, 0.5d
|
|
|
|
|
|
Ajouter dans Qdrant :i2, after h2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Git (optionnel)
|
|
|
|
|
|
Init dépôt :j1, after i2, 0.5d
|
|
|
|
|
|
|
|
|
|
|
|
section Intégration finale LangGraph
|
|
|
|
|
|
Ajouter noeud Delivery :k1, after i2, 0.5d
|
|
|
|
|
|
Connecter QA → Delivery → fin :k2, after i2, 0.5d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
gantt
|
|
|
|
|
|
title Section finale - Rendu
|
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
|
axisFormat %d/%m
|
|
|
|
|
|
excludes weekends
|
|
|
|
|
|
todayMarker off
|
|
|
|
|
|
|
|
|
|
|
|
Tests fonctionnels de bout en bout :a1, 2026-08-13, 0.5d
|
|
|
|
|
|
Documentation finale :a2, 2026-08-13, 0.5d
|
|
|
|
|
|
Présentation :a3, after a2, 1d
|
|
|
|
|
|
```
|