Forms

Écrivez le module une fois. Laissez les développeurs le remplir.

40 variables Terraform ou OpenTofu deviennent 4 questions. Un module n’est pas une expérience en libre-service. Forms le transforme en champs typés qu’un développeur peut remplir, avec une autorisation vérifiée à la soumission plutôt que dans un ticket en amont.

Un Form à l’écran

Conception

Vous décrivez la donnée. Forms choisit le champ.

Vous ne choisissez pas les widgets. Le moteur déduit le widget du type, du format, de la source et des contraintes : le même formulaire s’affiche donc à l’identique dans chaque session et sur chaque surface. Concevoir un formulaire, c’est décrire ce qu’est la donnée.

Selon le type

Une chaîne devient un champ texte. Un nombre devient un sélecteur incrémental qui respecte le minimum, le maximum et le pas. Une map typée obtient un éditeur clé-valeur, un objet un formulaire construit à partir de ses propriétés, et l’imbrication fonctionne jusqu’aux tableaux d’objets.

Selon le format

Le format multiligne donne une zone de texte. Un langage de code donne un éditeur de code dans ce langage. Un mot de passe obtient un champ masqué avec confirmation, une clé SSH ou un certificat un champ multiligne avec contrôle du format. Les deux acceptent une valeur collée ou un fichier déposé.

Selon les valeurs

Un champ doté d’options est contraint par défaut, affiché en boutons radio ou en liste déroulante selon leur nombre. Autorisez la saisie libre et il devient un champ à autocomplétion. S’il ne reste qu’une option, elle se sélectionne d’elle-même et indique pourquoi.

Cycloid pour votre équipe

Ce que Forms change pour votre équipe

Une seule chose à modifier, pas deux

Le problème

Vous maintenez le module et, à part, un formulaire de demande. Le jour où ils divergent, quelqu’un déploie quelque chose de bizarre.

Avec Cycloid

Le formulaire est un bloc du Blueprint. Un seul objet porte l’architecture et les questions, et leurs versions évoluent ensemble.

Le résultat

Modifier le module modifie le formulaire, puisqu’ils n’ont jamais été séparés.

Remplissez-le, obtenez la ressource

Le problème

Le libre-service, c’est une page wiki de variables et l’espoir d’avoir choisi le bon type d’instance.

Avec Cycloid

Des champs typés, des indications tirées du format et des options contraintes là où il y en a. La validation échoue sur votre écran, pas onze minutes après le début d’un apply.

Le résultat

Le formulaire vous dit ce qu’il attend avant de vous dire non.

Le chemin le plus simple est le chemin gouverné

Le problème

Le chemin rapide et le chemin gouverné sont deux chemins distincts : les équipes prennent le rapide, et vous le découvrez à l’audit.

Avec Cycloid

Chaque soumission passe par les mêmes règles d’autorisation et d’approbation, quelle que soit la surface d’origine. La trace nomme la surface.

Le résultat

Personne n’a à choisir entre vitesse et rigueur.

Comment ça fonctionne

La gouvernance, avant que la ressource n’existe

01 · Intégrez-le au Blueprint

Un formulaire est un bloc du Blueprint, pas un fichier à part. Ce qui déploie et ce qui interroge forment un seul objet : ils ne peuvent pas se contredire.

02 · Donnez à chaque action son propre formulaire

La création a droit au parcours pas à pas. Une action Day-2, comme un redimensionnement ou une mise à niveau, a son propre formulaire, prérempli à partir de la dernière soumission.

03 · Tenez les secrets à l’écart

Un sélecteur d’identifiants d’accès renvoie un ID issu du coffre de la plateforme, jamais le secret. Un champ sensible est chiffré et masqué partout.

04 · Affichez-le là où l’on travaille

Le portail et l’assistant de Cycloid affichent les mêmes composants. Les hôtes MCP affichent le formulaire interactif quand ils le prennent en charge, et du texte sinon.

05 · Soumettez, validez une fois

Une seule passe, les mêmes règles côté client et côté serveur. Si un écran ne peut pas afficher un champ, le formulaire n’est pas montré à moitié : il nomme le champ manquant.

Le moteur prend toutes les décisions qui comptent : quels champs apparaissent, quel widget reçoit chacun, quelles sont les options, si la saisie est valide. La surface est consignée dans l’événement d’audit, jamais consultée. Chaque soumission passe par les mêmes règles d’autorisation et d’approbation : le chemin rapide est aussi le chemin gouverné. Fichiers d’inclusion et règles de préremplissage sont décrits dans la documentation Forms.

La gouvernance, avant que la ressource n’existe

En bref

Les règles que suit chaque formulaire

4

endroits où s’affiche un formulaire

1

jeu de widgets. Aucune version allégée

0

forçage de widget : chaque formulaire s’affiche partout à l’identique

1

passe de validation, à la soumission

Déployer un Postgres pour le checkout, en staging.

Trois de ces valeurs viennent de la conversation. Il en reste une à renseigner.

Form · PostgreSQL, staging

Affiché avec vos droits

Prérempli

Équipe, environnement, région

À renseigner

Taille d’instance

Travailler avec votre assistant

L’assistant remplit les réponses, le moteur fait le reste

L’assistant a-t-il ses propres droits ?

Non. Il n’y a ni compte de service ni rôle d’assistant aux droits étendus. Si vous ne pouvez pas déployer en production, l’assistant avec lequel vous échangez ne le peut pas non plus, que ce soit dans l’assistant de Cycloid ou dans n’importe quel hôte MCP compatible.

Un assistant qui remplit un formulaire n’est pas une cinquième surface. C’est un canal de saisie, comme l’API et la CLI. Il soumet les réponses qu’une personne aurait saisies ; les champs calculés, les valeurs par défaut et l’état dérivé restent du ressort du moteur. Tout est validé en une seule passe. Un script ne peut pas atteindre un état qu’une personne n’aurait pas pu atteindre.

Dans l’assistant de Cycloid, vous obtenez le vrai formulaire. L’assistant connaît déjà la moitié des réponses grâce à la conversation : ces champs ne sont donc pas affichés. Même moteur, moins de questions à poser.

Questions fréquentes

Tout ce qu’exécutent les actions de votre Blueprint : Terraform, OpenTofu, Ansible, Helm, ou un type d’étape ajouté par un plugin. Forms gère les questions, les actions gèrent l’exécution, dans le même objet.

Oui, avec un script de conversion ponctuel. Forms est nouveau, avec un schéma qui démarre à la version 1 : le moteur ne migre donc pas l’ancien format en douce à votre place. Vous lancez la conversion une fois, et c’est terminé.

Un sélecteur d’identifiants d’accès pointe vers le coffre de la plateforme : renouveler un identifiant à cet endroit met à jour tous les formulaires d’un coup. Un champ sensible contient un secret à usage unique, chiffré et masqué partout.

Il est prérempli à partir de la dernière soumission, champs sensibles masqués. Laisser un champ inactif n’efface pas la valeur enregistrée. Pour effacer une valeur, vous soumettez une valeur vide, délibérément.

Apportez le module auquel personne ne veut toucher

Vingt minutes, et ce module Terraform ou OpenTofu à quarante variables que personne ne comprend. Nous en ferons le formulaire que vos développeurs rempliraient vraiment, et nous vous montrerons ce qui se passe quand quelqu’un soumet une valeur que votre politique refuse.