1.3.1 Les applications WEB de démarche
1.3.1.1 - Introduction
Chaque application WEB de démarche est unique :
- un public d’usagers (trés général ou très précis)
- un ou plusieurs partenaires et services instructeurs
- une liste précise de données à obtenir de l’usager (dont souvent des pièces jointes justificatives)
- une liste de documents à générer
Chaque démarche est donc une application spécifique
- disposant de son propre code pour
- réaliser des traitements spécifiques comme des appels à des services externes
- construire des mécaniques visuelles spécifiques
- embarquant/basée sur une solution logicielle commune (pour ne pas tout réécrire)
- paramétrable au maximum
1.3.1.2 - Paramétrabilité des applications de démarche
Le coeur de ma version de PSL est basé sur la possibilité de créer/modifier des applications à partir d’un moteur extrêmement paramétrable.
Ce moteur paramétrable
- affiche une application avec sa charte graphique DSFR
- permet la navigation dans les écrans dont la liste des champs est définie dans la configuration
- autorise la modification de tous les libellés des pages dans plusieurs langues différentes
- se base, pour chaque champ, sur
- la clef unique associée à la donnée (exemple : demandeur.nom ou dateDebut)
- le type de données : case à cocher, radio, sélection dans une liste finie, sélection par autocomplétion, saisie de texte monoligne, saisie de texte multiligne, pièce jointe (avec son code unique), …
- les libellés du champ : son nom et l’aide à la saisie
- la valeur par défaut
- la condition d’affichage : basée sur l’évaluation (EVAL de javascript) des autres données saisies par l’usager (exemple : demande.nom !== ‘’)
- les validations associées (les validations disponibles sont celles proposées par le framework exclusivement)
- propose des composants riches permettant la saisie d’un ensemble cohérent d’information comme
- la saisie d’adresse postale qui gère les adresses en france et à l’étranger
- la saisie d’adresse BAN
- la saisie d’IBAN
- la saisie de blocs multiples de données
- …
Ce moteur propose aussi d’intégrer, dans le déroulé des pages d’une démarche, une ou plusieurs pages spécifiques (codée dans la démarche) s’exécutant en dehors du moteur paramétrable.
1.3.1.3 - Le moteur paramétrable
Le moteur paramétrable se nomme framework. Il prend la forme d’une librairie Angular embarquée dans chaque application. Elle contient
- les composants simples (un composant simple par composant DSFR),
- les composants riches (permettant la saisie d’un ensemble fonctionnellement cohérent de données comme une identité, une adresse, …)
- les traitements standards
- les appels aux APIs PSL
- la validation de donnée (obligatoire, date, date future, date passée, nombre entier, nombre décimal, min, max, siret, siren, email, expression régulière…)
- la conservation de données dans un contexte
- un rendu graphique standard
Chaque version d’application embarque (littéralement) une version du framework. Toute modification du framework doit donc entraîner un build et une livraison de toutes les démarches.
1.3.1.4 - Un schéma
Une application de démarche se base donc totalement sur le framework par défaut. Elle ne contient aucun contenu en propre (cas 1 du schéma ci-dessous). Le seul composant (au sens Angular) de cette application est App qui hérite d’une classe du framework. Un bon exemple de ce cas de figure est EtatCivil.

Dans le cas d’une démarche dont une page contient des composants graphiques non présents dans le framework ou dont la complexité des conditions d’affichage est extrême, il est possible de développer spécifiquement la dite page dans le projet de la démarche (cas n°2 du schéma ci-dessus).
Enfin, une démarche trop complexe ou ‘hors norme’ peut contenir plusieurs (voire toutes) pages codées spécifiquement (cas n°3 du schéma).
Pour visualiser les réels composants applicatifs, voir :