2026-06-12 18:16:58 +02:00
# Projet ARC
## Contexte du Projet
ARC est une plateforme d'automatisation du développement logiciel basée sur un workflow multi-agents (IA). Le système orchestre plusieurs modèles d'IA spécialisés pour transformer un besoin utilisateur en un code source validé, testé et stocké.
2026-07-17 17:12:25 +02:00
## Lancer le projet
2026-06-12 18:16:58 +02:00
2026-07-17 17:12:25 +02:00
Avant de lancer le projet, il est important de créer le fichier .env dans le dossier * /backend * et de remplir les éléments suivant :
```bash
LLM_BASE_URL=
LLM_API_KEY=
LLM_MODEL=
LLM_MODEL_DEV=
LLM_MODEL_QA=
EMBEDDING_BASE_URL=
EMBEDDING_MODEL=
GITEA_ADMIN_USER=
GITEA_ADMIN_PASSWORD=
```
2026-06-12 18:16:58 +02:00
2026-07-17 17:12:25 +02:00
Une fois les informations fournies, éxectuer la commande suivante pour lancer le projet
```bash
python .\orchestrator.py
```
2026-06-12 18:16:58 +02:00
2026-07-17 17:12:25 +02:00
* L'interface utilisateur conversationnelle se trouve sur l'adresse suivant : http://localhost:8001/
* Le Gitea se trouve à l'adresse suivante : http://localhost:3000/
2026-06-12 18:16:58 +02:00
___
2026-07-17 17:12:25 +02:00
## Arrêter le projet
2026-06-12 18:16:58 +02:00
2026-07-17 17:12:25 +02:00
```bash
python .\stop_project.py
```
___
## Visualiser les logs
2026-06-22 15:55:59 +02:00
```bash
2026-07-17 17:12:25 +02:00
docker compose -p arc-app logs -f
2026-06-22 15:55:59 +02:00
```
2026-07-17 17:12:25 +02:00
___
2026-06-22 15:55:59 +02:00
2026-06-12 18:16:58 +02:00
## Structure du projet
```bash
2026-06-22 15:55:59 +02:00
ARC/
├── backend/
│ ├── app/
│ │ ├── agents/ # Gestion agents IA
│ │ │ ├── pm_agent.py
│ │ │ ├── dev_agent.py
│ │ │ └── qa_agent.py
│ │ │
│ │ ├── api/
2026-07-17 17:12:25 +02:00
│ │ │ └── routes/
│ │ │ ├── health.py
│ │ │ └── workflow.py
2026-06-22 15:55:59 +02:00
│ │ │
│ │ ├── core/
│ │ │ ├── config.py
2026-07-17 17:12:25 +02:00
│ │ │ └── logging.py
2026-06-22 15:55:59 +02:00
│ │ │
│ │ ├── graph/ # LangGraph
│ │ │ ├── state.py
│ │ │ ├── nodes.py
2026-06-12 18:16:58 +02:00
│ │ │ └── workflow.py
2026-06-22 15:55:59 +02:00
│ │ │
│ │ ├── llm/ # appels modèles
│ │ │ ├── client.py # wrapper d’ appel
│ │ │ ├── prompts.py # prompts centralisés
│ │ │
│ │ ├── repositories/ # accès externes, Qdrant / Redis / stockage
│ │ │ ├── qdrant_repository.py
│ │ │ ├── redis_repository.py
│ │ │ └── project_repository.py
│ │ │
│ │ ├── sandbox/
2026-07-07 09:57:21 +02:00
│ │ │ ├── qa_client.py
│ │ │ ├── main.py # Code exec dans le container sandbox
│ │ │ └── Dockerfile.qa
2026-06-22 15:55:59 +02:00
│ │ │
│ │ ├── schemas/ # Pydantic
│ │ │ ├── api.py
│ │ │ ├── spec.py
│ │ │ ├── code_output.py
2026-07-17 17:12:25 +02:00
│ │ │ └── qa_report.py
2026-06-22 15:55:59 +02:00
│ │ │
│ │ ├── services/
│ │ │ ├── workflow_service.py
│ │ │ ├── embedding_service.py
│ │ │ ├── retrieval_service.py
│ │ │ └── delivery_service.py
│ │ │
│ │ └─── main.py
2026-06-12 18:16:58 +02:00
│ │
2026-06-22 15:55:59 +02:00
│ ├── public/
│ │ ├── logo_dark.png
│ │ └── logo_light.png
2026-06-12 18:16:58 +02:00
│ │
2026-06-22 15:55:59 +02:00
│ ├── tests/
│ │ ├── test_health.py
│ │ ├── test_workflow.py
│ │ ├── test_agents.py
│ │ ├── test_gemma.py
│ │ ├── test_mistral.py
│ │ ├── test_qdrant.py
│ │ └── test_snowflake.py
2026-06-12 18:16:58 +02:00
│ │
2026-07-17 17:12:25 +02:00
│ ├── .env # IMPORTANT élément à remplir
2026-06-22 15:55:59 +02:00
│ ├── chainlit_app.py
│ ├── chainlit_fr_FR.md
│ ├── docker-compose-ai.yml # Conteneurs pour les agents et l'embedding
│ ├── docker-compose-infra.yml # Conteneurs pour les BDD
2026-07-07 09:57:21 +02:00
│ ├── docker-compose-sandbox.yml # Conteneur pour la sandbox/qa
2026-06-22 15:55:59 +02:00
│ ├── docker-compose.yml # Conteneur de l'application
│ ├── Dockerfile
│ ├── README.md
│ ├── requirements.txt
│ └── start.sh # Lance les applications
2026-06-12 18:16:58 +02:00
│
2026-06-22 15:55:59 +02:00
└── orchestrator.py # Lance le projet
2026-06-12 18:16:58 +02:00
```