Skip to content

Introduit un nouveau type de formulaire : API Particulier via Démarche numérique#1682

Open
skelz0r wants to merge 3 commits into
developfrom
definition/api-particulier-demarche-numerique
Open

Introduit un nouveau type de formulaire : API Particulier via Démarche numérique#1682
skelz0r wants to merge 3 commits into
developfrom
definition/api-particulier-demarche-numerique

Conversation

@skelz0r

@skelz0r skelz0r commented Jul 9, 2026

Copy link
Copy Markdown
Member

Il s'agit d'un sous-ensemble de API Particulier (on supprime contact technique, maquette typiquement), cela permet aussi de permettre de gérer les accès/emails/webhooks de manière indépendante.

@skelz0r skelz0r self-assigned this Jul 9, 2026
@skelz0r skelz0r force-pushed the definition/api-particulier-demarche-numerique branch from c201039 to d0f3802 Compare July 9, 2026 14:46
@skelz0r

skelz0r commented Jul 9, 2026

Copy link
Copy Markdown
Member Author
00-intro 01-basic_infos 02-legal 03-scopes 04-personal_data 05-contacts

@skelz0r skelz0r requested review from Isalafont and Un3x July 9, 2026 17:21
@jbfeldis

jbfeldis commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

J'ai sûrement manqué des conversations mais l'idée était d'utiliser les formulaires dynamiques il me semble. On ne devrait plus toucher aux yml sauf fix de l'existant.

message envoyé entre 2 activités avec les enfants

@skelz0r

skelz0r commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

J'ai sûrement manqué des conversations mais l'idée était d'utiliser les formulaires dynamiques il me semble. On ne devrait plus toucher aux yml sauf fix de l'existant.

Pour les cas straightforward oui, là j'ai des subtilités qui implique du code + des customisations de wordings, c'est trop bancal d'avoir une partie dynamique et une autre statique. Faire de cette manière n'apporte aucune dette et est robuste++ (car full testé).

Y'a eu aussi une discussion ici #1677 (comment) + ~ish en off avec Isa/Eva.

@Miryad3108

Miryad3108 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@skelz0r merci pour ta réactivité !
En regardant la liste des données disponibles, je me dis que la demande libre n'est peut être pas la bonne option parce qu'il faut retirer toutes les données non accessibles via FC, à savoir :

  • API Statut Sportif de Haut Niveau
  • API Statut élève scolarisé et boursier
  • API Statut demandeur d'emploi (jusqu'à ce qu'on ai les appels via identité)
  • API Paiements France Travail (jusqu'à ce qu'on ai les appels via identité)

skelz0r added a commit that referenced this pull request Jul 10, 2026
API Particulier via Démarche numérique récupère les données à partir du
pivot d'identité FranceConnect porté par la démarche. Or certaines API ne
savent pas encore être appelées à partir de cette seule identité, elles
n'ont donc pas leur place dans la demande libre :

- API Statut demandeur d'emploi (en attente des appels via identité)
- API Paiements France Travail (en attente des appels via identité)
- API Statut élève scolarisé et boursier
- API Statut Sportif de Haut Niveau

On les retire donc des scopes de Démarche numérique, sans toucher à API
Particulier classique qui continue de les proposer (autres pivots).

Comme YAML ne sait pas soustraire d'une séquence, on découpe les scopes
communs en trois ancres (api_particulier_france_connect_accessible_scopes_1
à _3) autour des groupes exclus : Démarche numérique les compose telles
quelles, tandis qu'API Particulier réinjecte les groupes exclus inline à
leur position d'origine pour rester strictement identique (mêmes scopes,
même ordre d'affichage). Le numéro de segment traduit la coupure imposée
par les groupes non accessibles via FranceConnect intercalés.

Suite à la revue de Miryad sur #1682.
@skelz0r

skelz0r commented Jul 10, 2026

Copy link
Copy Markdown
Member Author

@Miryad3108 exclut dans le dernier commit

@Isalafont Isalafont left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour moi c'est tout bon Merci beaucoup 👍🏻
Je ne sais pas si tu as vu mais on a enfin mergé la PR concernant la refonte des cadre juridique pour Api Particulier, ce qui peut avoir une incidence sur ta PR (conflit dans le yaml) OU si tu utilise des cadres juridique pour les formulaires, il faut s'assurer que tu reprennent bien la bonne version des cadres juridique pour ce nouveau formulaire.

skelz0r added 3 commits July 10, 2026 17:53
…r ancres YAML

YAML ne sait pas concaténer deux séquences : une ancre référence un noeud
entier, et la clé de fusion « << » ne fonctionne que sur des mappings, pas
sur des séquences. Impossible donc d'exprimer « scopes = groupe A + groupe B »
en réutilisant une ancre partagée.

En aplatissant la liste des scopes à la construction, une définition peut
composer ses scopes via des sous-séquences imbriquées, chacune pouvant être
une ancre partagée :

  scopes:
    - *france_connect_scopes
    - *scopes_de_base

Le changement est rétrocompatible : une liste déjà plate de scopes reste
identique après flatten.
Nouveau type dérivé d’API Particulier, destiné à l’intégration au sein d’une
démarche numérique. Différences avec API Particulier :
- bloc « infos de base » réduit à l’intitulé, la description et la volumétrie
  (ni maquette projet, ni date prévue de mise en production)
- pas de contact technique (uniquement contact métier et DPO)
- pas de bloc modalités (donc pas de FranceConnect côté modalité d’appel)

Côté données, la définition « api_particulier_demarche_numerique » devient la
base : elle porte les scopes hors FranceConnect, dont « api_particulier » hérite
en y ajoutant le groupe FranceConnect via composition d’ancres YAML.

Les traductions du formulaire réutilisent celles d’API Particulier (cadre
juridique, légal, données) via une ancre.

L’email de validation est personnalisé pour renvoyer vers la récupération du
jeton API Particulier et rappeler le principe de minimisation des données.
API Particulier via Démarche numérique récupère les données à partir du
pivot d'identité FranceConnect porté par la démarche. Or certaines API ne
savent pas encore être appelées à partir de cette seule identité, elles
n'ont donc pas leur place dans la demande libre :

- API Statut demandeur d'emploi (en attente des appels via identité)
- API Paiements France Travail (en attente des appels via identité)
- API Statut élève scolarisé et boursier
- API Statut Sportif de Haut Niveau

On les retire donc des scopes de Démarche numérique, sans toucher à API
Particulier classique qui continue de les proposer (autres pivots).

Comme YAML ne sait pas soustraire d'une séquence, on découpe les scopes
communs en trois ancres (api_particulier_france_connect_accessible_scopes_1
à _3) autour des groupes exclus : Démarche numérique les compose telles
quelles, tandis qu'API Particulier réinjecte les groupes exclus inline à
leur position d'origine pour rester strictement identique (mêmes scopes,
même ordre d'affichage). Le numéro de segment traduit la coupure imposée
par les groupes non accessibles via FranceConnect intercalés.

Suite à la revue de Miryad sur #1682.
@skelz0r skelz0r force-pushed the definition/api-particulier-demarche-numerique branch from 7abab7c to 3749b56 Compare July 10, 2026 16:26
@skelz0r

skelz0r commented Jul 10, 2026

Copy link
Copy Markdown
Member Author

Y'a eu un merge conflict mais c'était sur un ajout de scope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants