288 lines
10 KiB
Markdown
288 lines
10 KiB
Markdown
|
||
# 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
|
||
|
||
section Qdrant (BDD vectorielle) (optionnel)
|
||
Installer Qdrant :f1, after e2, 0.5d
|
||
Créer collection :f2, after e2, 0.5d
|
||
Structure payload :f3, after f2, 0.5d
|
||
|
||
section Embedding (optionnel)
|
||
Intégrer Snowflake Arctic :g1, after f2, 0.5d
|
||
Fonction embedding :g2, after f2, 0.5d
|
||
|
||
section Recherche d'existant (optionnel)
|
||
Recherche projets similaires :h1, after g2, 0.5d
|
||
Filtres payload :h2, after g2, 0.5d
|
||
Formatage résultats :h3, after h2, 0.5d
|
||
|
||
section Proposition utilisateur (optionnel)
|
||
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
|
||
``` |