🚀 Démarrer un projet betagouv en toute sérénité 💆
Vous trouverez ici un chantier ouvert de "starter" pour démarrer des nouveaux projets betagouv en Typescript/Node.
En développant des produits au sein de betagouv, nous nous sommes rendus compte que nous recodions les mêmes briques / intégrations pour chaque produit. Et si nous mutualisions ?
C'est encore le début et il n'y a pas grand chose d'utilisable pour le moment. Le chantier est ouvert à toutes les contributions, propositions, idées...
🙋 Nous concentrons actuellement nos efforts sur un POC dont l'objectif est de permettre de créer et déployer une landing page avec le thème DSFR sans coder. Je t'invite donc à aller jeter un coup d'oeil sur le repo correspondant : https://github.com/oklmdev/starter-betagouv-template. 🚀
🙋 Je t'invite également à aller découvrir le projet suivant, qui est une sous-partie de ce que nous essayons de faire ici : https://github.com/oklmdev/persiste. 🚀
Il existe suffisamment de points communs entre nos projets pour que nous puissions aller plus loin que les starters génériques qui sont disponibles.
Points communs aux Startups d'Etat :
- Une démarche exploratoire guidée par l'impact, ce qui implique:
- Une mise en oeuvre rapide d'une première version,
- Des mesures et des ajustements fréquents en cours de route,
- et donc une dette technique qui a tendance à s'accumuler...
- Des phases d'accélération, où la vélocité de développement devient critique (et la dette technique se fait sentir),
- Une équipe avec une taille restreinte
- Intrapreneur, développeurs, chargés de déploiement, designers... travaillant main dans la main
- Des développeurs avec des responsabilités larges (application, data, déploiement, sécurité...)
- Un produit qui fait le lien entre des usagers et l'administration
- Un service qui s'intègre avec d'autres startups betagouv ou des services de l'administration
- Des standards de développement, d'accessibilité, et de sécurité.
- Hébergement sur des infrastructures FR ou EU (problématiques RGPD)
- Transparence & participation ouverte (open source)
- ...
Nous pensons que chaque équipe souhaite développer sereinement des produits durables (robustes et maintenables) et évolutifs.
- Les briques typiques
- Authentification
- intégration Keycloak
- FranceConnect, ProConnect, AgentConnect, ...
- lien magiques
- Gestion des droits par role/ressources et zones à accès restreint
- Envoi de mails
- Gestion de fichiers
- Import/export de données
- Génération de PDF / Excel
- ...
- Authentification
- Des briques spécifiques betagouv
- DSFR
- Intégration des services tiers
- API Entreprise, data.gouv.fr, ...
- ...
- Tout ce qu'il faut pour déployer régulièrement et sereinement
- CI/CD
- exemple de déploiement sur les PAAS Clever Cloud ou Scalingo
- Tests automatisés avec Jest
- Storybook
- ...
- CI/CD
- Une architecture qui est optimisée pour le changement
- Découplage du code métier et de l'infra (db, api tiers, ...)
- Un modèle de persistence de données flexible
- Une orchestration sans framework (pour garder le contrôle)
- ...
Le tout illustré dans un magnifique faux produit betagouv S.P.A.C.E..
Tu as des idées ? Tu développes un produit en démarrage et tu es intéressé par ce starter ?
Retrouve-moi sur mattermost @pierre-antoine.duchateau !
- une solution universelle et parfaite pour tous les projets
- des choix ont été fait selon l'opinion des auteurs
- un démonstrateur de technos dernier cri
- un projet officiel
- fini
- Pierre-Antoine Duchâteau mainteneur (Potentiel)
- Romain Cambonie (Immersion Facilitée, ex-Conseilleur Numérique)
- Clément Charles (@ClementCHA)
- Jérôme Burkard (Immersion Facilitée)
- Marc Gavanier (Conseilleur Numérique)
- Rejoignez-nous !
Pour les bugs/remarques/discussion, n'hésitez pas à ouvrir une issue.
Toute PR est la bienvenue !
Voir le fichier LAUNCH.md en construction
Voir le fichier LICENSE du dépot.
Nous avons récemment démarré un POC dont l'objectif est de permettre de créer et déployer une landing page avec le thème DSFR sans coder. Je t'invite donc à aller jeter un coup d'oeil sur le repo correspondant : https://github.com/oklmdev/starter-betagouv-template.
Nous nous retrouvons un soir par semaine pour peaufiner le positionnement, avancer lentement mais surement, discuter des choix techniques (un mélange de bikeshedding et yak shaving :D ), et parfois faire un peu de code...
Depuis peu, Pierre-Antoine consacre quelques heures chaque jour pour donner un coup de boost au projet !
En cours
- POC Landing DSFR
- Tutoriel sur gitpod
- Bundles navigateur
- CI: lancer les linter/tests/prettier à chaque push, et créer une PR
- Vacances 🏖
- Inscription d'un usager
- fausse authentification (pour les dev/démo)
- Page d'accueil de SPACE
- Simplification de l'arborescence (il y a encore de la marge !)
- thème DSFR via react-dsfr (merci à eux !)
- thème DSFR pour la page de login de keycloak
- Gestion basiques des droits
- Intégration keycloak
- Transactions simples
- Reconstruction des tables à partir de l'historique
- Mise à jour de tables de projections déclenchée par les événements
- Bus d'événements
- Base postgres (instance docker + client)
- Storybook
- Jest
- Prettier
- Eslint
- Base typescript (tsconfig)
Merci à @garronej pour les astuces de mise en page :)