# Bibliothèque

La bibliothèque est le lieu où vous pourrez créer et/ou modifier divers éléments clés comme les tableaux de bords, les requêtes en base de données ou encore les documents Word pour le publipostage.

Dans le menu latéral, allez dans le "Studio" puis cliquez sur "Bibliothèque".

Deux possibilités s’offrent à vous : soit modifier un élément existant, soit en créer un nouveau.

# Charger un élément

Cliquez sur ouvre une boîte de dialogue :

Choisissez le type et le nom.

Par défaut, la dernière version est chargée. Si vous souhaitez charger une version antérieure, sélectionnez-la dans le menu déroulant approprié. L’élément se charge automatiquement une fois la sélection faite. Vous pouvez alors fermer la boîte de dialogue ou cliquer en dehors pour la faire disparaître.

Il est également possible de charger un élément enregistré en dehors de la plateforme. Pour ce faire, cliquez sur . Ce bouton ouvre une boîte de dialogue :

Cliquez sur "charger (fichier)" puis sélectionnez le fichier sur votre ordinateur.

# Enregistrer un élément

Nous avons cet élément par exemple.

Nous l’avons modifié et souhaitons l’enregistrer dans une nouvelle version.

Cliquer sur le bouton l’enregistre sur la plateforme. Il est aussi possible de l’enregistrer sur un ordinateur en cliquant sur puis sur .

Vous pouvez aussi enregistrer les modifications sans changer la version.

# Renommer un élément

Cliquez sur . Une boîte de dialogue s’ouvre.

Entrez le nouveau nom puis cliquer sur le bouton "Renommer".

# Créer des zones de signatures électroniques

Cette fonctionnalité permet de créer et positionner des zones de signatures électroniques. Elle ne fonctionne que sur des documents pdf.

À l’ouverture, le type de document est "Document_zone" par défaut. Sélectionnez le document voulu voir la procédure.

# Exemple de paramétrage

Voici un exemple avec la fiche générale de synthèse après sélection.

Sélectionnez la page voulue ici : . Puis rendez-vous sur la zone des signatures, ici en bas de page. Cliquez n’importe où sur le document en maintenant enfoncé le bouton gauche de la souris puis déplacer le document pour faire apparaître les signatures. La roulette de la souris permet de zoomer/dézoomer. si vous êtes perdu.

Cliquez sur pour ajouter une zone de signature.

La nouvelle signature apparaît en haut à gauche du document. Faîtes un clic droit à l’endroit où vous souhaitez la déplacer.

Les dimensions de la zone sont paramétrées pour un service de signature électronique comme celui-ci par exemple.

Recommencez l’opération autant de fois que nécessaire pour couvrir toutes les signatures.

La zone de signature "active" apparaît de couleur saumon alors que les autres sont violettes. La zone "active" est également en gras dans la partie droite listant toutes les zones.

Changer de zone "active" se fait en cliquant sur .

Le bouton supprime la zone. L’ordre des zones de signatures est alors modifié.

Attention! L’ordre des signatures est important. la première signature doit correspondre au premier signataire envoyé au service de signature électronique, le second au second, etc.

Une fois toutes les zones paramétrées, n’oubliez pas de donner à votre travail un nom, une version et de l’enregistrer.

# Créer un tableau de bord

Il faut tout d’abord sélectionner le type.

Puis lui donner un nom et une version.

L’enregistrement est dès lors possible.

Un titre est nécessaire.

La construction d’un tableau de bord reprend le principe de grille de Bootstrap. Une page est constituée de lignes. Chaque ligne comporte 12 colonnes quelque soit le nombre de blocs en son sein. Un bloc peut avoir une largeur de 1 à 12 colonnes. Voici la représentation d’une grille et de ses blocs :

La première chose à faire est donc de créer une ligne avec le bouton .

Puis il faut ajouter le premier bloc avec .

Au besoin, le bouton supprime le bloc et cliquer sur efface la ligne.
Le bouton permet de prévisualiser le résultat avant tout enregistrement.

# Paramètres des blocs

Cliquer sur "Nouveau bloc" fait apparaître ses paramètres.

  • Nom : il s’agit du nom du bloc. Il apparaîtra dans le tableau de bord.
  • Type : il y en a 4.
  • Longueur : de 1 à 12 colonnes. Si laissé vide, le bloc prend toute la place disponible sur la ligne.

# Type "texte"

Selon la taille du bloc, il peut être judicieux de limiter le texte visible afin de ne pas dénaturer la présentation globale de la page. C’est là où les options "Texte - petit" et "Texte - grand" sont utiles. Voici un exemple où le texte est le même dans les deux cas mais avec un bloc voisin ("Mémorialistes 2023") qui présente un compteur dans sa vue réduite.

Paramétrage :

Prévisualisation :

Tout le texte est présent dans la version réduite du bloc de texte. Son voisin, qui n’a rien d’autre à présenter qu’un compteur en mode réduit, a alors une taille disproportionnée. Il est alors préférable de réduire la taille du texte en mode réduit. L’intégralité du texte est en revanche conservée pour le mode "agrandi" (voir plus bas).

Cliquer sur agrandit le bloc sur toute la ligne. L’intégralité du texte défini dans l’option "Texte - grand" est alors visible.

Cliquer sur réduit le bloc.

# Type "Vue base de données"

Les vues sont les résultats des requêtes créées et enregistrées via le type "Requêtes DB". En tant que data visualisation, le tableau de bord est le complément direct des vues puisqu’il permet de voir d’un simple coup d’œil les données clés en les centralisant sur une même page.

Les paramètres du bloc se présentent ainsi :

La vue est choisie dans une liste déroulante.

Comme précédemment avec le bloc "texte", celui-ci dispose d’un paramétrage pour les vues réduites et agrandies. Toutes deux ont les mêmes paramètres.

  • Description : un texte présentant la vue. Par exemple :

Vue réduite : Vue agrandie :

  • Paramètres : fait apparaître un bouton appelant les paramètres définis dans la vue utilisée.
  • Type : liste les types accessibles.
    • Tableau : présente les données sous forme de tableau.
      • Voir le nombre de résultats : présente le nombre de ligne du tableau.
      • Cacher les options de tableau : permet de cacher la roue crantée bleue en bas à gauche du tableau regroupant ces options.
    • Nombre de lignes : spécialement utile dans une vue réduite. Présente le nombre de lignes d’un tableau pour une lecture rapide. Dans le cas où une description serait nécessaire, il est possible de la mettre au singulier ou au pluriel pour couvrir tous les cas.
    • Liste : présente les données sous forme de liste dont il est possible de paramétrer l’affichage via du code html dans le champ "Template".
    • Calendrier : présente les événements dans un calendrier.
      • Colonne des dates : désigne la colonne regroupant les dates à afficher.
      • Template - titre et Template - description : fonctionnent tous deux de la même manière. Ils permettent de mettre en forme des données dynamiques provenant de la table utilisée dans la vue via du code JavaScript.

        Voici un exemple de mise en forme pour le titre au sein d’une cellule du calendrier : Regardons en détails ce template.
        • Il met en forme plusieurs variables.
          "${}" cette expression enserre du code générant une variable.
          Variables : en informatique, les variables associent un nom à une valeur qui peut changer au cours du temps. Exemple : ici "data.prenom_utilisateur" varie selon les prénoms des utilisateurs présents dans la vue. De cette façon, une ligne de code permet de construire l’intégralité du calendrier avec tous les prénoms, noms, événements et dates de tous les stagiaires. data. appelle une colonne de la vue et son contenu (date, prenom_utilisateur, etc).
          moment(data.date).format("DD/MM/YYYY") met les dates stockées dans la base de données au format anglosaxon au format français.
          "-" et ":" séparent les variables afin de les présenter correctement comme on le ferait dans une phrase classique.
      • Nombre de mois - ligne : si vide, un seul mois est présenté. Si plus, plusieurs mois seront affichés sur le tableau de bord de cette façon :
      • Nombre de mois - colonnes : de la même façon, un seul calendrier est présenté en colonne si le champ est laissé vide, plusieurs si un nombre est précisé : 

# Type "Actions"

Ce bloc fait apparaître les actions à réaliser pour chaque utilisateur. Comme pour les autres blocs, le nom et la longueur doivent être précisés.

Outre son nom et le nombre d’actions en attente, le bloc présente également le nom de la prochaine action :

Agrandir le bloc, passe les actions en plein écran. Ce qui permet d’agir directement dans cette fenêtre comme pour le remplissage d’un formulaire ou encore le téléversement de documents par exemple.

# Type "Notifications"

Comme son nom l’indique, ce bloc présente les notifications propres à chaque utilisateur. Son nom et sa longueur doivent être précisés.

Les notifications peuvent être supprimées avec

Il peut être agrandi/réduit comme tous les blocs.

# Créer une requête DB

Cet élément permet de créer une requête sur une ou plusieurs tables de la base de données. Une table regroupe des données par thème et a un nom. Par exemple, la table "contact" regroupe toutes les informations de contact des uitilisateurs de la plateforme (noms, prénoms, adresses, téléphones, adresses mails, etc).

Les données étant séparées par thèmes, il peut être utile d’effectuer des requêtes sur plusieurs tables pour regrouper des informations dispersées. Nous verrons ce point par la suite.

Chaque requête offre une "vue" sur les données recherchées.

Attention! Trier des informations d’une table requiert l’utilisation de notre constructeur de requête.

Comme pour les autres éléments de la bibliothèque, il faut choisir le type en question, lui donner un nom et une version avant de l’enregistrer.

Le bouton ouvre la section consacrée à la nouvelle table.

  • Table : est un menu déroulant listant toutes les tables de la base de données. Choisissez celle sur laquelle vous souhaitez travailler.
  • Nom : par défaut identique à la table sélectionnée. Peut-être modifié.
  • Conditions : deux éléments sont ici disponibles :
    • Le constructeur de requête dont le fonctionnement est décrit ici et ;
    • Un champ libre où vous pouvez directement écrire la condition en MySQL en écrivant seulement la condition après le "WHERE". Utile en complément du constructeur de requête. Voir la documentation MySQL.

# Requête sur une table

L’utilisation la plus simple consiste à afficher le contenu d’une table triée sur un critère spécifique, par exemple : les stagiaires 2023. Une fois la table sélectionnée, la liste des colonnes apparaît.

  • Sélectionner : les colonnes sont toutes sélectionnées par défaut. Ce qui signifie qu’elles apparaîtront dans le résultat final. Si certaines sont inutiles, décochez les cases correspondantes. Les boutons (dé)sélectionnent toutes les colonnes au besoin.

  • Colonnes : les noms des colonnes de la table.

  • Noms dans le fichier de résultats : les noms des colonnes tels qu’ils seront affichés dans la vue finale. Ils sont composés ainsi par défaut : "nom de la table défini au-dessus" + "_" + "nom de la colonne".
    Ce qui nous donne pour ce paramétrage :

    Vous pouvez retirer le nom de la table s’il est inutile avec ce bouton ou au contraire l’ajouter avec celui-ci .
    Les noms des colonnes peuvent aussi être modifiés manuellement.

  • Exemple : donne un exemple de donnée pour chaque colonne basé sur la première ligne de la table.

  • Autres boutons :
    permet de rafraîchir les colonnes après toute modification des colonnes de la table utilisée (ajout, suppression, changement de nom). Ce rafraîchissement est nécessaire car il ne peut être fait automatiquement. Sans cela, la vue ne fonctionnera pas après les modifications de la table utilisée.
    supprime la table.

Pour nous assurer de ne trier que des stagiaires, nous allons préciser la "qualité" des contacts qui devra avoir la valeur "MEMORIALISTE". La condition peut être écrite en minuscules ou majuscules; elle est insensible à la casse. Puis, leurs dates d’inscription devront être comprises entre le 01 janvier et le 31 décembre 2023.

Ce qui nous donne ces conditions :

Cliquer sur le bouton permet de prévisualiser le résultat.

Il y a trop de colonnes. Nous allons garder le strict nécessaire : nom, prénom, mail et les téléphones fixes et mobiles en modifiant légèrement les noms des colonnes restantes.

Cette vue est paramétrée. Une fois enregistrée, elle pourra être insérée dans un tableau de bord.

# Requête sur plusieurs tables

Voir la requête sur une table pour connaître le fonctionnement de base de l’interface.
Les tables regroupant les informations par thèmes, il est fréquent de devoir effectuer des requêtes sur plusieurs tables (jointures). Pour de plus amples détails au sujet des différents types de jointures, voir ici.

Voici un exemple de jointure sur deux tables. Nous voulons connaître la liste des dossiers d’inscription en attente de validation. Et afin de simplifier la communication avec les stagiaires, nous avons besoin de savoir à qui appartiennent ces dossiers et comment les joindre. Nous partons donc de la table "dossier_inscription" regroupant l’avancée des dossiers, à savoir : quels documents ont été signés (lettre d’obligations du stagiaire, charte d’engagement des maîtres de stage et des éventuels maîtres de stage CAC, etc). Si tous les documents requis ont été signés alors la colonne "dossier_complet" porte la mention "OK". Elle est vide dans le cas contraire. La première étape est donc de lister tous les dossiers complets en attente de validation. Ce qui se traduit ainsi :

Nous souhaitons conserver toutes les colonnes à l’exception des identifiants de ligne. Nous retirons le nom de la table dans les noms de colonnes ().Ce qui nous donne ceci :

Nous ajoutons une seconde table. Une nouvelle section de paramètres apparaît permettant de sélectionner la seconde table et de préciser le type de jointure ("left join" par défaut) et ses règles.

La seconde table est la table "contact" afin de récupérer les informations des stagiaires. Nous voulons conserver l’intégralité des lignes sélectionnées dans la première table auxquelles nous allons ajouter les informations des stagiaires pour chaque ligne. "Left join" est alors le type de jointure requis. Toutefois, nous devons préciser sa règle. Pour ce faire, nous avons besoin d’une clé commune permettant de faire le lien entre chaque dossier et son stagiaire. Ici, il s’agit de la colonne "identifiant_utilisateur" qui se retrouve dans les deux tables.

Exemple de la table "contact" :

Le paramétrage nécessaire :

La règle de jointure est la suivante : "nom de la première table + "." + "nom de la colonne clé" + "=" + "nom de la seconde table" + "." + "nom de la colonne clé".

  • Nom de la première table : on part de la table "dossier_inscription";
  • Nom de colonne clé : la colonne clé de la première table : "identifiant_utilisateur" ici;
  • Nom de la seconde table : "contact";
  • Nom de la colonne clé : colonne clé de la seconde table : "identifiant_utilisateur". Dans cet exemple, les deux colonnes portent le même nom mais ce n’est pas toujours le cas.

Ne souhaitant conserver que les informations strictement nécessaires de cette seconde table "contact", seules les colonnes "nom","prenom", "tel_mobile" et "tel_fixe" seront gardées.

Ces nouvelles colonnes s’ajoutent à la suite des colonnes de la première table.

Notre requête est terminée. Après enregistrement, elle sera disponible dans le module de création des tableaux de bord.

# Paramètres de la vue

Ces paramètres utilisent le langage MySQL. Ils complètent ou remplacent les paramètres précédemment évoqués. Ils offrent une souplesse supplémentaire mais sont techniques.

  • Conditions : ces conditions s’écrivent comme celles des tables. Vous pouvez décider d’écrire vos conditions après la sélection de vos tables et les éventuelles jointures au lieu de les préciser pour chaque table.

  • Sélection : offre plusieurs actions :

    • Sélectionner : au lieu de cocher les colonnes souhaitées dans la vue finale pour chaque table, il est possible de les sélectionner ici de manière globale (en ayant pris soin de retirer la sélection de toutes les colonnes de toutes les tables).
      À titre d’exemple, si nous souhaitons afficher seulement les colonnes "identifiant_utilisateur", "dossier_complet", "nom" et "prenom" des tables "dossier_inscription" et "contact", cela donnerait ceci :

      Il est nécessaire de préciser la table avant le nom de la colonne seulement si plusieurs tables comportent le même nom de colonne comme ici, où les deux tables ont une colonne nommée "identifiant_utilisateur". Les noms de colonnes peuvent être les noms originaux présents dans les tables ou les nouveaux noms que vous avez définis.
      Par exemple, si vous avez défini un nouveau nom pour la colonne "identifiant_utilisateur" dans la table "dossier_inscription"
      vous pouvez écrire votre sélection ainsi :

      Ce qui vous donnera cela :

    • Réorganiser : les colonnes finales peuvent être réorganisées. Il suffit de les déclarer dans l’ordre voulu. Par exemple, nous repositionnons les nom et prénom en début de ligne pour une lecture plus fluide.

    • Renommer : il est possible de renommer tout ou partie des colonnes dans le cas où elles n’auraient pas été renommées dans les tables en utilisant le mot-clé "AS".

  • Grouper par : des enregistrements (lignes des tables) peuvent être regroupés quand ils ont la même valeur dans une colonne précise.
    Par exemple, nous souhaitons connaître le nombre de stagiaires par département. Pour ce faire, nous utilisons la table "contact" qui nous donne les départements de résidence de chaque stagiaire. Puis nous sélectionnons la colonne "departement" et nous trions sur cette colonne. Mais nous allons également effectuer une opération sur cette colonne en additionnant toutes les occurences de chaque département en utilisant la fonction "COUNT()". Nous affichons ces résultats dans une nouvelle colonne nommée "nb stagiaires". Enfin, nous ordonnons les résultats par département. Ce qui nous donne les paramètres et les résultats suivants :

  • Ordonner par : il s’agit là de trier les résultats selon les données d’une ou plusieurs colonnes. Le tri est par défaut "descendant" (A->Z) noté "ASC" mais vous pouvez l’inverser en précisant "DESC".
    Par exemple, ici nous ordonnons les lignes selon l’ordre alphabétique des noms :

  • Nombre de résultats : nombre de lignes renvoyées par la requête. 1000 par défaut. Peut être augmenté selon les besoins.

  • Numéro de pages : 1 par défaut. La requête affiche les résultats à partir de la première page et l’ensemble des enregistrements est accessible par la pagination.
    Il est possible par exemple de n’afficher que la seconde page des résultats. Pour ce faire, il faut préciser le nombre de lignes voulues dans l’option "Nombre de résultats" et le numéro de la page souhaitée. Par exemple pour une présentation de 10 lignes :

    Seules les lignes 11 à 20 seront visibles et la pagination disparaît :

# Paramètres vue-tableau de bord

La dernière section de paramètres permet de créer des options pour la création des tableaux de bord et/ou pour l’utilisation même du tableau de bord par l’utilisateur final. Ces paramètres de vue offrent deux cas d’usages types :

  • 1 - permettre à l’utilisateur final de faire une recherche spécifique par exemple : un nom, un département, une date, etc.
  • 2 - permettre au créateur du tableau de bord de créer plusieurs blocs distincts à partir de la même vue en effectuant un tri supplémentaire sur ces mêmes variables. Par ex, il est possible de créer une vue de tous les mémorialistes et de créer trois blocs pour trois années d’inscription différentes.

Cliquer sur ouvre une nouvelle section. Dans un souci de clarté, seules les options utiles aux exemples seront développées par la suite.

Ce "paramètre 1" permet de créer la première variable. Recliquer sur en ajoute une seconde, etc.

# Exemple 1 : créer un champ de recherche pour l’utilisateur final

L’objectif est de permettre aux utilisateurs du tableau de bord de rechercher les informations d’une personne dans la table "contact". Pour ce faire nous créons une vue basée sur la table "contact" (voir ici pour le tutoriel de création d’une vue basée sur une seule table). Puis nous ajoutons le champ de recherche dans les paramètres "vue-tableau de bord".

Il nous faut tout d’abord un nom "technique". C’est le nom de la variable dans laquelle sera stocké le nom recherché. Mieux vaut éviter les accents et autres caractères spéciaux. De même, il est préférable de remplacer les espaces par des "_".

Nous avons ensuite besoin du nom qui s’affichera dans l’interface utilisateur. Celui-ci peut être écrit comme bon vous semble.

Ce champ de recherche devra être impérativement rempli pour obtenir des informations. "Obligatoire" est donc coché.

Le champ devra être vu par l’utilisateur final. Cette case doit être cochée :

Les autres champs et options sont inutiles dans notre cas.

Reste à écrire la condition permettant l’affichage du résultat de la recherche. La colonne "nom" doit être égale à la variable contenant le nom à rechercher, ici "recherche_nom". Ce qui s’écrit ainsi.

Le champ de recherche apparaît alors au-dessus du bouton "Exécuter" permettant la prévisualisation. Cliquer sur ce bouton sans avoir rempli le champ de recherche ne renvoie aucune ligne mais on peut voir que la requête fonctionne (elle serait en rouge dans le cas contraire).

Voici ce que cela donne en entrant un nom (la recherche est insensible à la casse):

La requête fonctionne bien. On peut l’enregistrer et aller dans le module de création de tableau de bord pour la suite du paramétrage.

Dans le module de création de tableau de bord, on ajoute un bloc de type "Vue base de données" à un tableau pré-existant ou à un nouveau et on coche la case "Paramètres" afin de rendre visible le champ de recherche pour l’utilisateur final.

Dans ce bloc nommé "recherche", il est possible de tester son bon fonctionnement grâce à la variable :
On entre un nom puis on clique sur "Executer". Attention à vider le champ de recherche pour un affichage correct côté utilisateur car il s’agit là de la valeur d’affichage par défaut.

Côté utilisateur, nous aurons ceci :

Avec ce résulat de recherche par exemple :

Le paramétrage est terminé.

# Exemple 2 : créer plusieurs blocs de tableau de bord à partir d’une seule requête

L’objectif est de créer une requête regroupant tous les mémorialistes quelque soit leur année d’inscrption afin de pouvoir créer plusieurs blocs, un par année d’inscription, à partir du module de création de tableau de bord.

Nous commençons par créer une requête à partir de la table "contact" en ne conservant que les mémorialistes (voir ici pour le tutoriel de création d’une vue basée sur une seule table).
Nous créons ensuite les variables permettant de sélectionner les dates nécessaires aux tris des mémorialistes.

Ici, le tri par dates s’effectue par intervalle. Nous avons besoin d’une date pour les bornes inférieure et supérieure.

  • Borne inférieure : Nous avons besoin d’un nom technique. C’est le nom de la variable dans laquelle sera stocké la première date et qui sera utilisée dans les conditions (voir plus loin). Mieux vaut éviter les accents et autres caractères spéciaux. De même, il est préférable de remplacer les espaces par des "_".

    Puis il nous faut le nom qui s’affichera dans le module de création de tableau de bord. Celui-ci peut être écrit comme bon vous semble.

    Cette date devra être impérativement remplie. "Obligatoire" est donc coché.

    De même, elle devra être vue par le créateur du tableau de bord. Cette case doit être cochée :

    Le type html devra être "date" afin de choisir une date dans un calendrier.

    Les autres champs et options sont inutiles dans notre cas. Ce qui donne le paramétrage suivant :

  • Borne supérieure : Nous procédons de la même façon que pour la borne inférieure en modifiant les noms des champs requis.

Reste à écrire la condition permettant l’affichage du résultat de la recherche. La colonne "date_inscription" de la table "contact" doit être comprise entre les bornes inférieure et supérieure de l’intervalle.

Les champs de type "calendrier" apparaissent alors au-dessus du bouton "Exécuter" permettant la prévisualisation. Cliquer sur ce bouton sans avoir rempli les dates ne renvoie aucune ligne mais on peut voir que la requête fonctionne (elle serait en rouge dans le cas contraire).

Voici ce que cela donne en entrant deux dates (attention à bien respecter l’ordre des JJ/MM/AAAA qui varient selon les navigateurs).

La requête fonctionne bien. On peut l’enregistrer et aller dans le module de création de tableau de bord pour la suite du paramétrage.

Dans le module de création de tableau de bord, on ajoute un bloc de type "Vue base de données" à un tableau pré-existant ou à un nouveau. Contrairement à l’exemple 1, il est inutile de cocher la case "Paramètres" car l’utilisateur final n’aura pas le contrôle sur les dates. Nous aurons trois blocs à créer afin d’afficher les mémorialistes 2021, 2022 et 2023.

Il nous faut préciser l’intervalle des dates d’inscription à afficher.

Le paramétrage de ce bloc est terminé. Les deux blocs suivants se paramètrent sur le même modèle en modifiant uniquement les dates. Voilà ce que donne le tableau de bord une fois les trois blocs créés. On a bien trois listes distinctes correspondant aux trois années.

# Créer un élément Docx

# Préparation des documents

Avant toute chose, l’utilisation de cette fonctionnalité nécessite une mise en forme du document Word à utiliser. En effet, il faut mettre les variables entre doubles accolades afin qu’elles soient reconnues comme telles par la plateforme.

Partons de ce document, le courrier de validation d’inscription :

Les variables sont ici surlignées de jaune. Et voici maintenant le document préparé :

Le document devra être enregistré au format .docx dans les documents à l’adresse "/Admin/documents" où sont stockés les documents propres à l’administration de la plateforme. Voir le chapitre de la gestion électronique des documents pour l’enregistrement d’un fichier dans la GED.

# Création

Le menu déroulant "Type" permet de choisir le type d’élément sur lequel travailler.

La définition des noms et des versions se fait dans les champs "nom" et "version" comme ici :
Plus d’informations ici

# Document de départ

Ensuite vient la sélection du document Word sur lequel travailler. Cliquer sur donne accès à la GED. Naviguez jusqu’au dossier contenant le document voulu.

Cliquez sur le bouton pour sélectionner le document voulu. Le bouton est alors modifié en . Cliquez dessus pour le désélectionner si besoin.

Le document sélectionné apparaît en bas de page. Cliquez de nouveau sur pour fermer la section de la GED. L’écran ressemble alors à ceci :

# Paramètrage

Cliquez sur l’onglet "Paramètres" pour retrouver toutes les variables du document.

  • Nom : colonne listant les noms des variables du document.

  • Valeur : valeurs des variables. Cela peut être un nombre, une date ou un texte fixe ou le nom d’une colonne d’une table en base de données ou d’un tableau - nécessaire pour un publipostage. Enfin, on peut laisser le champ vide s’il s’agit d’un paramètre de traitement (voir plus bas).

  • Transformation du texte : il peut être nécessaire de formater les informations de la base de données ou du tableau comme écrire une adresse en minuscules par exemple. Plusieurs options sont disponibles :

    • Minuscule : passe le texte en minuscules.
    • Majuscule : passe le texte en majuscules.
    • Nom propre : la première lettre du mot est en majuscule, le reste en minuscules.
    • 1ère lettre en majuscule : la première lettre d’une expression est en majuscules et les suivantes en minuscules.
  • Paramètres de traitement : certaines variables comme par exemple la date et le lieu de la session du conseil changent au cours de l’année et doivent donc être précisées lors de chaque publipostage. voir la section traitements

# Exemple de paramétrage

Voyons ce que cela donne avec un exemple. Nous allons paramétrer le courrier de validation d’inscription utilisé plus haut. Pour ce faire, rendons-nous dans la section "Données de test et paramétrage".

Trois options s’offrent à nous :

  • Tableau : permet d’importer un fichier .csv.
  • Base de données : permet de choisir une table de la base de données.
  • Base de données - multitables : permet de sélectionner le résultat d’une requête multitables pré-enregistrée.

Les informations des nouveaux stagiaires sont enregistrées dans la table "contact" de la base de données. Afin de nous assurer de prendre les bonnes personnes, nous effectuons une requête en ne conservant que les "mémorialistes" inscrits dans le courant de l’année 2023.

En cliquant sur le bouton "Exécuter requête", nous obtenons bien les 117 inscrits.

En cliquant sur le bouton , une première correspondance est faite entre les variables et les colonnes de la table.

Les variables "CP" et "Civilité" n’ont pas été reconnues car trop éloignées des noms des colonnes de la table. Il est possible de les ajouter manuellement avec le risque de commettre des erreurs ou de cliquer sur qui récupère les colonnes et crée un menu permettant de sélectionner plus rapidement les colonnes dans les champs "Valeur".

Menu avant la récupération :

Menu après la récupération :

Nous sélectionnons les colonnes pour les variables "Civilité" et "CP" et vérifions le résultat dans l’onglet "Prévisualiser".

Nous pouvons constater que la première section du document ne nécessite aucun changement.

En revanche, la "Civilité" du corps du texte nécessite d’être modifiée.

Pour ce faire, retournons dans l’onglet "Paramètres" et transformons le texte

Dans l’onglet "Prévisualiser", le résultat devient :

Reste deux variables ("Lieu SC" et "date SC") appelées à être modifées par l’administratrice lors du lancement des publipostages pour lesquelles les cases "Paramètres de traitement" sont cochées.

Le paramétrage est terminé. Il ne reste plus qu’à l’enregistrer avec le bouton (ne pas hésiter à enregistrer votre travail, même partiel par mesure de sécurité). Le document peut désormait être appelé dans les traitements. voir les traitements

Si le courrier est destiné à être signé électroniquement, un paramétrage de la zone de signature sera nécessaire. Plus d’informations ici.

# Éditeur de règles

# Création d’une règle

Sélectionnez le type "Règle" dans le menu déroulant "type".

La définition des noms et des versions se fait dans les champs "nom" et "version" comme ici :

Plus d’informations ici

# Données initiales des règles

  • Tableau : pour entrer un tableau csv ou xlsx. Sélectionnez "Tableau" dans le menu déroulant puis téléverser votre fichier csv en cliquant sur .

  • Base de données :

    Vous permet d’utiliser une table de votre base de données. Sélectionnez "Base de données" puis votre table dans le second menu déroulant.

  • Base de données - multitables :

    Sur le même modèle que plus haut, cette option vous permet d’utiliser une requête pré-enregistrée. Sélectionnez "Base de données - multi-tables" puis votre requête dans le second menu déroulant.

Il est possible de trier les lignes de vos données initiales en utilisant notre constructeur de requêtes.

D’autre part, vous pouvez limiter le nombre de lignes à tester en sélectionnant les lignes cibles par un clic droit sur la ou les lignes concernées.

Cliquez sur "Sélectionner la ligne". La ligne est alors surlignée de bleu. Si vous n’en choisissez pas d’autres, elle sera la seule à être testée. Pour un lot de lignes, sélectionnez la première comme précédemment puis faites un clic droit sur la dernière et cliquez sur "Sélectionner multiples lignes".

Toutes les lignes sélectionnées sont alors surlignées.

# Options

  • Ignorer la casse dans les conditions : ignore la casse dans les conditions comme son nom l’indique. Ces deux conditions sont alors identiques :

  • Listes : Cette option permet de créer une liste de valeurs à partir d’une colonne d’une table de votre base de données. Prenons l’exemple des catégories d’instruments de musique.

    Nous voulons construire des conditions sur les noms français des catégories ("name_fr" ici). Elles sont très nombreuses et il serait risqué (fautes de frappe) et fastidieux de devoir les écrire "à la main". C’est pourquoi nous allons créer une liste. Pour ce faire, cliquons sur . Une fenêtre de dialogue s’ouvre :

    Nous n’avons pas encore de liste, c’est pourquoi la fenêtre ne propose qu’une option "Ajouter une liste". Cliquons dessus.

    Nommons cette liste.

    Nommons ensuite la colonne qui sera concernée par cette liste dans les conditions.

    Choisissons la table de la base de données où se trouvent les catégories.

    Il nous faut choisir la colonne des noms des catégories dans la table.

    Enfin, générons la liste avec

    La liste s’affiche à la suite. Les valeurs sont présentées par page de 10 lignes. Les éventuels doublons sont retirés.

    Une fois la liste créée, on peut l’utiliser dans une condition/action. Un menu nous présente alors toutes les catégories.

    On peut sélectionner le nom voulu ou commencer à l’écrire. La liste se réduit alors aux occurrences possibles sans tenir compte de la casse.

# Nommage des règles

Entrez le nom choisi dans le champ de saisie.

Cela vous sera utile si vous avez de nombreuses règles lors de leur réduction.

# Conditions et actions

C’est ici que vous définissez vos règles et actions. Quelle différence entre une règle et une action? Les conditions. Une action ne contient aucune condition. Si elle est définie en dehors d’une règle et/ou sans condition, elle sera appliquée à l’ensemble des données initiales.

Une règle est composée d’une section "conditions" suivie d’une seconde section "actions.

# Conditions

Le principe consiste à comparer, pour chaque ligne, la valeur d’une colonne à une valeur cible. Par défaut, la règle apparaît sans condition.

Les conditions apparaissent si vous sélectionnez l’option "si" ou "sinon si".

Selon vos besoins, vous pouvez créer une seule condition ou un groupe de conditions.

  • Une seule condition : pour créer une unique condition, cliquez sur . Un bloc "condition" apparaît.

    La condition peut porter sur une colonne ou bien être une ligne de code.

    • Colonne :

      Voici la liste des options des comparaisons possibles :

      Prenons la table "categories" en données initiales.

      Nous souhaitons changer le nom de la catégorie "Câbles et fils" en "Connectique". Ici, la condition est la suivante : si la colonne "name_fr" est égale à "Câbles et fils" alors… Ce qui se traduit comme ceci :

      Le bouton permet de tester les règles. Il affiche le code JavaScript créé à cette occasion, vous permettant de vérifier la condition, et le tableau de résultats. Ici, les données initiales ne sont pas encore modifiées car aucune action n’a été affectée à cette condition.

    • Ligne de code : permet d’écrire la condition en JavaScript. Attention à ne pas mettre le "if"!

      Le test montre l’écriture JavaScript complète :

  • Un groupe de conditions : cliquez sur pour faire apparaître le bloc du groupe de conditions.

    Cliquez sur pour ajouter votre première condition.

    On peut alors remarquer que le bloc conditionnel est imbriqué dans le bloc de groupe.

    Au sein du groupe, les conditions peuvent se cumuler ("et") ou bien il suffit que l’une ou l’autre soit vérifiée ("ou").

    Reprenons l’exemple précédent de la table "categories". Cette fois, nous avons deux conditions. Il faut que le nom de la catégorie soit "Câbles et fils" et que la section parente contienne "Sonorisations commerciales". Le groupe de conditions s’écrira ainsi :

    Le test nous donnera le code JavaScript. Les données ne seront pas encore modifiées en l’absence d’actions.

    Dans le cas où une seule des deux conditions suffise pour effectuer l’action, le groupe se présenterait ainsi :

    Et le code ressemblerait à ceci :

La case à cocher permet d’inverser la condition. Prenons par exemple la table "categorie". La condition : la colonne "name_fr" ne doit pas être égale à "Câbles et fils" et la colonne "parent" ne doit pas contenir les termes "Sonorisations commerciales" peut s’écrire ainsi :

Ici, l’opposé concerne le groupe dans son intégralité.

Les groupes peuvent être mélangés avec des conditions seules ou d’autres groupes. Il est également possible d’imbriquer des groupes et des conditions dans des groupes pour créer des conditionnelles complexes.

# Actions

Types d’actions :

  • Colonnes : il s’agit ici d’agir sur une ou plusieurs colonnes spécifiques. Cliquer sur ajoute une colonne.

    Cliquer sur en fin de ligne élimine l’action sur cette colonne.

    • Égalité :

      Il s’agit ici de changer la valeur de la colonne sélectionnée. Reprenons l’exemple de la table "categories" avec la colonne "name_fr" égale à "Câbles et fils". Nous voulons remplacer le nom de cette catégorie par "Connectique". Ce qui nous donne ceci :

      Voici le résultat du test. Nous avons tout d’abord le code JavaScript puis les données modifiées où l’on peut constater le changement de nom dans la colonne "name_fr" (ligne 755).

    • Addition et soustraction : permet d’ajouter ou de soustraire un nombre à une valeur de colonne de type numérique (entier, décimaux). Ne fonctionne pas sur une cellule contenant du texte.

    • Ajouter à un tableau : permet d’ajouter une valeur à une cellule contenant un tableau.

      Prenons l’exemple d’une table regroupant des informations sur des médias (vidéos et images). Les vidéos hébergées sur Youtube le sont également sur Viméo désormais et il nous faut l’ajouter dans la table.

      La règle la suivante :

      Et le test donnerait cela :

      "Vimeo" a bien été ajouté aux tableaux de la colonne "type".

    • Ajouter à un objet : permet d’ajouter un couple clé/valeur à une cellule contenant un objet.

  • Ligne de code : permet d’effectuer une action avec une seule ligne de code. Cela peut être une concaténation par exemple.

    Prenons l’exemple de la colonne "description_fr". Si cette colonne n’est pas vide et si elle ne contient pas la balise HTML <p> alors on l’ajoute par défaut de manière à transformer le texte en un paragraphe. Ce qui nous donnerait le code d’action suivant :

    Le test nous donne ce résultat :

    La sélection d’une colonne nécessite l’usage du terme "data". Si le nom de colonne ne comporte pas d’apostrophe ou d’espace, la sélection peut s’écrire ainsi : "data.description_fr" et de cette façon dans le cas contraire : "data["colonne avec espace"]".

  • Stop des règles : stoppe les actions dès que la condition est vérifiée.

  • Code : permet d’écrire des actions complexes en JavaScript via un éditeur sans limite du nombre de lignes.

# Masquage/démasquage des règles

Afin de clarifier l’interface dans le cas où vous avez de nombreuses règles, vous pouvez toutes les réduire ou partiellement grâce à ces icônes :

Cliquez sur pour réduire toutes les règles. Elles apparaîtront alors ainsi :

Vous pouvez ensuite agrandir la règle que vous souhaitez en cliquant son icône . La règle apparaît.

Cliquez sur l’œil ouvert pour réduire de nouveau la règle.

# Déplacement

Vous pouvez déplacer n’importe quel élément (condition, action, groupe ou règle) grâce à l’icône . Vous pouvez par exemple insérer une condition pré-existante dans un groupe ou au contraire, en extraire une d’un groupe, réordonner les règles, etc.

Insertion du lien de la vidéo.

# ChatGPT

# Création d’un prompt

Rendez-vous dans la section "Studio/Bibliothèque" dans le menu latéral puis sélectionnez "ChatGPT" dans le menu déroulant "Type".

La définition des noms et des versions se fait dans les champs "nom" et "version" comme ici :

Plus d’informations ici

# Données initiales

Vous pouvez ajouter des données à vos invites "ChatGPT". Trois options s’offrent à vous :

  • Tableau : pour entrer un tableau csv. Sélectionnez "Tableau" dans le menu déroulant puis téléverser votre fichier csv en cliquant sur .

  • Base de données :

    Vous permet d’utiliser une table de votre base de données. Sélectionnez "Base de données" puis votre table dans le second menu déroulant.

  • Base de données - multitables :

    Sur le même modèle que plus haut, cette option vous permet d’utiliser une requête pré-enregistrée. Sélectionnez "Base de données - multi-tables" puis votre requête dans le second menu déroulant.

# Les modèles

Il s’agit ici de choisir le ou les modèles de ChatGPT que vous souhaitez utiliser parmi ceux que vous avez définis dans chatGPT modèles.

  • Liste : la première option liste les modèles regroupés dans chatGPT modèles. Ici, un seul modèle sera utilisé sur l’ensemble des données.

  • libre : cette option offre une plus grande liberté et permet d’appliquer des modèles sous conditions. Elle nécessite des connaissances de base en JavaScript. Prenons un exemple. Nous avons ces données d’entrée issues d’une base de données :

Nous voulons appliquer des modèles de traduction précédemment créés dans chatGPT modèles sous conditions de présence de certains mots-clés dans la colonne "categories_nom".

Cliquer sur le lien "Voir la liste des modèles" fait apparaître tous vos modèles enregistrés dans chatGPT modèles.

# Comment converser avec ChatGPT

Nous avons deux méthodes d’échange avec ChatGPT : "Texte" et "Messages".

# Texte

En mode "Texte", vous pouvez entrer la commande et tester.

Dans le cas où vous voudriez agir sur une colonne en particulier, vous pouvez indiquer un nom de colonne dans le texte avec ${data["colonne"], par exemple ${data["texte"]} ou ${data.texte} si le nom de colonne n'a pas d’espace. Ce qui donne ceci avec la colonne "texte" :

Par défaut, le test se fait sur la première ligne. Pour tester sur toutes les lignes des données initiales, cliquez sur le bouton .

Vous pouvez aussi tester n’importe quelle ligne en entrée en la sélectionnant avec un clic droit puis en choisissant "Sélectionner la ligne".

La ligne est alors surlignée de bleu. Elle seule sera testée.

# Messages

En utilisant les messages, on peut spécifier l'historique de la conversation. ChatGPT ne répondra qu'au dernier message.
Sélectionnez "Messages" dans le menu déroulant "Type".

Puis cliquez sur le bouton pour ajouter un message.

# Rôles

Chaque message doit être associé à un rôle comme indiqué dans la documentation officielle.

  • Système :

    L’option "Système" assigne le rôle à l’assistant conversationnel de ChatGPT. Il peut devenir un spécialiste dans un domaine spécifique comme le sport, les échecs, le droit internationnal, etc.

  • Utilisateur :

    L’option "Utilisateur" précise que le texte qui suivra sera envoyé par l’utilisateur final de l’assistant conversationnel (vous).

  • Assistant :

    L’option permet d’insérer les réponses précédentes afin de conserver l’historique de la conversation. Voici un exemple :

# Requête utilisée

Un encart affiche la requête envoyée à ChatGPT :

# Modèle utilisé

Le modèle utilisé est affiché en-dessous :

# Visualisation

Il est possible de voir les résultats pour toutes les lignes entrées sous deux formes dans la partie visualisation.

  • Tableau : comme son nom l’indique offre une vue sous forme de tableau.

Si "Récupérer la requête" est cochée, une colonne présentant les requêtes effectuées pour chaque ligne est présente. Ce qui permet de mieux comprendre ce qui se passe, le cas échéant.

Il est possible de corriger le résultat directement dans la cellule en cas d’erreur pour ensuite exporter le fichier. Pour ce faire, cliquez dans la cellule et modifier le résultat. Par exemple, je souhaite modifier le contenu de cette cellule résultat pour standardiser les résultats :

Ce qui donne :

L’export se fait ensuite en cliquant sur puis en choisissant le format de l’export avec ces boutons .

  • Visualisation : il s’agit d’une autre méthode de visualisation des données reçues. Voici ce que cela donne avec les résulats précédents :

Nous avons ici la première ligne sur les 6 du tableau : .
La requête suit si on l’a conservée :

Puis vient le résultat qu’il est possible de modifier directement dans l’encart.

Et enfin, la ligne sous forme de JSON :

La navigation entre les lignes de résultats se fait avec les flèches bleues .

# ChatGPT Modèles

Cet élément permet d’entraîner un modèle ChatGPT selon vos besoins.

# Créer un modèle

Sélectionnez "ChatGPT modèles" dans la liste des types.

La définition des noms et des versions se fait dans les champs "nom" et "version" comme ici :

Plus d’informations ici

# Les modèles entraînables

L’idée est ici de partir de données précédemment renvoyées par une première interrogation à ChatGPT pour en modifier les résultats afin d’entraîner un modèle.

La liste des modèles accessibles dépendant de votre abonnement, vous devez commencer par la récupérer auprès de votre compte ChatGPT en cliquant sur ce bouton .
Vous pouvez alors choisir le modèle à entraîner dans la liste déroulante.

# Données initiales pour l’entraînement

Vos modèles nécessitent un entraînement à partir de données spécifiques (10 lignes minimum). Trois options s’offrent à vous :

  • Tableau : pour entrer un tableau csv ou xlsx. Sélectionnez "Tableau" dans le menu déroulant puis téléverser votre fichier csv en cliquant sur .

  • Base de données :

    Vous permet d’utiliser une table de votre base de données. Sélectionnez "Base de données" puis votre table dans le second menu déroulant.

  • Base de données - multitables :

    Sur le même modèle que plus haut, cette option vous permet d’utiliser une requête pré-enregistrée. Sélectionnez "Base de données - multi-tables" puis votre requête dans le second menu déroulant.

# Options de modèle

Il est nécessaire de définir des colonnes clés pour entraîner le modèle. Prenons l’exemple de ces données initiales.

Ces trois colonnes se retrouvent dans les options où elles doivent être définies.

  • Système :

    Cette colonne regroupe les prompts envoyés à ChatGPT. Voici un exemple dans le cadre d’un apprentissage de traduction de matériel musical :

    "Agis en tant qu’expert traduction fiches produits, pour mon e-commerce, spécialisé en software & plug-ins. Les fiches fournies seront en anglais, il faudra les traduire en français et tenir compte des notions de technolecte et idiolecte spécifiques à mon e-commerce et mon public cible, pour éviter de traduire des termes spécifiques au domaine. Assure toi que le contenu est facile à lire et à comprendre, et si la fiche produit comporte des balises html, assure-toi de bien les mettre en forme lors de la traduction. Ne commente pas, contente de toi de faire ce qui est demandé."

  • Utilisateur :

    Cette colonne regroupe les données envoyées à ChatGPT. Voici un exemple :

  • Assistant :

    Cette colonne-ci regroupe les réponses de ChatGPT. Elles peuvent être modifiées par l’utilisateur pour permettre au modèle d’apprendre et se perfectionner. Les mots surlignés sont à vérifier et éventuellement modifier s’ils ont été mal traduits.

  • Suffixe : nom qui sera ajouté au nom du modèle.

    Une fois créé, le nom du modèle est alors modifié comme suit :

# Génération du modèle

Une fois toutes les options paramétrées, cliquez sur . Attention, la génération peut prendre jusqu’à plusieurs heures.
Une fois généré, vous pourrez retrouver votre nouveau modèle dans la liste des modèles :