Manuel développeur¶
Ce manuel s'adresse à deux publics : les contributeurs au code gitrust (core ou via fork rustwarden) et les développeurs externes qui construisent des intégrations sur l'API publique. Il fournit tout le nécessaire pour comprendre l'architecture des 6 crates, contribuer du code conforme aux standards du projet, ou bâtir un client qui parle à l'API gitrust. Il ne couvre pas l'installation d'une instance de production ni l'usage quotidien de la forge.
Parcours d'apprentissage — contributeur core¶
Le parcours contributeur représente environ 4 heures au total, avec un étayage dégressif : le premier tutoriel est entièrement guidé, le troisième (capstone) demande de résoudre sans guide pas-à-pas.
graph LR
A[Utilisateur autonome] --> B[01-getting-started
45 min]
B --> C[02-premiere-contribution
90 min]
C --> D[03-creer-un-worker-async
capstone 120 min]
D --> E[Core contributor]
Checkpoint de parcours : avant de passer au tutoriel 02, vous devez avoir compilé gitrust localement, lancé les tests unitaires et obtenu une instance de développement fonctionnelle. Si ce n'est pas le cas, relisez le tutoriel 01.
Checkpoint de parcours : avant le tutoriel 03 (capstone), vous devez avoir soumis une PR complète avec tests, passé la gate QA et reçu une review. Si ce n'est pas le cas, relisez le tutoriel 02.
Tutoriels — apprendre en faisant¶
Les tutoriels sont guidés pas-à-pas avec des sorties verbatim attendues. Suivez-les dans l'ordre — chacun suppose le précédent complété.
- 01 — Getting started : build local, tests, instance de dev — ~45 min
- 02 — Première contribution : clone, build, test, PR — ~90 min
- 03 — Créer un worker async (capstone) — ~120 min
How-to — recettes pour les tâches courantes¶
Les how-to répondent à « comment faire X » sans explication de fond. Consultez-les dans n'importe quel ordre selon votre besoin.
- Workflow de contribution : Git + review + QA
- Lancer les tests unitaires
- Lancer les tests E2E (Playwright)
- Ajouter une route web (patron rustwarden → axum)
- Ajouter un service métier
- Ajouter une migration de base de données
- Implémenter des webhooks
- Implémenter un endpoint API
- Importer un dépôt externe (code)
- Contribuer à rustwarden upstream
- Passer la QA avant merge
Référence — informations techniques exactes¶
La référence documente de façon exhaustive l'architecture, les API internes, le schéma de données et les règles QA. Destinée à la consultation ponctuelle.
- Architecture des 6 crates
- Services et API interne
- Schéma de base de données (ERD)
- Règles QA et gates ANSSI
- API REST v1 — auth, pagination, codes d'erreur
- Git hooks post-receive
- rustwarden-core API — helpers, extracteurs, middleware
Explication — comprendre le pourquoi¶
Les explanations construisent les modèles mentaux nécessaires pour contribuer de façon éclairée. Lisez-les quand vous voulez comprendre les décisions d'architecture, pas seulement les appliquer.