Dépot de l'application
https://agentsenintervention.anct.gouv.fr/
- PHP 60.7%
- TypeScript 23%
- Twig 11.2%
- SCSS 2.2%
- HCL 1.6%
- Other 1.3%
| .gitlab | ||
| .husky | ||
| __mocks__ | ||
| assets | ||
| bin | ||
| ci | ||
| config | ||
| data-habitant | ||
| docs | ||
| fixtures | ||
| migrations | ||
| migrations-test | ||
| public | ||
| scripts | ||
| src | ||
| templates | ||
| terraform | ||
| tests | ||
| translations | ||
| .dockerignore | ||
| .editorconfig | ||
| .env | ||
| .env.docker | ||
| .env.local.dist | ||
| .env.test | ||
| .eslintrc.js | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.js | ||
| .symfony.local.yaml | ||
| babel.config.js | ||
| Caddyfile | ||
| compose.yaml | ||
| composer.json | ||
| composer.lock | ||
| config.etl.yml | ||
| custom.d.ts | ||
| Dockerfile | ||
| Dockerfile.local | ||
| fileTransform.js | ||
| jest-setup.ts | ||
| jest.config.ts | ||
| LICENSE | ||
| Makefile | ||
| nginx.conf | ||
| package.json | ||
| phpstan-baseline.neon | ||
| phpstan.dist.neon | ||
| phpstan.neon | ||
| phpunit.xml.dist | ||
| README.md | ||
| rector.php | ||
| renovate.json | ||
| sonar-project.properties | ||
| supervisord.conf | ||
| symfony.lock | ||
| tsconfig.json | ||
| webpack.config.js | ||
| yarn.lock | ||
Agents en intervention
Solution SaaS pour coordonner les interventions techniques des collectivités. Portée par l'Incubateur des Territoires (ANCT) et beta.gouv.fr.
agentsenintervention.anct.gouv.fr
Démarrage rapide
git clone git@gitlab.com:incubateur-territoires/startups/agents-intervention/agents-en-intervention.git
cd agents-en-intervention
make setup # build, démarrage, SSL, migrations, assets
open https://localhost
Prérequis : Docker Desktop (ou Docker Engine + Compose) et Make.
Stack technique
| Couche | Technologie |
|---|---|
| Backend | Symfony 7.3 (PHP 8.4), API Platform |
| Frontend | React 19 + TypeScript, monté via Stimulus bridge |
| Base de données | PostgreSQL 16 |
| Design system | DSFR (Système de Design de l'État) |
| Serveur web | FrankenPHP (dev), nginx + php-fpm (prod) |
| Stockage fichiers | Scaleway S3 (MinIO en local) |
| Async | Symfony Messenger (transport Doctrine) |
| Hébergement | Scaleway Serverless Containers, Terraform |
Commandes utiles
make up # Démarrer les services
make down # Arrêter les services
make watch # Recompiler les assets en continu
make test # Lancer les tests (PHP + JS)
make phpstan # Analyse statique PHP
make logs # Voir les logs
make shell # Shell dans le conteneur
make migrate # Exécuter les migrations
make db-fixtures # Charger les fixtures
Services locaux
| Service | URL | Identifiants |
|---|---|---|
| Application | https://localhost | - |
| Mailpit (emails) | http://localhost:8025 | - |
| MinIO (S3) | http://localhost:9001 | minioadmin / minioadmin |
| PostgreSQL | localhost:5432 | app / !ChangeMe! |
Workflow de branches
dev ──MR──> release/* ──MR──> main
| | |
v v v
env dev env preprod semantic-release → tag v* → env prod
Les déploiements sont automatiques. Merger dans main déclenche semantic-release qui crée un tag, et le tag déploie en production.
Documentation
Pour démarrer
| Document | Description |
|---|---|
| Guide de démarrage | Installation, SSL, Xdebug, premiers pas |
Architecture et fonctionnel
| Document | Description |
|---|---|
| Architecture technique | Stack, infrastructure, sécurité, flux |
| Décisions d'architecture | ADR : pourquoi ces choix techniques |
| Rôles et permissions | Les 5 rôles utilisateur et leurs droits |
| Cycle de vie d'une intervention | États, transitions, workflow Symfony |
Opérations
| Document | Description |
|---|---|
| Intégration continue | Pipeline CI/CD, déploiement, release |
| Metabase | Tableau de bord analytique, ETL |
Statistiques
Les statistiques d'utilisation sont disponibles sur la page statistique du service et sur Données et Territoires.