Le Registre de preuve de covoiturage est un produit beta.gouv.fr qui a pour but de certifier qu'un covoiturage a bien eu lieu. L'objectif de l'outil est d'agir en tant que tiers de confiance entre les différents acteurs du covoiturage (opérateurs, autorités organisatrices de mobilité, entreprises, régions, etc.) pour simplifier la mise en place d'incitations à destination des covoitureuses et covoitureurs. Cette Startup d'État a pour objectif d'aider à réduire l'auto-solisme et l'emprunte écologique des déplacements courts.
- Plus d'informations sur le Registre de preuve de covoiturage
- Espace partenaire (territoires/opérateurs)
- Documentation générale
- Documentation technique
- Statistiques publiques
- Metabase (interne)
- Matomo (interne)
- Page de statut des services
- Dépôt de l'application
- Dépôt de l'infrastructure
Politique de sécurité et contact : SECURITY.md
- Nix avec la fonctionnalité flakes activée -- fournit l'environnement de dev partagé via
nix develop(voirflake.nix). - direnv + nix-direnv installés au niveau utilisateur (recommandé : module home-manager
programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true;). direnv active automatiquement :- le devShell Nix à la racine (outils communs :
deno,node,uv,python3.13,postgresql,just,gh...) - un venv Python dédié dans
sqlmesh/,dbt/etdatalake/à chaquecd.
- le devShell Nix à la racine (outils communs :
- Docker pour la stack applicative (API, base, Traefik...).
Pour activer les venvs Python à la première utilisation :
direnv allow . # à la racine
direnv allow sqlmesh
direnv allow dbt
direnv allow datalakeuv crée et synchronise les .venv automatiquement à partir des pyproject.toml / requirements.txt.
- Cloner le repo et
cddedans cp api/.env.example api/.env- Modifier
api/.env just docker build
Note Sur NixOS, il faut ajouter
DOCKER_SOCK=/run/user/1000/docker.sockdansapi/.envpour faire fonctionner Traefik correctement
# Préfixer avec `just dc run api` pour exécuter dans le container de l'API
just migrate # Migrer les schemas de données
just source # Migrer les données géographiques
just seed # Remplir la base de données avec des données de test
just seed-local-users # Ajouter des utilisateurs pour les tests (NODE_ENV=local)Les différents fichiers docker-compose.*.yml sont utilisés en overlay pour créer la stack de dev.
base: définition des services sur localhost. Pas de ports exposésproxy: ajout d'un proxy Traefik pour exposer les services sur*.covoiturage.teste2e: overlay utilisé pour les tests de bout en boutdev: ouvre les ports pour le développement local
- Lister les commandes disponibles:
just - Lancer la stack de dev en localhost (sans l'API):
just dev | just start | just up - Démarrer l'API en local:
just serve - Lancer la stack sur les URL
*.covoiturage.test(avec l'API):just proxy - Utiliser Docker dans l'environnement:
just docker <docker_command> - Afficher les logs des services:
just logs [<service>] [-f] - Stopper les services:
just stop | just down
- Se connecter à la DB avec pgcli:
just db - Lancer un REPL avec le kernel de l'API:
just debug - Ajouter la résolution des domaines
*.covoiturage.testdans/etc/hosts:just add-hosts - Ajouter des utilisateurs pour les tests:
just seed-local-users - Lister les variables d'environnement de l'application:
just env - Lancer les tests de l'API en local:
just test,just test-integration,just test-unit - Lancer la stack de tests d'intégration:
just ci_test_integration - Lancer la stack de tests bout-en-bout:
just ci_test_e2e
Note Les stacks de tests CI sont lancées sur des volumes Docker qui sont détruits à la fin des runs.
Cycle de contribution recommandé avec Claude Code :
- Choisir une tâche sur Notion (suivi des tâches Data)
- Créer un worktree et une branche depuis
main(gitflow) - Coder en TDD
/pr-prep-- commit, vérifications (CGU + sécurité), push et ouverture de la PR, avec confirmation/notion-debrief-- journaliser le travail réalisé dans le suivi des tâches- Revue humaine, puis squash-merge de la PR
Note
/pr-prepgère le commit, le push et l'ouverture de la PR : pas d'étapecommit + pushséparée.
Le code suit les spécifications semver.
DINUM / DGITM / ADEME, 2017-2026
The source code is published under Apache license 2.0.
