Vous consultez actuellement l'aide de la version:

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. Il est recommandé d’utiliser XSD Model pour créer des modèles de formulaire car le fichier XML généré contient les données selon l’expression XPATH définie par le schéma. L’utilisation de XSD Model comme choix par défaut pour le modèle de données de formulaire est également utile, car il dissocie la conception de formulaire du système d’arrière-plan qui traite et consomme les données et il améliore les performances du formulaire en raison du mappage un-à-un du champ de formulaire. En outre, la valeur BindRef du champ peut être utilisée comme XPATH de sa valeur de données dans le fichier XML.

  • 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.
  • Créez des styles réutilisables qui peuvent être appliqués à tous les formulaires. Il est recommandé d’utiliser les thèmes pour définir le style des composants et des panneaux de formulaire. Les thèmes peuvent être appliqués sur différents formulaires pour définir un style homogène. 
  • Si un thème ne répond pas à vos besoins en matière de style, vous pouvez utiliser les classes prédéfinies telles que guideFieldNode, guideFieldLabel, guideFieldWidget et guidePanelNode pour appliquer un style commun dans plusieurs formulaires.
  • Pour définir le style d’une instance ou d’un panneau spécifique, utilisez le style en ligne. Vous pouvez également définir une classe dans un fichier CSS et spécifier le nom de classe dans la propriété CSS Class du composant.
  • 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 des propriétés du conteneur de formulaire adaptatif. 
  • Pour créer une bibliothèque client de vos styles, vous pouvez configurer le fichier CSS personnalisé dan la bibliothèque client de base de l’éditeur de thème ou dans les propriétés du conteneur de formulaire.
  • 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.
  • 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 l’interface utilisateur optimisée pour les écrans tactiles pour la rédaction

  • Utilisez le navigateur d’objets de la barre latérale pour accéder rapidement aux champs dans la partie la plus basse de la hiérarchie du formulaire. Vous pouvez utiliser la zone de recherche pour rechercher des objets dans le formulaire ou l’arborescence d’objets pour passer d’un objet à un autre.
  • Pour afficher et modifier les propriétés d’un composant dans le navigateur de composants dans la barre latérale, sélectionnez le composant, puis cliquez sur . Vous pouvez également cliquer deux fois sur un composant pour afficher ses propriétés dans le navigateur de propriétés.
  • L’utilisation des composants de formulaire adaptatif est recommandée uniquement dans les pages de formulaire adaptatif. Les composants dépendent de leur hiérarchie parent. Par conséquent, ne les utilisez pas dans une page AEM.
  • Utilisez les raccourcis clavier pour effectuer des actions rapides sur vos formulaires.

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.
  • Les auteurs de formulaire adaptatif peuvent avoir à écrire du code JavaScript pour créer la logique d’entreprise dans un formulaire. Lorsque JavaScript est puissant et efficace, il est probable qu’il fasse un compromis sur les attentes en matière de sécurité. Par conséquent, vous devez vous assurer que l’auteur du formulaire est une personne de confiance et qu’il existe des processus permettant de passer en revue et d’approuver le code JavaScript avant qu’un formulaire soit mis en production.

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é.

Débogage des formulaires adaptatifs avec le module externe Chrome AEM

Le module externe Chrome AEM est une extension de navigateur pour Google Chrome qui propose des outils de débogage des formulaires adaptatifs. Les auteurs de formulaire et les développeurs peuvent utiliser ces outils pour effectuer les actions suivantes :

  • Identification des étranglements et optimisation des performances en matière de rendu des formulaires
  • Correction des erreurs de mots-clés et bindRef dans le formulaire
  • Activation et configuration des journaux
  • Débogage des règles et des scripts dans le formulaire
  • Découverte et apprentissage des API guideBridge

Pour plus d’informations, voir AEM Chrome Plug-in - Adaptive Form.

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.

Localisation des formulaires adaptatifs

AEM fournit des flux de travaux de traduction que vous pouvez utiliser pour localiser les formulaires adaptatifs. Pour plus d’informations, voir Utilisation de processus de traduction AEM pour la localisation des formulaires adaptatifs.

Certaines meilleures pratiques en matière de localisation des formulaires adaptatifs sont les suivantes :

  • Utilisez les fragments de formulaire adaptatif pour les éléments courants des formulaires et localisez les fragments. De cette façon, vous localisez un fragment une seule fois et il apparaît localisé dans tous les formulaires où il est utilisé.
  • Les modifications telles que l’ajout d’un nouveau composant ou l’application d’un script dans un formulaire localisé ne sont pas localisées automatiquement. Par conséquent, vous devez finaliser un formulaire avant de le localiser pour éviter plusieurs cycles de localisation.    
  • Utilisez le paramètre de requête afAcceptLang pour remplacer la langue du navigateur et pour rendre le formulaire dans la langue spécifiée. Par exemple, l’URL suivante force à effectuer le rendu du formulaire en japonais, indépendamment du paramètre régional spécifié dans les paramètres du navigateur :
    http://[server]:[port]/<contextPath>/<formFolder>/<formName>.html?wcmmode=disabled&afAcceptLang=ja
  • AEM Forms prend actuellement en charge la localisation du contenu de formulaire adaptatif vers l’anglais (en), l’espagnol (es), le français (fr), l’italien (it), l’allemand (de), le japonais (ja), le portugais brésilien (pt-br), le chinois (zh-tn), le chinois de Taïwan (zh-tw) et le coréen (ko-kr). Cependant, vous pouvez ajouter la prise en charge de nouveaux paramètres régionaux pour les formulaires adaptatifs à l’exécution. Pour plus d’informations, voir Support de nouveaux paramètres régionaux pour la localisation de formulaires adaptatifs.

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 on 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 :

 

Configuration du stockage pour les données de brouillons et de formulaires envoyés

Dans un environnement de production, il est recommandé de ne pas stocker les données de formulaire envoyées dans le référentiel AEM. La mise en œuvre par défaut des actions d’envoi Forms Portal Store, Stocker le contenu et Stocker le PDF stockent les données de formulaire dans le référentiel AEM. Ces actions d’envoi servent uniquement à des fins de démonstration. En outre, les fonctions Enregistrer et reprendre et Enregistrement automatique stockent les données dans le portail par défaut. Par conséquent, prenez en compte les recommandations suivantes :

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 :

  • Utilisez un stockage sécurisé et externe, comme une base de données, pour le stockage des données de brouillons et de formulaires envoyés. Voir Configuration du stockage pour les données de brouillons et de formulaires envoyés.
  • 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.

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