La licence AGPL-3.0
Waterfall est publié sous la licence GNU AGPL v3.0 uniquement. Vous pouvez l’utiliser, l’étudier, le modifier et le redistribuer librement. La particularité de l’AGPL tient au réseau : si vous mettez à disposition d’utilisateurs une version modifiée de Waterfall, par exemple comme service en ligne, vous devez leur donner accès au code source de cette version.
Pour une entreprise qui installe Waterfall pour ses propres équipes, cela ne change rien au quotidien : les données restent les siennes, sur ses serveurs.
Ce que contient le dépôt
| Répertoire | Contenu |
|---|---|
docs/spec | La spécification : plus de deux cents exigences, ses sources Word et draw.io, sa projection Markdown, et les revues qui l’ont façonnée. |
docs/api | Le contrat d’interface en OpenAPI, l’inventaire des opérations et les décisions de conception. |
docs/roadmap | La feuille de route : les EPIC dans leur ordre de construction, leurs récits et leur conception. |
docs/dev | Le guide de développement et les règles de code par langage. |
backend/ | Le noyau métier, le service d’API et le traitement de fond, en Python. |
frontend/ | L’application Next.js, son client généré depuis le contrat, ses parcours de bout en bout. |
fixtures/ | Les exemples chiffrés de la spécification, et les données que sert le faux service. |
deploy/ | L’empaquetage : Compose pour le développement aujourd’hui, Helm demain. |
La pile technique
Chaque choix est argumenté dans la spécification plutôt qu’affirmé :
- Interface : Next.js et TypeScript, des grilles construites sur TanStack Table, des courbes avec Apache ECharts.
- Service : FastAPI et Python, un noyau modulaire unique et un traitement de fond.
- Données : PostgreSQL comme seule source de vérité, Redis pour le cache et la file de tâches, un stockage compatible S3 pour les fichiers en transit et les sauvegardes.
- Identité : un fournisseur d’identité livré avec la plateforme (Keycloak), qui porte des comptes locaux, fédère un annuaire LDAP ou Active Directory, ou relaie vers un fournisseur externe.
- Déploiement : Helm pour Kubernetes, Docker Compose pour le développement et les petites installations.
Le contrat d’API est écrit à la main et fait foi : le client de l’interface en est généré, le faux service sert ses exemples, et la chaîne rejettera un service dont les réponses s’en écartent.
Deux langues, une règle
La spécification et la documentation sont en français : c’est un document d’exigences formel, et le traduire doublerait la source de vérité. Le contrat, le code et le README sont en anglais. Les tickets et les demandes de fusion sont bienvenus dans les deux langues. L’interface du logiciel, elle, est prévue en français et en anglais, au choix de chaque utilisateur.
Contribuer
La page Contribuer présente les façons de participer, profil par profil : tester, relire la spécification, développer. Le guide de contribution du dépôt détaille les règles. En résumé :
- Sur la spécification, une contribution prend la forme d’un constat : un emplacement (paragraphe ou identifiant d’exigence), une citation exacte, et une proposition de rédaction. Un constat sans proposition est un constat que quelqu’un d’autre devra réécrire.
- Sur le contrat d’API, une modification d’interface est d’abord une modification du contrat ; le code suit.
- Une proposition de fonctionnalité passe par le modèle de ticket « Question or proposal ». Elle ne devient un récit utilisateur que lorsqu’elle entre dans un EPIC.
- Le code arrive par lots, chacun relu et vérifié par la chaîne avant d’être fusionné.
Vous travaillez sur des projets longs et la façon dont Waterfall traite les révisions, les avenants ou les provisions vous fait réagir ? Un retour métier sur la spécification est une contribution aussi utile qu’une ligne de code.
Essayer la maquette
La maquette de l’interface tourne sur un poste de développement, contre un faux service qui sert les exemples du contrat. Après avoir cloné le dépôt et installé les prérequis (uv, Node 24, Docker), la commande make dev la sert sur http://localhost:3000. Ce n’est pas encore le produit : les écrans sont là, les calculs arrivent avec les EPIC suivants.