Ouvrir la rubrique avec les liens de navigation

#

Publication de traitements

Un utilisateur avec des droits d'auteur peut publier un traitement. Après avoir généré un projet dans FME, il crée un traitement dans GTF puis l'associe au projet.

Le mode Publication comporte l’ensemble des formulaires permettant la création et le paramétrage des traitements GTF.

## Ajout de projet FME

Il existe deux façons dans GTF de créer des Projets FME : l'ajout de projet et l'Import de projets par lot.

### Ajout de projet FME

Le bouton ‘Ajouter un Projet FME’ de l’onglet Projets FME permet d’accéder au formulaire de création de projet.

Formulaire de création de projet

La première étape consiste à Attribuer un nom au traitement.

Règles de nommage des projets

Plusieurs options sont possibles :

- L'auteur nomme le projet directement dans GTF. Dans l'exemple, ci-dessus, le projet se nomme "Zone_inondable".
- L'auteur choisit d'utiliser le nom du script FME et laisse dans GTF le champ 'Nom du traitement' vide. Le nom du traitement est le nom du script FME sans son extension. Dans l'exemple ci-dessus, le projet se nommerait "zone_inondableswfs2kml".
- Si le nom du traitement existe déjà, alors le nom du nouveau projet est suffixé par la date du jour. Dans l'exemple ci-dessus, le nouveau projet serait nommé 'Zone_inondable_jjmm.aaaa'.

L’auteur charge ensuite le projet FME dans lequel il aura pris soin de publier certains paramètres comme par exemple le répertoire destination. Le paramètre “Ressources complémentaires” permet d’associer les ressources nécessaires pour l'exécution du projet FME, comme par exemple des données sources.

GTF détecte les formats de types multifichiers (Shape File, EDIGEO…) contenus dans un fichier compressé ZIP que l’utilisateur uploade sur le serveur. Les fichiers sont automatiquement décompressés dans le répertoire projet.

Il définit ensuite la disponibilité du traitement sur abonnement et pour Surveillance .

Le modèle d'email à associer au traitement doit ensuite être défini, ainsi que le moteur GTF auquel rattacher le traitement. La stratégie d'affiliation se fait à partir de la liste des mots clés/moteurs, définis au préalable par l'administrateur de l'application.

Le bouton ‘Créer’ permet ensuite de finaliser la première étape du processus de création de traitement en générant le formulaire correspondant.

La création d'un projet génère ensuite un attribut "Clé" qui correspond à un identifiant unique universel du projet. Il s'agit d'une clé unique qui permet par exemple en cas de réinstallation de GTF, d'assurer l'unicité et le référencement du projet. Sa valeur est conservée en cas d'installation du projet sur un nouveau serveur contrairement à l'identifiant système ID.

Tous les visualiseurs contenus dans un projet FME sont désactivés lors du processus d'import ou d'ajout de projets dans GTF.

### Import de projets FME par lot

GTF offre des fonctionnalités de catalogage et de gestion du patrimoine de projets FME disponibles dans un organisme. A cette fin et pour faciliter la création de plusieurs projets en même temps, la fonction d'ajout par lot a été créée permettant le chargement de plusieurs projets FME en une seule fois.

Après avoir cliqué sur le bouton 'Ajout par lot', l'auteur clique sur le bouton Parcourir, et sélectionne les projets FME qu'il souhaite intégrer à GTF. Il clique ensuite sur le bouton 'Transférer'.

Import de projets par lot

Une fois chargés, les projets FME apparaissent dans la liste des projets FME du mode Publication. L'auteur est ensuite en charge de nommer ou renommer les fichiers, de gérer leur métadonnées et de leur associer les groupes et droits désirés.

Tous les visualiseurs contenus dans un projet FME sont désactivés lors du processus d'import ou d'ajout de projets dans GTF.

### Attribution de droits au traitement

Pour pouvoir être exploité, un traitement doit être associé à un groupe. Dans la section ‘Droits’, l’auteur associe un groupe au projet nouvellement créé en faisant glisser le groupe choisi dans la partie de Groupes associés au traitement. Il clique ensuite sur le bouton « Mettre à jour ».

Attribution de droits à un traitement

### Gestion des métadonnées

GTF permet la gestion des métadonnées d'un projet et l'exploitation des métadonnées natives issues des projets FME.

Les métadonnées d'un projet, définies dans FME via le Navigateur, sont chargées dans GTF.

- Les sections Description, Catégorie, Conditions d'utilisation, Utilisation, Pré requis et Historique sont directement issues du projet FME et peuvent être modifiées .
- La date de dernière sauvegarde, l'encodage et la version FME sont propres au projet FME source et sont modifiés automatiquement dans GTF en cas de rechargement du projet FME.

Une catégorie définie dans un projet FME, est importée dans GTF et créée dans le menu Catégories, si elle n'existe pas.

Métadonnées d'un projet

La section Métadonnées du mode Publication permet à l'auteur, de modifier ces dernières et de les réécrire dans le projet FME.

- Le bouton 'Mettre à jour' permet d'enregistrer les modifications des métadonnées dans GTF.
- Le bouton 'Relire le projet' permet de recharger les métadonnées du projet FME initial. Les champs Description, Utilisation, Pré requis et Conditions d'utilisation saisies dans GTF sont remplacés par les valeurs issues du projet FME source.
- Le bouton 'Ecrire le projet' permet de modifier les métadonnées du projet FME source. Les valeurs des champs Description, Utilisation, Pré requis et Conditions d'utilisation initiales sont remplacées par les valeurs saisies dans GTF. Le projet .fmw modifié est disponible dans la section Répertoire Projet.

Les métadonnées d'un projet sont chargées lors du premier chargement d'un projet FME. Si les métadonnées sont ajoutées et/ou modifiées dans GTF et que l'on procède à un nouveau chargement du projet FME, alors les métadonnées du projet FME, n'écrasent pas celles éditées dans GTF. Les métadonnées sont ainsi chargées que lors du premier chargement d'un projet FME. Le bouton 'Relire le projet' permet de contourner ce fonctionnement pour permettre le rechargement des du projet FME source initialement chargé.

###

###

Gestion et personnalisation des paramètres publiés : Travailler dans le studio

La section Formulaire du mode Publication permet de gérer l’affichage du formulaire de demande de traitement tel qu'il sera affiché lors d’une demande émise par un utilisateur.

Le studio permet de personnaliser graphiquement chaque paramètre publié importé depuis FME, et permet la mise en page générale du formulaire de demande.

Studio de personnalisation de formulaire.

Le studio de personnalisation des formulaires est composé de 4 fenêtres :

- Une fenêtre centrale de prévisualisation du formulaire. Elle permet de prévisualiser le formulaire tel qu'il sera affiché lors d'une demande de traitement, mais il est possible d'afficher le formulaire JSON ou Javascript en sélectionnant le type d'affichage désiré en haut de la fenêtre.
- Une fenêtre des paramètres publiés, à droite de l'écran : elle liste l'ensemble des paramètres publiés du projet et leur ordre d'affichage. Il est possible de modifier l'ordre d'affichage des paramètres , de les supprimer et en d'en créer de nouveaux .
- Une fenêtre de définition des paramètres, à gauche en bas de l'écran, qui permet leur édition et configuration.
- Une fenêtre formulaire, en haut à gauche de l'écran, qui permet l'enregistrement, la publication et le nommage de chaque formulaire. Il permet d'afficher le formulaire par défaut, le formulaire publié et le formulaire personnalisé.

#### Formulaire par défaut, Formulaire personnalisé, Formulaire publié

Le formulaire par défaut comporte les paramètres publiés du projet FME. Après visualisation, l’auteur peut choisir de conserver en l’état ce formulaire ou de le personnaliser.

Chaque projet FME chargé dans GTF est stocké dans le répertoire \workspace du répertoire d'installation de GTF. Le sous-répertoire workspace\fme stocke le projet .fmw et les ressources du projet, et le répertoire workspace\form stocke les fichiers de gestion et de personnalisation des formulaires du traitement.

Une fois un projet créé, GTF créé 3 fichiers identiques :

- DsubForm.json : formulaire par défaut du traitement, affiché dans le studio lorsque l'on sélectionne le bouton
- SubForm.json : formulaire publié par GTF, affiché dans le studio lorsque l'on sélectionne le bouton
- WsubForm.json : formulaire destiné à être personnalisé, affiché dans le studio lorsque l'on sélectionne le bouton de personnalisation

Lors de la publication d'un formulaire personnalisé, le fichier WsubForm est modifié puis écrase le fichier SubForm.

Lors de la création d'un projet, les 3 formulaires par défaut, personnalisé et publié sont identiques. L'auteur d'un projet peut ensuite personnaliser le formulaire par défaut. Il choisit de publier ou pas le formulaire personnalisé.

A tout moment il peut revenir au formulaire par défaut et le publier à nouveau.

En cas de re chargement d'un projet FME, si le formulaire publié est identique au formulaire par défaut alors les 3 formulaires sont écrasés. En revanche, lorsque le formulaire publié est identique au formulaire personnalisé, alors seul le formulaire par défaut est écrasé. Dans ce cas de figure, les formulaires personnalisés et publiés sont donc conservés.

Dans la liste des projets, on peut distinguer les projets publiés exploitant un formulaire par défaut, des projets exploitant un formulaire personnalisé par la couleur du pictogramme du champ Formulaire : un pictogramme vert signifie que le formulaire par défaut est publié. Un pictogramme bleu indique que le formulaire publié est un formulaire personnalisé.

Liste des projets et formulaires exploités

#### Création d'onglets dans un formulaire

L'auteur d'un projet peut choisir d'agencer le formulaire de demande de traitement sous forme d'onglets. Il peut ainsi répartir les paramètres sur plusieurs onglets.

Le bouton 'Edition > Gestion des onglets' de la fenêtre des formulaires personnalisés permet d'accéder à la fenêtre de gestion de ces derniers.

Studio - Fenêtre de gestion des onglets d'un formulaire.

Après avoir édité et nommé un onglet , cocher les paramètres devant le composer. Le bouton 'Ajouter un onglet' en bas de la fenêtre permet la création d'un nouvel onglet.

Un aperçu des onglets nouvellement créés s'affiche dans la partie de droite de la fenêtre.

Cliquer sur Valider pour revenir au studio.

Les onglets ne sont pas apparents dans le studio mais uniquement dans la fenêtre de gestion de ces derniers.

Un paramètre peut apparaître sur deux onglets différents. Lors de la demande d'un tel projet, l'édition d'un paramètre dans un onglet est automatiquement reportée dans le deuxième onglet.

#### Paramètres publiés FME et contrôles GTF

Les paramètres publiés de FME sont importés dans GTF et peuvent être modifiés dans le studio via des contrôles GTF. Un contrôle GTF est converti en paramètre publié FME lors du traitement du projet.

Certains contrôles GTF ne sont pas issus de paramètres publiés de FME et correspondent à des composants de mise en page (interface) destinés à personnaliser l'interface du formulaire de demande de projet.

Il existe 20 types de contrôles GTF paramétrables dans la fenêtre de Définition des Paramètres :

> > > Nom du contrôle GTF
> > > Bouton radio
> > > Carte Bing
> > > Carte OSM
> > > Carte vMap
> > > Champ caché
> > > Couleur
> > > Curseur
> > > Date et Heure
> > > Décimal
> > > Entier
> > > Fichier local
> > > Interface - Ligne de séparation
> > > Label
> > > Label Titre
> > > Liste
> > > Liste déroulante
> > > Texte en édition 1 ligne
> > > Texte en édition Mot de passe
> > > Texte en édition Multiligne
> > > Texte en édition URL

Un nom de paramètre ne peut pas contenir d'espace.

Les valeurs par défaut d'un paramètre publié FME sont importées dans GTF.

#### Paramètre publié de type Choix - Contrôle de type Liste déroulante

Un paramètre publié FME de type Choix est importé dans un GTF en contrôle de type Liste déroulante.

La configuration de la liste se fait via le Gestionnaire de source de données.

L'auteur du projet nomme le paramètre et son libellé tel qu'il sera affiché dans le formulaire de demande et définit le nombre de lignes. Il indique si le paramètre est obligatoire en cochant ou pas la case Requis.

Il est possible de faire de cette liste une liste en cascade, en définissant la liste parent et les attributs sur lesquels doit reposer l'ascendance.

Paramètre publié de type Choix et Contrôle GTF de type Liste déroulante

#### Paramètre publié de type Choix multiple - Contrôle de type Liste

Un paramètre publié FME de type Choix multiple est importé dans GTF en contrôle de type Liste. Le Gestionnaire de source de données permet de configurer la liste importée.

L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande et définit la valeur par défaut. Il paramètre le nombre de lignes à afficher. Il définit si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type Choix multiple et contrôle GTF de Type Liste

Il est possible de faire de cette liste une liste en cascade, en définissant la liste parent et les attributs sur lesquels doit reposer l'ascendance.

#### Paramètre publié de type Choix avec alias - Contrôle de type Liste déroulante

Un paramètre publié de type choix avec alias est importé dans GTF en contrôle de type Liste déroulante.

La configuration de la liste se fait dans le

Gestionnaire de source de données.

L'auteur du projet nomme le paramètre et son libellé tel qu'il sera affiché dans le formulaire de demande et définit sa valeur par défaut. Il paramètre le nombre de lignes à afficher. Il définit si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type Choix avec alias et Contrôle GTF de type Liste déroulante.

Il est possible de faire de cette liste une liste en cascade, en définissant la liste parent et les attributs sur lesquels doit reposer l'ascendance.

#### Paramètre publié de type Choix avec Alias Multiple - Contrôle de type Liste

Un paramètre pubié de type choix avec alias multiple est importé dans GTF en contrôle de type Liste.

La configuration de la liste se fait dans le

Gestionnaire de source de données.

L'auteur du projet nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande, définit le nombre de lignes à afficher. Il définit si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type Choix avec alias multiple et contrôle GTF de type Liste

Il est possible de faire de cette liste une liste en cascade, en définissant la liste parent et les attributs sur lesquels doit reposer l'ascendance.

#### Paramètre publié de type choix de couleur - Contrôle de type Couleur

Un paramètre publié de tye Choix de la couleur est importé dans GTF en contrôle de type Couleur . L'auteur nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande, définit la couleur par défaut . Il peut choisir la largeur du contrôle et définir si ce paramètre est obligatoire ou pas.

Paramètre publié de type Choix de la couleur et Contrôle GTF de type Couleur

#### Paramètre publié de type Curseur - Contrôle de type Curseur

Un paramètre publié de type curseur est importé sous la forme de contrôle de type Curseur. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande et définit les valeurs minimales et maximales ainsi que la valeur par défaut du curseur.

Paramètre publié et contrôle de type Curseur

#### Paramètre publié de type Date/heure - Contrôle de type Date et Heure

Un paramètre publié de type Date/Heure est importé dans GTF sous la forme de contrôle Date et Heure.

L'auteur nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande. Il peut définir la date et heure affichées par défaut. Il définit si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié et contrôle de type Date/heure

#### Paramètre publié de type Entier - Contrôle de type Entier

Un paramètre publié de type Entier est importé dans GTF en contrôle de type Entier. L'auteur nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande et définit la valeur par défaut . Il peut définir si ce paramètre est obligatoire ou pas en cochant la case Requis.

Paramètre publié et contrôle de type Entier

#### Paramètre publié de type Flottant - Contrôle de type Décimal

Un paramètre publié de type Flottant est importé dans GTF en contrôle de type Décimal. L'auteur nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande et définit la valeur par défaut. Il peut définir si ce paramètre est obligatoire ou pas en cochant la case Requis.

Paramètre publié de type Flottant et contrôle de type Décimal

#### Paramètre publié de type Mot de passe - Contrôle de type Texte en édition mot de passe

Un paramètre publié FME de type Mot de passe est importé dans GTF sous la forme de contrôle de type Texte en édition - mot de passe.

L'auteur nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande.

Il peut définir un motif sous la forme d'expression régulière, pour contrôler l'affichage du mot de passe et s'assurer que la valeur respecte bien un modèle.

Il peut définir si ce paramètre est obligatoire ou pas en cochant la case Requis, et choisit la largeur du contrôle.

Paramètre publié de type mot de passe et Contrôle de type Texte en édition - mot de passe

#### Paramètre publié de type Nom de fichier multiple - Contrôle de type Fichier Local

Un paramètre publié FME de type Nom de fichier (Multiple) est importé dans GTF sous la forme de contrôle de type Fichier Local.

L'auteur du projet nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande, définit la largeur du contrôle et indique si le paramètre est obligatoire ou pas.

Paramètre publié de type Nom de fichier Multiple et Contrôle de type Fichier local

#### Options avancées

Les options avancées permettent d'affiner l'affichage du formulaire lors du chargement de fichiers en faisant apparaître ou pas la prévisualisation des fichiers, ainsi que les boutons de chargement et de suppression des fichiers.

Contrôle GTF de Type Fichiers Multiples. Options avancées.

#### Paramètre publié de type Nom de fichier existant - Contrôle de type Fichier local

Un paramètre publié FME de type Nom de fichier (Existant) est importé dans GTF sous la forme de contrôle de type Fichier Local.

L'auteur du projet nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande, définit la largeur du contrôle et indique si le paramètre est obligatoire ou pas.

Paramètre publié de type Nom de fichier existant et contrôle GTF de type Fichier Local

#### Options avancées

Les options avancées permettent d'affiner l'affichage du formulaire lors du chargement de fichiers en faisant apparaître ou pas la prévisualisation des fichiers, ainsi que les boutons de chargement et de suppression des fichiers.

#### Paramètre de type Nom de fichier en sortie - Contrôle de type Fichier Local

Le paramètre publié de type Fichier en sortie est importé sous la forme de contrôle de type Texte en édition - 1 ligne. L'auteur du projet nomme le paramètre et définit le libellé tel qu'il sera affiché dans le formulaire de demande. Il peut insérer une expression régulière dans le champ Motif pour assurer un contrôle de la valeur saisie. Il peut définir une valeur par défaut, la largeur du contrôle à afficher et indique si le paramètre est obligatoire ou pas.

Paramètre publié de type Nom de fichier en sortie et contrôle GTF de type Texte en édition - 1 ligne

#### Paramètre publié de type Nom de système de coordonnées - Contrôle de type Liste déroulante

Un paramètre publié de type Nom de Système de coordonnées est importé dans GTF sous la forme d'une Liste déroulante. Les valeurs de la liste sont automatiquement importées et visibles dans le gestionnaires de source de données.

Paramètre publié de type Nom de système de coordonnées et Contrôle de type Liste déroulante.

La configuration de la liste se fait via le Gestionnaire de source de données.

L'auteur du projet nomme le paramètre et le libellé qui sera affiché dans le formulaire de demande et définit le nombre de lignes à afficher ainsi que la largeur du contrôle. Il indique si le paramètre est obligatoire en cochant ou pas la case Requis.

#### Paramètre publié de type Répertoire existant - Contrôle de type Fichier local

Un paramètre publié de type Répertoire existant est importé sous la forme d'un contrôle de type Fichier local. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande, il définit la largeur du contrôle et indique si ce paramètre est obligatoire ou pas.

Les options avancées permettent d'affiner les paramètres d'affichage lors du téléchargement du fichier.

Paramètre publié de type Répertoire (Existant) et contrôle de type Fichier Local

#### Paramètre publié de type Répertoire en sortie - Contrôle de type Texte en édition 1 ligne

Un paramètre publié de type Répertoire en sortie est importé sous la forme d'un contrôle de type Texte en édition 1 ligne. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande. Il peut définir la valeur par défaut du nom de répertoire à créer, et il peut saisir une expression régulière dans le champ Motif pour assurer un contrôle du nom créé.

Il peut définir la largeur du contrôle et indiquer si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type Répertoire en sortie et contrôle de type Texte en édition- 1 ligne

#### Paramètre publié de type Texte -Contrôle de type Texte en édition 1 ligne

Un paramètre publié de type Texte est importé sous la forme d'un contrôle de type Texte en édition- 1 ligne. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande. Il peut définir la valeur par défaut à créer, et peut saisir une expression régulière dans le champ Motif pour assurer un contrôle de la valeur saisie.

Il peut définir la largeur du contrôle et indiquer si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type texte et contrôle GTF de type Texte en édition - 1 ligne

#### Paramètre publié de type Texte multiligne - Contrôle de type Texte en édition - Multiligne

Un paramètre publié de type Texte multiligne est importé sous la forme d'un contrôle de type Texte en édition-multiligne. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande. Il peut définir la valeur par défaut et la largeur du contrôle et indiquer si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type Texte multiligne et contrôle de type Texte en édition - Multiligne

#### Paramètre publié de type Texte Multiligne ou Nombre- Contrôle de type Texte en édition - Multiligne

Un paramètre publié de type Texte Multiligne ou Nombre est importé sous la forme d'un contrôle de type Texte en édition-Multiligne. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande. Il peut définir la valeur par défaut et la largeur du contrôle et indiquer si le paramètre est obligatoire en cochant ou pas la case Requis.

Paramètre publié de type Texte multiligne ou Nombre et contrôle de type Texte en édition - Multiligne

#### Paramètre publié de type URL - Contrôle de type Texte en édition URL

Un paramètre publié de type URL est importé sous la forme d'un contrôle de type Texte en édition-URL. L'auteur du projet nomme le paramètre et le libellé tel qu'il sera affiché dans le formulaire de demande. Il peut insérer un motif via une expression régulière pour assurer un contrôle sur la valeur saisie (type de protocole spécifique) , définir la valeur par défaut et la largeur du contrôle et indiquer si le paramètre est obligatoire en cochant ou pas la case Requis

Paramètre publié de type URL et contrôle de type Texte en édition - URL

#### Contrôle GTF de type Bouton radio- Contrôle de type Bouton Radio

Un paramètre publié FME de type Choix est importé dans GTF en tant que contrôle de type Liste Déroulante, mais il est possible de modifier ce dernier en exploitant un contrôle de Type Bouton radio.

L'auteur du projet nomme le paramètre et son libellé tel qu'il sera affiché dans le formulaire de demande.

Il définit la valeur par défaut et détermine si les boutons radios seront désactivés ou pas. Il définit ensuite les options possibles en entrant le libellé du bouton et la valeur envoyée en base.

Le bouton permet de rajouter des boutons au paramètre.

Contrôle de type Bouton Radio

#### Contrôles GTF de type Carte OSM, carte Bing et carte vMap

GTFpermet d'exploiter les services web OSM, Bing Maps ou Vitis vMap pour personnaliser un formulaire en exploitant leurs ressources cartographiques.

Par exemple, dans FME, on peut définir une géométrie dans un champ de type texte définie par une chaîne de caractère WKT.

Dans GTF, Il est plus simple de personnaliser le formulaire de saisie en exploitant une carte OSM comme support de saisie de la géométrie plutôt que de rentrer une chaîne WKT dans un contrôle de type Texte.

L'auteur du projet qui insère un élément (ou qui modifie un paramètre existant) de type carte OSM, nomme le paramètre, et définit le libellé qui sera affiché dans le formulaire de demande. Il définit la hauteur et la largeur de la carte et indique si ce paramètre est obligatoire ou pas en cochant la case Requis.

Il définit ensuite les options spécifiques aux éléments de type carte :

- La projection de la carte : WGS84 ou Lambert 93. En Lambert 93, l’étendue par défaut correspond à l'ensemble de la France métropolitaine.
- Méthode de centrage de la carte : l'auteur choisit si le centre de la carte est défini par un point défini via des coordonnées X/Y et une échelle d'affichage, ou si le centre de la carte est paramétrée par son étendue définie par les coordonnées X et Y Min et Max.

L'auteur choisit ensuite les éléments de dessin et de navigation qui seront affichés sur la carte du formulaire de demande :

- Position de la souris : affichage dynamique des coordonnées de la souris selon la projection définie.
- Boutons de zoom : affichage des boutons de navigation classique zoom avant, zoom arrière et retour à l'étendue par défaut.
- Echelle : affichage de l'échelle.
- Projection de la carte : affichage de la projection Lambert 93 ou WGS 84.
- Multiples géométries : possibilité ou pas de saisir des géométries de type différent (point, ligne et polygone).
- Plein écran : permet d'afficher la carte en mode plein écran.
- Suppression générale : Suppression de toutes les géométries saisies sur la carte.
- Edition : modification de la géométrie sélectionnée.
- Dessiner un point.
- Dessiner une ligne.
- Dessiner un polygone.

Le champ Valeur permet à l'auteur de définir une géométrie qui sera affichée par défaut dans le formulaire de demande. Cette géométrie est décrite via une chaîne WKT.

Contrôle Carte OSM. Exemple de valeur par défaut

Formulaire de demande d'un contrôle de type carte OSM- Géométrie saisie par défaut

Carte Bing

Tous les paramètres de personnalisation d'une carte Bing Maps sont identiques à ceux des cartes OSM. Il faut fournir en plus, une clé d'accès pour pouvoir exploiter ce service web cartographique.

Générer une clé Bing Maps sur le site https://www.bingmapsportal.com/

Une fois obtenue, entrer la clé dans le champs Clé et sélectionner la carte à afficher dans le formulaire de demande :

- Aerial
- Aerial WithLabels
- Road

Formulaire de demande de traitement avec contrôle de type carte Bing.

Carte vMap

Pour pouvoir exploiter une carte vMap dans GTF, Il faut au préalable, dans vMap, exporter la définition de la carte . L'export d'une carte vMap génère un fichier map.json que l'auteur du formulaire doit télécharger (champ Fichier local) pour pouvoir l'intégrer dans un formulaire. Il procède ensuite de la même façon qu'avec les autres ressources de type carte, en nommant le paramètre et son libellé, puis en paramétrant l'affichage des outils propres aux cartes.

Formulaire de demande de traitement avec contrôle de type carte vMap.

#### Contrôle GTF de type Interface - Ligne de séparation

Un contrôle de type Interface-Ligne de séparation permet d'améliorer l'affichage d'un formulaire de demande d'un traitement en y insérant des lignes et accroître de la sorte son organisation et sa lisibilité.

#### Contrôles GTF de type Label

Il existe 2 contrôles de type Label :

- Label

Un contrôle GTF de type Label permet d'insérer un champ et sa valeur dans un formulaire de demande de projet, sans qu'il puisse être modifié. L'auteur nomme le paramètre et son libellé tel qu'il sera affiché dans le formulaire. Il définit ensuite la valeur à afficher, ainsi que la largeur du contrôle.

- Label- Style Titre

Un contrôle Label Style Titre permet d'insérer un titre dans le formulaire de demande. L'auteur définit le nom du paramètre et son libellé, puis définit la classe html à associer au titre.

#### Contrôle GTF de type Champ caché

Un contrôle GTF de type Champ caché permet de masquer un paramètre publié. Le paramètre est exploité dans le traitement mais n'est pas apparent.

L'auteur nomme le paramètre et définit la valeur à exploiter.

Un paramètre publié FME caché, c'est-à-dire que son nom est par préfixé par H_, est directement importé dans GTF en contrôle de type Champ caché.

Contrôle de type champ caché.

#### Gestionnaire de sources de données

Le gestionnaire de sources de données permet la création, l’édition et la suppression des sources de données à associer aux contrôles GTF de type :

- Liste
- Liste déroulante

Le Gestionnaire de sources de données permet d'exploiter des données :

- Texte : valeurs saisies directement dans le gestionnaire ou importées depuis un paramètre FME de type Choix.
- Valeurs de table locale : valeurs issues d'une table de base de données installée sur le même serveur que GTF.
- Base de données externe : valeurs importées d'une table de base de données externe à GTF.
- Service web Vitis : permet d'exploiter un service web pour en récupérer les ressources.

Le gestionnaire de source de données est accessible en cliquant sur le bouton en bas à droite de la fenêtre des paramètres publiés.

Fenêtre du Gestionnaire de source de données

On peut ajouter, éditer ou supprimer une source de données.

Le bouton 'Ajouter' permet de créer une nouvelle source de données.

Le type de source détermine les paramètres de connexion devant être définis pour pouvoir importer les valeurs.

#### Ajout de source de données de type texte

Cette option permet de saisir directement des valeurs de type texte qui s'afficheront dans le formulaire sous forme de liste déroulante.

#### Paramétrer la source de données

Gestionnaire de source de données. Source de données de type Texte.

Après avoir nommé la source de données, saisir les libellés et les clés (stockées en base) séparés par le caractère |.

Le bouton 'Aperçu', permet de visualiser la liste en cours de création.

Le bouton 'Valider' permet de valider la création de la liste, de fermer la fenêtre en cours et de revenir à la liste des sources de données.

Cliquer à nouveau sur 'Valider' pour fermer le gestionnaire de source de données et revenir au studio.

#### Lier la source de données au paramètre publié

Pour associer la source de données créée à un paramètre de type liste , sélectionner le paramètre dans la fenêtre Paramètres publiés, puis l'éditer dans la fenêtre de Définition.

Sélection du paramètre publié dans le studio.

Sélectionner ensuite la source de données nouvellement créée dans le champs Source de données :

Sélection de la source de données.

Cliquer ensuite sur le bouton 'Recharger les sources de données' en haut à droite de la fenêtre de prévisualisation, pour pouvoir visualiser la liste.

Vous pouvez paramétrer le nombre de lignes à afficher dans la liste, sa largeur et définir si ce paramètre est obligatoire ou pas, en cochant le paramètre 'Requis'.

#### Ajout d'une source de données de type Valeurs d'une table locale

Le Gestionnaire de source de données permet d'importer les valeurs d'une table de base de données installée sur le même serveur que GTF.

#### Paramétrer la source de données

Gestionnaire de source de données. Source de données de type Valeurs de table locale.

Saisir le nom à attribuer à la source de données à créer, puis la base de données (facultatif). Appuyer sur le bouton Schémas pour obtenir la liste des schémas de la base, puis sur le bouton Tables pour sélectionner celles contenant les valeurs à utiliser. Le bouton ' Test' permet de tester la connexion en affichant la table dans la fenêtre Aperçu.

Il est possible de filtrer les données à importer via une clause de type Where, définie dans le champs 'Filtre'. Dans l'exemple ci-dessus, on peut choisir de n'afficher que les bâtiments d'une commune et saisir dans le champs filtre la clause : id_com='340003'.

Le bouton 'Valider' permet de fermer la fenêtre en cours et de revenir à liste des sources de données.

Cliquer à nouveau sur Valider pour fermer le gestionnaire de source de données et revenir au studio.

#### Lier la source de données au paramètre publié

Pour lier cette liste à un paramètre publié, sélectionner le paramètre désiré dans la fenêtre des Paramètres publiés à droite de l'écran, pour pouvoir ensuite l'éditer dans la fenêtre de Définition :

Sélection de la source de données.

Nommer le paramètre, éditer son libellé puis sélectionner dans la liste déroulante la source de données nouvellement créée, dans l'exemple ci-dessus : 'liste_moteurs".

Définir ensuite la clé ainsi que le libellé qui sera affiché dans le formulaire : pour cela cliquer sur le bouton pour charger les valeurs et sélectionner celles à définir comme clé puis comme libellé :

Définition de l'attribut clé.

Dans la fenêtre de prévisualisation, cliquer ensuite sur le bouton 'Recharger les sources de données' , pour pouvoir prévisualiser la liste, telle qu'elle s'affichera dans le formulaire de demande :

Prévisualisation du paramètre de type Liste.

Vous pouvez paramétrer le nombre de lignes à afficher dans la liste, sa largeur et définir si ce paramètre est obligatoire ou pas, en cochant le paramètre 'Requis'.

Vous pouvez faire de cette liste une liste en cascade en cochant la case Cascade.

.

#### Options avancées = affiner l'affichage des listes

Il est possible d'affiner l'affichage des éléments de la liste via des commandes de tri (order_by et sort_order) sur les attributs dont on spécifie les noms dans le champs Attributs. Ils doivent êtres séparés par le caractère |. Pour distinguer les valeurs identiques, on peut définir une clause distinct.

On peut également filtrer les valeurs à afficher via une clause Where dont on spécifie les arguments dans le champ ' filter'. Dans l'exemple ci-dessous, on choisit de n'afficher que le moteur n° 1 en insérant une clause Where sur l'attribut gtf_engine_id :

#### Ajout d'une source de données de type Base de données externe

GTF permet d'importer des valeurs d'une table de base de données externe.

#### Paramétrer la source de données

Gestionnaire de source de données. Source de données de type Base de données externe.

Après avoir saisi le nom de la nouvelle source de données, saisir les paramètres de connexion à la base de données (serveur, port, sgbd, login, mot de passe et tables). Le bouton permet d'afficher la liste des tables de la base et de la sorte de s'assurer de la réussite de la connexion.

Il est également possible de filtrer les données à importer via une clause de type Where, saisie dans le champs Filtre.

Dans l'exemple ci-dessus, seuls les ESI en instruction et inscrits seront listés dans le formulaire.

Le bouton 'Valider' permet de fermer la fenêtre en cours et revenir à liste des sources de données.

Cliquer, à nouveau, sur Valider pour fermer le gestionnaire de source de données et revenir au studio.

#### Lier la source de données au paramètre publié

Pour lier cette liste à un paramètre publié, sélectionner le paramètre désiré dans la fenêtre des Paramètres publiés à droite de l'écran, pour pouvoir ensuite l'éditer dans la fenêtre de Définition :

Nommer le paramètre, éditer son libellé puis sélectionner dans la liste déroulante la source de données nouvellement créée, dans l'exemple ci-dessus : 'esi'.

Définir ensuite la clé ainsi que le libellé : pour cela, cliquer sur le bouton pour charger les valeurs et sélectionner celles à définir comme clé puis comme libellé :

Cliquer ensuite sur le bouton 'Recharger les sources de données' dans la fenêtre de prévisualisation, pour pouvoir prévisualiser la liste, telle qu'elle s'affichera dans le formulaire de demande :

Vous pouvez paramétrer le nombre de lignes à afficher dans la liste, sa largeur et définir si ce paramètre est obligatoire ou pas, en cochant le paramètre 'Requis'.

Vous pouvez faire de cette liste une liste en cascade en cochant la case Cascade.

.

#### Options avancées

#### Ajout d'une source de données de type Service web

Il est possible d'exploiter les ressources des services web Vitis et Gtf pour configurer les paramètres de type liste.

Gestionnaire de source de données. Source de données de type Service Web.

Après avoir sélectionné le service à exploiter (Vitis ou Gtf), sélectionner la ressource dont vous voulez importer les données.

Dans l'exemple ci-dessus, on exploite la ressource Groups du service Vitis. Les groupes d'utilisateurs de Vitis seront importés dans le paramètre publié de type liste, en cours de création.

L’accès aux services web diffère selon les privilèges liés à l’utilisateur. Il faut donc s'assurer que le compte connecté ait bien les droits requis pour accéder au service web de son choix. Consulter la liste des droits par service.

Le bouton 'Valider' permet de fermer la fenêtre en cours et revenir à liste des sources de données.

Cliquer à nouveau sur Valider pour fermer le gestionnaire de source de données et revenir au studio.

#### Lier la source de données au paramètre publié

Pour lier cette liste à un paramètre publié, sélectionner le paramètre désiré dans la fenêtre des Paramètres publiés à droite de l'écran, pour pouvoir ensuite l'éditer dans la fenêtre de Définition :

Nommer le paramètre, éditer son libellé puis sélectionner dans la liste déroulante la source de données nouvellement créée, dans l'exemple ci-dessus : 'groupes'.

Définir ensuite la clé ainsi que le libellé. Pour cela cliquer sur le bouton pour charger les valeurs et sélectionner celles à définir comme clé puis comme libellé :

Cliquer ensuite sur le bouton 'Recharger les sources de données' dans la fenêtre de prévisualisation, pour pouvoir visualiser la liste, telle qu'elle s'affichera dans le formulaire de demande :

Vous pouvez paramétrer le nombre de lignes à afficher dans la liste, sa largeur et définir si ce paramètre est obligatoire ou pas, en cochant le paramètre 'Requis'.

Vous pouvez faire de cette liste une liste en cascade en cochant la case cascade.

#### Options avancées

#### Créer des listes en cascade

On peut choisir d'afficher une liste dont le contenu varie en fonction des valeurs sélectionnées dans une autre liste. L'option Cascade permet le paramétrage de telles listes en spécifiant le paramètre publié parent et l'attribut enfant sur lequel effectuer le filtre d'affichage.

Attributs de filtrage et Signe de comparaison

Après avoir défini quel est l'élément parent, il faut définir le champ enfant sur lequel repose l'ascendance ainsi que le signe de comparaison sur lequel doit reposer la comparaison entre les champs liant la table parent à la table enfant.

Les signes de comparaison sont :

- = Egalité parfaite entre le champ parent et le champ enfant
- > Ne seront affichés dans la liste enfant que les enregistrements dont la valeur est supérieure à l'attribut de filtre parent.
- < Ne seront affichés dans la liste enfant que les enregistrements dont la valeur est inférieure à l'attribut de filtre parent.

Attendre le parent

Pour forcer l'affichage de la liste des éléments enfants uniquement lorsqu'un élément parent est sélectionné, il faut cocher la case 'Attendre le parent'. Ainsi, si aucun élément parent n'est sélectionné, aucun élément enfant n'apparaîtra dans la liste.

Exemple

On veut faire apparaître les sections d'une commune sélectionnée préalablement.

Un premier paramètre nommé 'commune' est créé. Il exploite les valeurs d'une table 'commune' d'une base de données. Un deuxième paramètre nommé 'section' est créé. Il exploite les valeurs d'une table 'section' de la même base.

Dans la fenêtre de la définition du paramètre 'section', après avoir lié le paramètre à la source de données, sélectionner la boîte à cocher 'cascade' puis sélectionner le paramètre parent 'commune' :

Seules les 2 sections de la commune sélectionnée d'Abeilhan apparaissent désormais dans la liste Section :

### Appel externe

La section Appel externe permet l'intégration dans une page html d'un formulaire GTF. C'est un moyen de donner accès à un projet GTF depuis une quelconque page web, sans avoir GTF installé sur son poste. La section Appel Externe du mode Projet permet de définir la façon dont l'utilisateur final aura accès au formulaire GTF puis génère le code à intégrer directement dans la page html désirée.

L'administrateur définit le type d'accès souhaité au formulaire GTF :

- soit via un bouton intégré dans la page Internet,
- soit via l'insertion telle quelle du formulaire GTF dans la page web.

Il associe ensuite un Titre au formulaire et dans le cas d'un bouton, il spécifie le texte associé au bouton d'accès du formulaire dans le champ 'Texte du bouton'. La hauteur et largeur du formulaire peuvent également être paramétrées.

Appel externe

#### Jetons de connexion

Un jeton agit comme une clé permettant d'accéder à un formulaire GTF. Un jeton ne peut être donné qu'à un utilisateur authentifié.

L'administrateur a la possibilité d'associer à un traitement un jeton privé ou un jeton public permettant l'accès et l'utilisation du formulaire GTF :

- Le jeton public est l'identifiant de connexion du compte PUBLIC défini au préalable par l'administrateur dans le mode Configuration
- Fournir un jeton privé est un moyen de donner accès à un compte de connexion à un traitement GTF particulier. Pour générer une clé privée, l'administrateur saisit le login et mot de passe de l'utilisateur pour lequel il souhaite générer un jeton privé puis définit une date de fin de validité de cette dernière. Après avoir cliqué sur le bouton 'Clé privée', la clé est retournée et intégrée dans le code à utiliser.

#### Utilisation de CAPTCHA

Il est possible d'intégrer un CAPTCHA au formulaire pour s'assurer que la demande de traitement est bien générée par un être humain et non par un ordinateur.

L'insertion d'un Captcha, nécessite l'obtention d'une clé sur le service Web de Google à l'adresse https://www.google.com/recaptcha/admin. Une fois la clé obtenue, l'administrateur saisit la clé fournie dans le champ Clé Recaptcha.

La clé est directement intégrée dans le code généré par GTF. Le motif CAPTCHA est généré automatiquement à chaque demande de traitement.

#### 6.1.6.3 Insertion du code généré

Le bouton 'Générer le code' retourne le code à copier dans la page Html permettant d'accéder au formulaire GTF. Le code contient le jeton de connexion défini au préalable (public ou privé), ainsi que le cas échéant la clé Captcha.

Exemple de code:

Jeton de connexion public / Clé Captcha

Ce code est à insérer directement dans la page html à l'emplacement désiré.

L'exemple ci-dessous illustre l'insertion d'une fenêtre de demande de création de gex (traitement administration 'admin_export') dans un page html :

### Répertoire Projet

La section Répertoire projet permet de visualiser le contenu du répertoire contenant le projet FME ainsi que les ressourceS associées à ce dernier. Ce répertoire contient les copies systématiques des projets FME (renommés en .bak) dont les visualiseurs ont été désactivés.

En cas de chargement de projets fmw de même nom, l'ancien projet est renommé en .bak.

Les ressources sont écrasées en cas de chargement de ressources de même nom. La date de dernière modification des fichiers est indiquée et permet de contrôler la bonne mise à jour des fichiers écrasés.

GTF détecte les formats de types multifichiers (Shape File, EDIGEO…) contenus dans un fichier compressé ZIP que l’utilisateur uploade sur le serveur. Les fichiers sont automatiquement décompressés dans le répertoire projet.

### Gestion des Transformers et formats personnalisés

FME stocke les formats et Transformers personnalisés dans des répertoires propres à chaque utilisateur identifiés par la variable d'environnement %userprofile%.

- Les Transformers personnalisés sont stockés dans le répertoire %userprofile%\Mes documents\FME\Transformers.
- Les formats personnalisés sont stockés dans le répertoire %userprofile%\Mes documents\FME\Formats

De la sorte, chaque utilisateur dispose de son propre environnement de travail.

Dans GTF, un traitement FME est exécuté par le compte qui exécute le service Pycron, en général 'système local'. Ce dernier ne dispose pas de répertoire utilisateur %userprofile% . FME ne peut donc pas localiser les fichiers des Transformers et des formats personnalisés. Le traitement ressortira en erreur.

Pour pouvoir être exploités, les formats et Transformers personnalisés doivent donc être installés manuellement (copiés) sur le serveur GTF dans les répertoires suivants :

- Formats personnalisés ==> $FME_HOME\datasources
- Transformers personnalisés ==> $FME_HOME\transformers

### Gestion des connexions nommées

Les connexions nommées stockent les informations de connexions aux bases de données et services web. De la même manière que les formats et Transformers personnalisés, les connexions nommées sont stockées dans des répertoires propres à chaque utilisateur.

Elles sont ainsi stockées dans un fichier crypté 'namedConnections.data' situé dans le répertoire %userprofile%\AppData\Roaming\Safe Software\FME\

Ce fichier doit pouvoir être accessible par un utilisateur réel via FME Workbench pour créer et gérer les connexions, mais il doit également pouvoir être utilisé par le compte système local, compte qui, dans GTF, exécute le service Pycron pour lancer un traitement FME.

Or, contrairement aux utilisateurs classiques, le compte système local ne dispose pas de répertoire personnel %userprofile%. Il ne peut donc pas exploiter les connexions nommées d'un projet FME publié sur un serveur GTF.

Pour pouvoir exploiter les connexions nommées dans GTF, le fichier crypté des connexions nommées doit donc être localisé, puis une clé de registre doit ensuite être créée : elle indiquera l'emplacement du fichier crypté, de sorte à en assurer son utilisation par tout compte ne disposant pas de répertoire personnel tel que le compte Système local.

- Rendre publiques les connexions nommées désirées
- Exporter les connexions nommées désirées dans un répertoire spécifique
- Créer une clé de registre contenant le chemin du répertoire par défaut, stockant le fichier des connexions nommées
- Tester

#### Rendre publiques les connexions nommées

Dans un premier temps, pour pouvoir être exploitables par d'autres utilisateurs, les connexions nommées doivent être rendues publiques.

Dans FME, dans le Menu Outils->Options FME->Connexions aux bases de données, sélectionner les connexions nommées que vous souhaitez exporter (et les attribuer ensuite à un compte système local) puis cocher la case Public.

Connexions nommées dans FME.

La possibilité de rendre publique une connexion nommée a été implémentée dans la version FME 2016. Or, FME exploite des connexions nommées créées dans d'anciennes versions. Dans ce cas, La colonne Public n'apparaît pas dans la fenêtre des connexions. Pour contourner ce problème et afficher la colonne Public, exporter les connexions nommées dans un nouvel emplacement, supprimer les connexions initiales, puis les réimporter (Cf procédure 6.1.9.2).

#### Exporter des connexions nommées

Sélectionner la lou les connexions nommées que vous souhaitez exporter puis dans le menu contextuel, choisir Exporter.

Export des connexions nommées.

Les connexions sélectionnées sont exportées dans un fichier xml : 'exportConnectionData_x.xml'. Choisir ensuite son emplacement.

Dans FME, il est alors possible de modifier l'emplacement du fichier des connexions nommées en indiquant le nouveau répertoire dans le menu Outils->Options FME->Chemins par défaut.

Spécification du répertoire des connesions nommées.

Vous pouvez, par exemple, supprimer les connexions nommées d'origine, puis importer celles que vous venez d'exporter et remplacer de la sorte les connexions initiales.

Retourner dans le menu Outils->Options FME->Connexions aux bases de données et sélectionner 'Importer' dans le menu contextuel dans la liste des connexions.

Import de connexions nommées

Sélectionner les connexions que vous souhaitez importer :

Sélection des connexions nommées à importer

Les connexions nommées précédemment exportées sont à nouveau importées.

Dorénavant, 5 connexions nommées sont listées dans le menu Outils->Options FME->Connexions aux bases de données :

Nouvelles connexions nommées

#### Création des clés de registre

Pour pouvoir attribuer au compte système local le répertoire par défaut des connexions nommées (nouvellement importées), un fichier de registre cn32.reg (ou cn64.reg selon les versions de FME) doit être créé et contenir le chemin du répertoire stockant le fichier crypté des connexions.

---------------------------------------------------------------------------------------------------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Safe Software Inc.\Feature Manipulation Engine\Settings]

"Named Connection Db Type"=dword:00000000

"Named Connection Directory"="E:\\tmp\\connexion"

----------------------------------------------------------------------------------------------------------------------------------------

Clé de registre cn32.reg à créer.

Les caractères '\'doivent être doublés.

#### Import de la clé de registre

Importer la clé de registre via la commande regedit->import ou par un double clic sur le fichier .reg.

- cn32.reg contient la clé de registre pour FME 32 bits

- cn64.reg contient la clé de registre pour FME 64 bits

Il est possible d'importer les deux clés.

#### Test

Veremes met à disposition sur son site de téléchargement le projet ListSettings.fmw qui génère un fichier texte (settings.txt) dans lequel sont listés les paramètres système FME du serveur tels que les builds , l'interpréteur Python utilisé....

Pour vérifier l'emplacement du répertoire des connexions nommés, exécuter le projet ListeSettings.fmw et s'assurer que dans le fichier texte généré, le répertoire spécifié soit bien rajouté et correct :

---------------------------------------------------------------------------------

Settings:

Python:

Use Custom Python: false

Named Connection Db Type: 0

Named Connection Directory: E:\tmp\connexion

Statistics:

enabled: no

------------------------------------------------------------------------------------

#### Publier une connexion nommée

Un auteur de projet peut publier une connexion nommée. Avec GTF 2015 et 2016.0, pour publier une connexion nommée il est nécessaire de créer un paramètre publié de type TEXTE.

Puis il faut associer ce paramètre publié au paramètre du Reader ou du Transformer concerné :

Avec GTF 2016.1, les paramètres publiés de type Connexion Nommée sont automatiquement reconnus et transformés en paramètre de type Texte.

## Gestion des catégories

L’attribution de catégorie à un traitement permet à l’administrateur d’organiser par thématique les traitements disponibles.

L’onglet Catégorie du mode Publication permet d’accéder au formulaire de création de catégorie dans lequel l’administrateur nomme cette dernière et peut lui associer une description.

## Gestion des dépôts (répertoire de surveillance) et des abonnements

### Abonnement à un traitement

Un abonnement permet à un utilisateur d'exécuter à fréquence régulière un projet.

Un auteur peut décider de rendre un traitement disponible pour abonnement ou pas.

Dans le menu Mon travail, onglet Abonnements, un utilisateur peut choisir de s'abonner à un projet, à la fréquence de son choix, et peut choisir d'être notifié par mail du bon déroulement ou pas du traitement. Il peut également saisir l'adresse mail à laquelle envoyer la copie du mail.

### Surveillance des dépôts

Un dépôt est un répertoire de surveillance.

Une surveillance correspond à un abonnement à un traitement en ajoutant un nouveau paramètre qu’est la disponibilité d’un fichier ou d’un répertoire dans un dépôt préalablement défini par l’administrateur.

Ainsi, si un projet est rendu disponible pour surveillance, alors ce dernier est automatiquement exécuté (selon la période d’abonnement définie) dès lors que GTF détecte la présence d’un fichier dans le dépôt.

L’onglet Dépôt permet à l’administrateur de consulter la liste des dépôts, d’en créer et d’en supprimer.

Il crée des nouveaux dépôts en spécifiant le chemin du répertoire à surveiller qu’il aura préalablement créé sur le serveur.

La stratégie d’attribution de dépôt se fait à l’échelle du groupe d’utilisateurs. Un utilisateur en ayant-droit, peut alors associer à un traitement une surveillance dans un dépôt. GTF scrute la présence de fichiers dans le dépôt. Si un fichier est présent, alors le traitement est lancé en exploitant le fichier.

Le bouton ‘Ajouter un dépôt’ permet d’accéder au formulaire de création de dépôt en spécifiant le chemin du répertoire à surveiller, un alias et les groupes y ayant accès. Il clique ensuite sur ‘Créer’ pour valider sa création et rendre le dépôt disponible pour les groupes en ayant droit.

Formulaire de création de dépôt.

GTF personnalise automatiquement le dépôt en fonction du compte utilisateur de connexion en suffixant le dépôt avec la variable $user. L’utilisateur final ne voit ainsi que son propre répertoire dans le dépôt. Au préalable, l’administrateur doit avoir créé dans chaque dépôt, un répertoire par utilisateur (des groupes ayant accès à chaque dépôt). Le nom du répertoire doit être parfaitement identique au compte de connexion qu’il s’agisse d’un utilisateur « PostgreSQL » ou importé d’Active Directory.

## Gestion des périodes

Un abonnement permet de s’inscrire à un traitement répété au cours du temps selon une fréquence choisie.

Dans l’onglet Périodes, l’administrateur peut accéder au formulaire de définition des périodes d’abonnement. Le bouton ‘Ajouter période’ permet à l’administrateur de définir une nouvelle période d’abonnement en lui affectant un libellé puis en y insérant le code correspondant.

Il est ensuite possible de tester le bon déroulement de l’ajout de Période en cliquant sur le bouton ‘Test’. Le bouton ‘Créer’ finalise le processus de création d’une période.

Pycron est le composant assurant l’exécution des tâches à heures fixes. L’instruction à saisir doit respecter la syntaxe de la fonction contrab. Pour plus d’information sur le programme crontab et la syntaxe à respecter, consulter le site : http://fr.wikipedia.org/wiki/Crontab

## Modèles d'E-mail

L'onglet Modèles-email du mode Publication permet la création de modèles d'e- mail envoyé après exécution d'un traitement. Via cette onglet, l'administrateur (ou l'auteur) a la possibilité de personnaliser un e-mail, en définissant la ou les personnes destinataires, les circonstances d'envoi de ce dernier ainsi que son contenu. Il choisit ensuite pour chaque modèle, la définition à utiliser.

Chaque traitement est associé à un modèle d'e-mail.

L'onglet Informations générales permet de créer un nouveau modèle de mail, en le nommant et en définissant son contexte à GTF et de définir le type de définition de ce dernier :

### Définition simple

L'administrateur exploite les balises disponibles pour personnaliser le corps du mail.

Nom de la balise | descriptif | code correspondant
[order.order_id] | Identifiant de la demande de traitement | $properties['order.order_id']['value'] = $this->aObjects["oOrder"]->aFields['order_id'];
[order.order_date] | Date et heure de la demande de traitement | $properties['order.order_date']['value'] = $this->aObjects["oOrder"]->aFields['order_date'];
[order.execution_date] | Date et heure de fin de traitement | $properties['order.execution_date']['value'] = $this->aObjects["oOrder"]->aFields['order_execution_date'];
[order.result_url] | Adresse de téléchargement du résultat du traitement | $properties['order.result_url']['value'] = $this->aObjects["oOrder"]->aFields['result_url'];
[order.log_url] | Adresse du log du traitement | $properties['order.order_log']['value'] = $this->aObjects["oOrder"]->aFields[log_url'];
[order.length_sec] | Durée du traitement en secondes | $properties['order.length_sec']['value'] = $this->aObjects["oOrder"]->aFields[length_sec'];
[order.email_notifications] | Adresse Email du destinataire en copie de mail | $properties['user.email']['value'] = $this->aObjects["oOrder"]->getUser()->aFields['email'];
[gtf_engine. Name] | Nom du moteur GTF | $this->aObjects["oOrder"]->getGtfEngine()->aFields['name'];
[fme_engine.name] | Nom du moteur FME utilisé | $this->aObjects["oOrder"]->getFmeEngine()->aFields['name'];
[order.user.name] | Nom du demandeur de traitement | $properties['user.name']['value'] = $this->aObjects["oOrder"]->getUser()->aFields['name'];
[order.user_email] | Adresse mail du demandeur de traitement | $properties['user.email']['value'] = $this->aObjects["oOrder"]->getUser()->aFields['email'];
[order.user.login] | Compte de connexion du demandeur | $properties['user.login']['value'] = $this->aObjects["oOrder"]->getUser()->aFields['login'];
[order.worksapce.category.name] | Catégorie du traitement | $properties['catgory.name']['value'] = $this->aObjects["oOrder"]->getWorkspace()->getCategory()->aFields['email'];
[order.workspace.name] | Nom du traitement | $properties['order.workspace.name']['value'] = $this->aObjects["oOrder"]->getWorkspace()->aFields['name'];
[worksapce.fmw_file] | Nom du projet FME | $properties['order.workspace.fmw_file']['value'] = $this->aObjects["oOrder"]->getWorkspace()->aFields['fmw_file'];

La balise [order.email_notifications] doit être insérée dans les champs CC et CCi de sorte à ce qu'une notification de traitement soit envoyée aux adresses mail définies dans le formulaire de demande de traitement dans le champ 'Envoyer une copie de l'e-mail à' :

Lorsque plusieurs destinataires doivent être en copie du mail de notification, séparer les adresses mail par un retour charriot.

### Définition avancée

L'administrateur saisit directement le code du mail. Il peut, pour cela, utiliser le code généré via l'édition simple en cliquant sur le bouton Générer le code à partir de l'édition simple.