Aller au contenu

Génération de code

Depuis la section Code, Restorm génère le code de votre application à partir de votre design. La génération s’appuie sur des templates compatibles Cookiecutter/Copier : les vôtres, ou ceux proposés par Restorm.

La section Code : un template ajouté, un dossier de sortie et la prévisualisation de l'arborescence générée avant écriture

  1. Ajoutez un ou plusieurs templates — via la bibliothèque de templates.
  2. Choisissez un dossier de sortie (absolu, ou relatif au projet).
  3. Cliquez sur Générer le projet.

La génération est rendue dans une sandbox puis produite sous forme de prévisualisation : Restorm vous montre l’arborescence des fichiers générés et n’écrit rien tant que vous n’avez pas confirmé. Vous pouvez alors Écrire dans le dossier de sortie ou Abandonner. (La génération est bloquée tant qu’il reste des problèmes de validation.)

Un template peut déclarer des questions (au sens Copier — par exemple un project_slug), auxquelles vous répondez au moment de générer. Vos réponses sont enregistrées dans un fichier .copier-answers.yml à la racine de la sortie, et rechargées à la génération suivante.

La génération n’est pas à sens unique. Régénérer joue le rôle d’un copier update : Restorm mémorise une base et réalise une fusion à trois voies entre la nouvelle sortie du template et vos modifications locales — vos changements ne sont donc pas écrasés. Vous faites évoluer votre design (ou le template), vous régénérez, et le code se met à jour en préservant votre travail.

La bibliothèque de templates propose quatre sources :

  • Officiel — les templates maintenus par Restorm, visibles par tous.
  • Organisation — les templates partagés au sein de votre organisation, privés à ses membres. C’est une fonctionnalité Enterprise : un admin — ou un membre disposant du droit gérer les templates — les ajoute ou les retire (URL du dépôt + descriptif), depuis l’onglet Templates <organisation> de la bibliothèque ou depuis le tableau de bord d’administration. Voir Templates officiels et d’organisation.
  • Dépôt — un dépôt GitHub propriétaire/nom (typiquement un fork d’un template officiel que vous avez adapté).
  • Dossier local — un template en cours de développement, sans réseau.

La structure d’un template et le catalogue officiel sont décrits sur la page Templates officiels. Ce qu’un template reçoit de votre design (modèles, routes et leurs flags) est détaillé dans Le contexte du template, et les réglages propres au template dans Variables de génération.