Aller au contenu principal

Nous ne fournissons pas une stack technique "code en mains"

Pour la partie technique s'est posée la question de fournir ou non une stack de code (comme un template) à copier/coller très rapidement pour démarrer.

Sachez qu'il existe déjà des stacks de certaines administrations en faisant le parti pris de telles ou telles technologies. Notre retour d'expérience concernant cette pratique est un peu particulier puisque pour vous faciliter la vie il faudrait brancher tous les concepts présentés ci-après afin que ça marche "out-of-the-box". Mais dans les faits, quand on commence un projet nous avons besoin du strict minimum… Pire encore, chaque développeur a sa propre expérience et ses propres choix de développement.

Sauf que quand vous devez nettoyer 80% des concepts dans une stack, vous vous retrouvez avec un découpage qui n'est peut-être pas le plus judicieux, et avec lequel vous ne vous sentez pas forcément à l'aise (vous héritez de pratiques étrangères). On vous recommande donc de créer vous-mêmes votre stack en ajoutant brique par brique (même si ça prend quelques heures ou quelques jours au total). Ainsi, votre stack vous resservira pour d'autres projets !

Contexte technique

Dans la suite pour le développement d'un produit, nous allons mettre en avant et argumenter la stack suivante :

  • Frontend : applicatif web ;
  • Backend : Node.js ;
  • Langages : JavaScript / TypeScript ;
  • Frameworks : React & Next.js ;
  • Intégration responsive du frontend ;
  • Base de données RDBMS (PostgreSQL) ;
  • ORM de la base de données : Prisma ;
  • Communication client-serveur : tRPC (comme du GraphQL mais "nativement" avec des schémas TypeScript) ;
  • UI : DSFR (Design System FRançais) ;
  • Hébergeur simple et souverain.

Gardez en tête que même si vous utilisez des technologies différentes, la lecture de ce guide peut vous être bénéfique.

info

Si vraiment vous tenez à partir d'un code existant, lisez le chapitre mentionnant code.gouv.fr afin de retrouver des projets publics utilisant les technologies que vous désirez. Ensuite regarder leur rendu "live" ainsi que l'organisation du code pour voir si cela vous sied. Vous pouvez également utiliser les templates disponibles sur le github de betagouv : https://github.com/betagouv?q=template&type=all&language=&sort= Ils intègrent des bonnes pratiques et le dsfr.

(Le guide n'a actuellement pas pour objectif de référencer des "projets exemples". Cela évoluera peut-être si c'est une demande répétée de votre part)