introduction.md 2771 octets

Introduction

Qu'est-ce que gitrust ?

gitrust est une forge Git self-hosted écrite en Rust, conçue pour les équipes de 3 à 20 personnes qui souhaitent maîtriser leur infrastructure de développement. Elle offre un serveur HTTP (:4000) et SSH (:2222), une CI intégrée via Dagger, la génération de SBOM avec Syft et l'intégration Dependency-Track, une gestion fine des permissions (4 rôles), la double authentification, des labels hiérarchiques et une conformité ANSSI PA-074.

Une instance publique de démonstration est accessible sur demo.gitrust.eu.

À qui s'adresse cette documentation ?

Cette documentation est organisée en quatre parties selon leurs publics respectifs :

  • Manuel utilisateur — pour les développeurs qui utilisent une instance gitrust existante : push/pull, pull requests, issues, CI, notifications. Prérequis : savoir utiliser Git en ligne de commande.
  • Manuel d'administration — pour les ops et self-hosters qui déploient, configurent et maintiennent une instance en production. Prérequis : administration Linux, notions de réseau et TLS.
  • Manuel développeur — pour les contributeurs au code gitrust et les développeurs qui construisent des intégrations sur l'API publique. Prérequis : Rust (pour contribuer) ou un langage client (pour l'API).
  • Bibliothèque de templates — pour tous les profils, lorsqu'ils cherchent un point de départ prêt à l'emploi (fichiers .env, docker-compose.yml, configs reverse-proxy, scripts de backup, exemples de clients API).

Comment cette documentation est-elle structurée ?

Cette documentation suit le cadre Diátaxis, qui distingue quatre types de contenu selon le besoin du lecteur :

TypeQuand l'utiliserExemples
TutorielsQuand vous apprenezInstaller gitrust, créer votre premier dépôt
Guides pratiquesQuand vous résolvez un problème précisConfigurer SMTP, gérer les clés SSH
RéférenceQuand vous cherchez une information techniqueVariables d'environnement, schéma API REST
ExplicationQuand vous voulez comprendre le pourquoiArchitecture des crates, modèle RBAC

Chaque manuel (utilisateur, administration, développeur) contient ces quatre types de contenu organisés de manière indépendante.

Naviguer dans la documentation