Présentation

Adobe Experience Manager (AEM) Forms vous permet de transformer des opérations complexes en de simples et remarquables expériences numériques. Toutefois, il nécessite un effort concerté pour la mise en œuvre, la création, l’exécution et la conservation d’un écosystème d’AEM Forms efficace et productif.

Ce document fournit des instructions et des recommandations dont peuvent bénéficier l’administrateur, les auteurs et les développeurs de formulaires au moment d’utiliser AEM Forms, notamment le composant de formulaires adaptatifs. Il aborde les meilleures pratiques à appliquer, de l’installation d’un projet de développement de formulaires à la configuration, la personnalisation, la création et l’optimisation d’AEM Forms. Ces meilleures pratiques contribuent globalement aux performances globales de l’écosystème d’AEM Forms. 

En outre, voici quelques recommandations de lecture concernant les meilleures pratiques générales d’AEM :

Installation et configuration d’AEM Forms

Installation du projet de développement de formulaires

Une structure de projet simplifiée et normalisée peut considérablement réduire les efforts de développement et de maintenance. Apache Maven est un outil à code source libre recommandé pour la création de projets AEM. 

  • Utilisez le multimodules-contenu-package-archétype d’Apache Maven pour créer et gérer la structure du projet AEM. Il permet de créer la structure et les modèles recommandés pour votre projet AEM. En outre, il fournit des systèmes d’automatisation de création et de contrôle des modifications pour aider à la gestion du projet. Pour plus d’informations, reportez-vous à la section Comment créer des projets AEM à l’aide d’Apache Maven
  • L’outil FileVault ou VLT vous permet de tracer le contenu d’une instance CRX ou AEM dans votre système de fichiers. Il fournit des opérations de gestion du contrôle des modifications, telles que l’archivage et l’extraction du contenu du projet AEM. Reportez-vous à la section Comment utiliser l’outil VLT.
  • Si vous utilisez l’environnement de développement intégré Eclipse, vous pouvez utiliser les outils de développement d’AEM pour l’intégration homogène de l’IDE Eclipse avec les instances AEM, et ainsi créer des applications AEM. Pour plus d’informations, reportez-vous à la section Outils de développement d’AEM pour Eclipse.

Planification de l’environnement de création

Une fois votre projet AEM configuré, définissez la stratégie de création et de personnalisation des composants et modèles de formulaires adaptatifs.

  • Un modèle de formulaire adaptatif correspond à une page AEM spécialisée qui définit la structure et les informations d’en-tête/de pied de page d’un formulaire adaptatif. Il est composé de dispositions, de styles et d’une structure de base préconfigurés pour un formulaire adaptatif. AEM Forms propose des modèles et des composants prêts à l’emploi que vous pouvez utiliser pour créer des formulaires adaptatifs. Toutefois, vous pouvez créer des modèles et des composants personnalisés en fonction de vos besoins. Il est recommandé de regrouper les conditions dont vous aurez besoin dans vos formulaires adaptatifs pour les modèles et composants supplémentaires. Pour plus d’informations, reportez-vous à la section Personnalisation des composants et formulaires adaptatifs.
  • AEM Forms vous permet de créer des formulaires adaptatifs qui reposent sur les modèles de données suivants. Les modèles de données ont un rôle d’interface destinée à l’échange des données entre un formulaire et un système AEM, et fournissent une structure XML pour le flux de données dans le formulaire adaptatif ou à l’extérieur. En outre, les modèles de données imposent des règles et contraintes aux formulaires adaptatifs sous forme de schéma et de contraintes XFA. 
    • Aucun : les formulaires adaptatifs créés avec cette option n’utilisent pas de modèle de données. Les données XML générées à partir de ce type de formulaire présentent une structure plate avec des champs et des valeurs correspondantes.
    • Schéma XML ou XSD : le schéma XML représente la structure dans laquelle les données sont générées ou utilisées par le système principal d’une organisation. Il découple la conception de formulaire des données et associe un champ à sa valeur à l’aide de XPATH. Vous pouvez associer un schéma XML à un formulaire adaptatif et utiliser ses éléments pour ajouter du contenu dynamique à un formulaire adaptatif. Les données XML générées contiennent des données conformément au XPATH défini dans le schéma XML. Il s’agit du modèle de données de formulaire recommandé pour la création de formulaires adaptatifs. Pour plus d’informations, reportez-vous à la section Création de formulaires adaptatifs à l’aide d’un schéma XML.
    • Modèle de formulaire XFA : il s’agit du modèle de données de formulaire idéal si vous avez des investissements dans des formulaires HTML5 de type XFA. Il fournit une méthode directe de conversion des formulaires de type XFA en formulaires adaptatifs. Toutes les règles XFA existantes sont conservées dans les formulaires adaptatifs associés. Les formulaires adaptatifs qui en résultent prennent en charge les éléments XFA, tels que les validations, les événements, les propriétés et les motifs.

Il est important de sélectionner avec soin le modèle de données qui non seulement correspond à vos besoins, mais qui étend également vos investissements existants dans des actifs XFA et XSD, le cas échéant.

  • Certaines sections sont communes à tous les formulaires. Vous devez identifier ces sections et définir une stratégie pour encourager la réutilisation du contenu. Les formulaires adaptatifs vous permettent de créer des fragments autonomes et de les réutiliser dans plusieurs formulaires. Vous pouvez également enregistrer un panneau sous forme de fragment dans un formulaire adaptatif. Toute modification effectuée dans un fragment est répercutée dans tous les formulaires associés. Cette fonction vous permet de réduire le temps de création et garantit la cohérence entre les formulaires. En outre, l’utilisation de fragments réduit le volume des formulaires adaptatifs, ce qui entraîne une amélioration des fonctions de création, plus particulièrement pour les formulaires volumineux. Pour plus d’informations, reportez-vous à la section Fragment de formulaire adaptatif.

Personnalisation des composants et formulaires adaptatifs

  • L’installation d’AEM Forms propose des modèles de formulaire adaptatif intégrés que vous pouvez utiliser pour créer des formulaires adaptatifs. Selon vos besoins, vous pouvez créer des modèles personnalisés en ne partant de rien ou en utilisant pour base des modèles par défaut. Pour modifier l’en-tête/le pied de page ou le style d’une page AEM contenant un formulaire adaptatif, il est recommandé de créer un nouveau modèle ou d’en modifier un déjà existant pour créer un formulaire adaptatif. Pour plus d’informations, reportez-vous à la section Création d’un modèle de formulaire adaptatif personnalisé.
  • Les bibliothèques client d’AEM définissent l’apparence et le style d’un formulaire adaptatif. Vous pouvez créer des thèmes et les appliquer aux modèles de formulaire adaptatif pour apporter à vos formulaires un style et une image de marque cohérents. La fonction utilise des variables Less pour étendre les fonctionnalités CSS et vous permet de personnaliser les formulaires adaptatifs.Pour plus d’informations, reportez-vous à la section Création de thèmes de formulaire adaptatif personnalisés.
  • Les formulaires adaptatifs proposent des mises en page de panneau (dispositions réactives en onglet ou en accordéon par exemple) ainsi qu’un assistant pour contrôler la disposition des composants de formulaire. Vous pouvez créer des dispositions de panneau personnalisées et les rendre accessibles aux auteurs de formulaire. Pour plus d’informations, reportez-vous à la section Création de composants de disposition personnalisés pour les formulaires adaptatifs.
  • Intégrez une bibliothèque client à un composant pour appliquer de manière constante des styles aux formulaires adaptatifs ou fragments utilisant ce composant. Pour plus d’informations, reportez-vous à la section Création d’un composant de page de formulaire adaptatif.
  • Appliquez des styles définis dans une bibliothèque client pour sélectionner les formulaires adaptatifs, en spécifiant le chemin d’accès à la bibliothèque client dans le champ relatif au chemin d’accès au fichier CSS dans l’onglet style de la boîte de dialogue Edition du conteneur de formulaire adaptatif. 
  • Utilisez le style en ligne pour appliquer des styles à des composants spécifiques d’un formulaire adaptatif.
  • Vous pouvez également personnaliser les composants spécifiques d’un formulaire adaptatif tels que les champs et la disposition des panneaux.
    • Utilisez la fonctionnalité Recouvrement d’AEM pour modifier une copie d’un composant. Il n’est pas recommandé de modifier les composants par défaut.
    • Pour personnaliser la mise en page des composants de formulaire adaptatif prêts à l’emploi dans /libs, créez des composants de disposition personnalisés en plus des dispositions par défaut.
    • Intégrez les interactivités personnalisées en créant des widgets ou des apparences personnalisés. Il n’est pas recommandé de modifier les composants par défaut. Pour plus d’informations, reportez-vous à la section Aspect des structures.
  • Pour connaître les recommandations relatives à la gestion des données d’identification personnelle, reportez-vous à la section Gestion des informations d’identification personnelle.  

Création de formulaires adaptatifs

Utilisation de règles dans les formulaires adaptatifs

AEM Forms fournit un éditeur de règles qui vous permet de créer des règles pour ajouter un comportement dynamique aux composants de formulaire adaptatif. Grâce à ces règles, vous pouvez évaluer des conditions et déclencher des actions sur des composants, comme par exemple afficher ou masquer des champs, calculer des valeurs, dynamiser une liste déroulante, et plus encore.

L’éditeur de règles fournit un éditeur vidéo et un éditeur de code destinés à la définition des règles. Lorsque vous définissez les règles à l’aide de l’éditeur de code, vous devez prendre en compte les éléments suivants :

  • Utilisez des noms uniques et pertinents pour les champs de formulaire et les composants afin d’éviter tout conflit potentiel lors de la définition des règles.
  • Utilisez l’opérateur this pour un composant afin d’y faire mention lors de l’expression d’une règle. Cela vous permettra de vous assurer que la règle reste valide même si le nom du composant est modifié. Par exemple, field1.valueCommit script: this.value > 10.
  • Utilisez les noms de composant lorsque vous faites référence à d’autres composants de formulaire. Utilisez la propriété value pour récupérer la valeur d’un champ ou d’un composant. Par exemple, field1.value.
  • Désignez les composants selon une hiérarchie relative unique afin d’éviter tout conflit. Par exemple, parentName.fieldName.
  • Lorsque vous manipulez des règles complexes ou fréquemment utilisées, pensez à définir la logique d’entreprise comme fonctions dans une bibliothèque client distincte que vous pouvez spécifier et réutiliser dans les formulaires adaptatifs. La bibliothèque client doit être une bibliothèque autonome et ne doit donc avoir aucune dépendance externe, à l’exception de jQuery et Underscore.js. Vous pouvez également utiliser la bibliothèque client pour imposer la revalidation côté serveur des données de formulaire envoyées.
  • Les formulaires adaptatifs fournissent un ensemble d’API que vous pouvez utiliser pour communiquer et effectuer des actions sur des formulaires adaptatifs. Certains des API clés se présentent comme suit. Pour plus d’informations, reportez-vous à la section Référence d’API de bibliothèque JavaScript pour les formulaires adaptatifs.
    • guideBridge.reset() : permet de réinitialiser un formulaire.
    • guideBridge.submit() : permet de soumettre un formulaire.
    • guideBridge.setFocus(somExp, focusOption, runCompletionExp) : permet de mettre l’accent sur un champ.
    • guideBridge.validate(errorList, somExpression, focus) : permet de valider un formulaire.
    • guideBridge.getDataXML(options) : permet d’obtenir les données de formulaire en tant que XML.
    • guideBridge.resolveNode(somExpression) : permet d’obtenir un objet de formulaire. 
    • guideBridge.setProperty (somList, propertyName, valueList) : permet de définir la propriété d’un objet de formulaire.
    • En outre, vous pouvez utiliser les propriétés de champ suivantes :
      • field.value pour modifier la valeur d’un champ ;
      • f ield.enabled pour activer/désactiver un champ ;
      • field.visible pour modifier la visibilité d’un champ.
  • Mettez en place le processus pour parcourir les scripts et pour éviter qu’ils ne donnent des résultats inattendus.

Optimisation des performances de formulaires complexes et volumineux

Les auteurs de formulaires et les utilisateurs finaux sont généralement confrontés à des problèmes de performances lors du chargement de formulaires volumineux dans le mode de création ou lors de l’exécution. A mesure que le nombre d’objets (champs et panneaux) dans un formulaire augmente, les performances de création et d’exécution commencent à diminuer. Ainsi, il est impossible pour plusieurs auteurs de travailler simultanément à la création d’un formulaire.

Afin de résoudre ces problèmes de performances dans les formulaires volumineux, appliquez les meilleures pratiques suivantes :

  • Il est recommandé de créer si possible des formulaires adaptatifs à l’aide du modèle de données de formulaire XSD, et ce, même lors de la conversion d’un XFA en formulaire adaptatif.
  • Intégrez uniquement les champs et panneaux dans les formulaires adaptatifs qui recueillent les informations des utilisateurs. Maintenez le contenu statique au minimum ou utilisez les URL pour les ouvrir dans une fenêtre séparée.
  • Bien que chaque formulaire soit conçu pour un rôle spécifique, certains segments sont communs à la plupart des formulaires. Par exemple, les informations personnelles, l’adresse, les détails du poste, etc. Créez des fragments de formulaire adaptatif pour les éléments et sections de formulaire communs et utilisez-les dans les formulaires. Vous pouvez également enregistrer en tant que fragment un panneau d’un formulaire existant. Toute modification effectuée dans un fragment est répercutée dans tous les formulaires adaptatifs associés. Cette fonction favorise la création en collaboration : plusieurs auteurs peuvent ainsi travailler simultanément sur différents fragments composant un formulaire. Vous pouvez également inclure un fragment dans un formulaire.

    Comme pour les formulaires adaptatifs, il est recommandé de définir les scripts personnalisés et le style spécifiques aux fragments dans la bibliothèque client, via la boîte de dialogue relative au conteneur de fragment. Tentez également de créer des fragments autonomes qui ne dépendent pas d’objets extérieurs.

    Evitez d’utiliser un script de fragments croisés. Si vous devez désigner un objet situé hors du fragment, essayez de l’intégrer au formulaire parent. Si l’objet doit demeurer dans un autre fragment, mentionnez son nom dans le script.

  • Configurez les fragments à charger en différé. Au moment de l’exécution, le fragment qui doit être chargé en différé n’est rendu que lorsqu’il est nécessaire. Cette option permet de réduire considérablement le temps de chargement pour les formulaires volumineux. Pour plus d’informations, reportez-vous à la section Configuration du chargement différé.

Génération d’un document d’enregistrement

Un document d’enregistrement (DE) est une version PDF aplatie d’un formulaire adaptatif que vous pouvez imprimer, signer ou archiver. Selon le modèle de données de formulaire depuis lequel est établi un formulaire adaptatif, vous pouvez configurer un modèle de document d’enregistrement comme suit :

  • Modèle de formulaire XFA : utilisation du fichier XDP associé en tant que modèle de document d’enregistrement.
  • Schéma XSD : utilisation du modèle XFA associé qui emploie le même schéma XML que le formulaire adaptatif.

    En outre, vous pouvez générer automatiquement un document d’enregistrement pour un formulaire basé sur un schéma XSD. Le document d’enregistrement généré automatiquement constitue essentiellement un modèle XDP reposant sur la structure d’un formulaire adaptatif. L’avantage de l’utilisation d’un document d’enregistrement réside dans le fait que les modifications apportées aux formulaires sont répercutées dans le DE. Vous pouvez également télécharger et modifier le document d’enregistrement généré automatiquement dans Forms Designer et associer le modèle XDP modifié comme document d’enregistrement au formulaire. En outre, vous pouvez associer facultativement un métamodèle pour contrôler l’en-tête, le pied de page et la structure du document d’enregistrement généré automatiquement.

  • Aucun : utilisation d’un document d’enregistrement généré automatiquement.

Validation de formulaires adaptatifs sur le serveur AEM

Les validations côté serveur sont nécessaires pour empêcher toute tentative de contournement des validations du client, toute erreur potentielle lors de l’envoi de données et toute violation des règles de fonctionnement. Les validations côté serveur sont exécutées sur le serveur lors du chargement de la bibliothèque client requise.

  • Intégrez des fonctionnalités à une bibliothèque client pour valider les expressions dans les formulaires adaptatifs, et définissez la bibliothèque client dans la boîte de dialogue relative au conteneur des formulaires adaptatifs. Pour plus d’informations, reportez-vous à la section Revalidation côté serveur.
  • La validation côté serveur permet de valider le modèle de formulaire. Il est recommandé de créer une bibliothèque client séparée pour les validations et de ne pas la mélanger à d’autres éléments. Par exemple, ne placez pas le style HTML et la manipulation DOM HTML dans la même bibliothèque client.

Préparation du projet de formulaires à des fins de production

Ajout du serveur de traitement de formulaires

Vous pouvez configurer une instance supplémentaire du serveur AEM Forms situé derrière le pare-feu dans une zone sécurisée. Vous pouvez utiliser cette instance pour :

  • Le traitement par lots : tâches récurrentes ou programmées par lots comportant une charge importante. Par exemple, l’impression d’instructions, la génération de correspondances et l’utilisation de services de document comme PDF Generator, Output et Assembler.
  • Le stockage des données d’identification personnelle : enregistrer ses données d’identification personnelle sur le serveur de traitement. Cette fonction n’est pas nécessaire si vous utilisez déjà un fournisseur personnalisé de stockage pour les données d’identification personnelle.

Déplacement du projet vers un autre environnement

Il est souvent nécessaire de déplacer vos projets AEM d’un environnement à un autre. Certaines étapes clés à ne pas oublier lors du déplacement sont les suivantes :

  • Effectuez une sauvegarde des bibliothèques client existantes, de votre code personnalisé, ainsi que des configurations définies. 
  • Déployez manuellement les packages et correctifs du produit dans l’ordre spécifié dans le nouvel environnement.
  • Déployez manuellement et distinctement les packages et lots de code spécifiques au projet sur le nouveau serveur AEM. 
  • (AEM Forms sur JEE uniquement) Déployez manuellement les LCA et les DSC sur le serveur de processus des formulaires.    
  • Utilisez la fonctionnalité Importation/exportation pour déplacer des actifs vers le nouvel environnement. Vous pouvez également configurer l’agent de réplication et publier les actifs.

Configuration d’AEM

Certaines des meilleures pratiques de configuration d’AEM pour l’amélioration des performances générales sont les suivantes :

  • Activez la compression de la bibliothèque client HTML pour Javascript et CSS à partir de la console Felix. Reportez-vous à la section Clientlibs expliqué par l’exemple.
  • Masquez les bibliothèques client suivantes du répartiteur AEM pour améliorer la réactivité et la sécurité de vos formulaires publiés. 
    • guideRuntime 
    • guideRuntimeWithXFA
    • guides.I18N.de
    • guides.I18N.en
    • guides.I18N.es
    • guides.I18N.fr
    • guides.I18N.it
    • guides.I18N.js
    • guides.I18N.ko_KR
    • guides.I18N.pt_BR
    • guides.I18N.zh_CN
    • guides.I18N.zh_TW

Pour plus d’informations, reportez-vous à la section Répartiteur.

Traitement des informations d’identification personnelle

Le traitement des données d’identification personnelle (PII) représente l’un des principaux défis pour les entreprises. Certaines des meilleures pratiques de gestion de telles données sont les suivantes :

  • Les directives de conformité concernant les informations d’identification personnelle de votre entreprise peuvent vous limiter au stockage de ces données sur les serveurs AEM. Dans de tels cas, vous pouvez inscrire une action Envoyer personnalisée qui permet de stocker les données directement à l’extérieur de l’AEM, dans un espace de stockage sécurisé. Il est toutefois déconseillé d’utiliser des configurations par défaut pour les fonctions Enregistrer et Reprendre ou Enregistrement automatique car les données seraient toujours stockées dans le JCR. 
  • Par défaut, Forms Portal publie les données dans le stockage JCR et les reproduit. Toutefois, cette configuration soulève des inquiétudes si les données sont sensibles. Ici, vous pouvez choisir de stocker les données sur une autre instance de traitement AEM située derrière le pare-feu, à un emplacement sécurisé. Pour plus d’informations, reportez-vous à la section Intégration d’un composant brouillons & envois à la base de données.
  • Utilisez le composant de formulaire relatif aux termes et conditions pour demander le consentement explicite de l’utilisateur avant l’enregistrement automatique. Dans ce cas, activez l’enregistrement automatique uniquement lorsque l’utilisateur accepte les conditions énoncées.
  • Lors de l’intégration d’un système de stockage externe destiné à la conservation des données de formulaire, utilisez l’option Action d’envoi du Forms Portal ou activez l’option Activer les envois du portail dans la boîte de dialogue des actions d’envoi du formulaire. N’utilisez pas les actions d’envoi activant le stockage des données dans le JCR. Par défaut, les fonctions Enregistrer et reprendre et Enregistrement automatique stockent les données dans le portail et ne nécessitent aucune configuration.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne