Rangement des fichiers sur vador

Configuration

L'ensemble de la configuration est stockée dans /etc/fdn, essentiellement dans le sous-répertoire adsl.

Les fichiers de configuration sont présents en double. Pour un fichier toto.cfg ou toto.tbl il y a toujours un fichier .bin associé. Il contient exactement la même chose mais dans un format binaire plus rapide à lire pour perl. On peut toujours effacer les fichiers .bin, ils n'ont aucune valeur et aucune intérêt: ils seront re-générés la première fois qu'un script en aura besoin. Quand on modifie un fichier de configuration, le .bin correspondant est re-généré tout seul. Il n'y a donc pas besoin de s'en préoccuper.

Le répertoire /etc/fdn/

Les fichiers à la racine de /etc/fdn sont les suivants:

dbc.cfg contient les infos permettant aux FDN-libs de se connecter aux bases de données. C'est un fichier global qui sert à toutes les applications basées sur ces bibliothèques. Il se trouve que pour le moment ça ne sert que pour la base ADSL.

tex.cfg est un fichier de configuration par défaut pour le module de génération de documents TeX. Ne sert jamais. N'est probablement d'ailleurs pas présent sur vador.

session.cfg est le fichier de configuration du module de gestion des sessions. Les seules sessions dont on se serve sont les sessions du site des adhérents. Les sites de souscription et le site principal n'utilisent pas de sessions.

Le répertoire /etc/fdn/adsl/

Les fichiers dans ce répertoire sont les suivants:

Le fichier global.cfg est le fichier de configuration le plus important. C'est lui qui indique de manière globale à l'ensemble des scripts un certain nombre d'informations. Il est documenté ici. Il vaut mieux y réfléchir à deux fois avant de le modifier.

Le fichier plutar.cfg est le fichier de configuration de l'application plutar. Pour plus d'infos sur plutar et sur sa configuration, voir ici. Cette application n'est utilisée que pour rendre asynchrone les tests d'éligibilité fait pendant le traitement d'une commande de ligne ADSL. Elle sera sans doute utilisée pour d'autres choses un jour.

Le fichier props.tbl est le fichier qui contient les règles de ré-écriture pour afficher les propriétés de différents objets de la base de données. Il est utilisé par l'application pour mettre en forme les propriétés des diverses tâches de déploiement. C'est en particulier ce fichier qui permet de donner des noms plus parlants aux propriétés, et qui permet de fixer l'ordre de leur affichage. Les propriétés qui ne sont pas citées dans ce fichier sont affichées quand même, mais à la fin de la liste, sous leur vrai nom, et avec leurs valeurs brutes non mise en forme. Ça n'a d'influence que sur la lisibilité de la page d'informations sur une tâche.

Le fichier rewrite.tbl est probablement le fichier le plus important pour l'ensemble des affichages de tout l'application. C'est ce fichier qui met en forme toutes les informations qui sont dans des tableaux et/ou des listes. L'application n'est composée, quasiment, que de tableaux. Du coup presque toute la mise en forme est faite dans ce fichier. Plus d'infos ici.

Le fichier subs.cfg fixe quelques informations pour les sites de souscription particuliers de Neuronexion et de MetaConsult.

Le fichier tables.cfg contient tout un tas d'éléments techniques pour le workflow de traitement des commandes de lignes ADSL. En particulier les tables de correspondance pour les codes d'erreur ou pour les offres sur les lignes. Il contient également les tables permettant de trouver le nom lisible d'une tâche à partir de son identifiant technique, et réciproquement. Il vaut mieux éviter de le modifier.

Le fichier tex.cfg contient la configuration utile pour la génération de documents PDF à la volée via TeX. À priori, ça ne doit pas changer souvent, et le plus souvent ce sera Benjamin qui va s'en charger.

Le fichier wf.cfg est un des fichiers de configuration les plus complexes et les plus important. C'est lui qui pilote entièrement le workflow de déploiement des lignes ADSL. La moindre faut dans ce fichier peut planter l'ensemble du système, par exemple en entrainant des commandes invalides qui risquent de coûter de l'argent à l'association. Il ne faut pas y toucher à la légère. Il est documenté ici.

Le répertoire /etc/fdn/adsl/adhs/

Ce répertoire contient les fichiers de configuration utilisés pour le site des adhérents. Il contient les fichiers suivant:

adh.cfg contient la description du formulaire d'authentification.

rewrite.tbl contient les règles de ré-écritures utilisées pour afficher des informations sur le site des adhérents.

suivi.tbl contient la description du formulaire du site de suivi de commande.

Le répertoire /etc/fdn/adsl/elig/

Ce répertoire contient les fichiers de configuration utilisés pour les tests d'éligibilité. Il ne contient que le fichier eliade.cfg pour le moment. Ce fichier contient quelques informations permattant l'accès au serveur d'éligibilité de Cegetel.

Le fichier ariance.cfg viendra s'y ajouter pour la configuration pour le site d'éligibilité de Neuf-Cegetel.

Le répertoire /etc/fdn/adsl/form/

Ce répertoire contient les fichiers de configuration décrivant les formulaires de l'application principale. Il contient les fichiers suivant:

factu.cfg contient la description des formulaires liés à la gestion de la facturation (celui de cloture d'un mois d'exercice, ceux de gestion des factures ou des prélèvements, etc).

new.cfg contient les descriptions des formulaires permettant de crééer ou de modifier des objets dans la base de données.

task.cfg contient les descriptions des formulaires en lien avec la gestion des tâches.

view.cfg contient les descriptions des formulaires permettant de choisir un objet à visualiser dans la base (par exemple choix d'un adhérent par son numéro d'adhérent, ou pas sont identifiant en base, etc).

Le répertoire /etc/fdn/adsl/subs/

Ce répertoire contient les fichiers de configuration décrivant les différents sites liés à la souscription: aussi bien le site principal pour les futurs adhérents que les sites pour Neuronexion et pour MetaConsult. Il contient les fichiers suivant:

mail.cfg contient la description des différents mails envoyés pendant la souscription ou la résiliation d'une ligne ADSL. En particulier il contient les sujets des mails et le nom des fichiers templates associés à chaque mail.

souscription.cfg contient la description des différentes pages du site de souscription pour les futurs adhérents. S'il faut modifier le site de souscription (par exemple ajouter une précision, une info, etc), c'est certainement dans ce fichier.

souscription.tbl contient les règles de ré-écriture utilisées par le site de souscription. Il ne sert que pour la page de récapitulation d'une commande avant la validation finale.

subs.cfg contient les descriptions des formulaires de souscription pour Neuronexion et MetaConsult.

Dépôts de données

L'application entreprose les données clefs dans la base de données. Cependant un certain nombre de données sont stockées sous forme de fichiers externes. Ces données sont globalement stockées dans /var/lib/fdn/adsl/.

Tout ce qui se trouve dans ce répertoire doit être backupé régulièrement sur une ou plusieurs machines d'adhérents. Certains documents peuvent contenir des informations relativement sensibles, comme des autorisations de prélèvements, des relevés de compte, des factures de fournisseurs, etc. Il vaut mieux ne pas les laisser trainer.

Le répertoire /var/lib/fdn/adsl/IMG/

Il contient toutes les images récupérées par scan de document. Le sous répertoire test contient tous les documents de test (sans valeurs) ainsi que leurs versions réduites. Le sous répertoire wrong contient les images avec des noms innatendus, qui correspondent à priori à des déchets apparus dans les répertoires de téléchargement chez les différents détenteurs de scanners.

Les deux sous-répertoires vraiment utiles sont jpeg qui contient les images en grandeur réélle (100 dpi en niveau de gris) et thumbnails qui contient les images en taille réduite. Normalement, toute image img123.jpg dans le répertoire jpeg à sa version en taille réduite tn-img123.jpg dans le répertoire thumbnails.

Le répertoire /var/lib/fdn/adsl/prl/

Il contient les fichiers de prélèvement bancaire tels qu'ils sont générés par l'application web. Ces fichiers doivent être transmis vers la banque pour exécution. Le mode de transfert automatisé n'est pas encore défini.

Le répertoire /var/lib/fdn/adsl/sessions/

Ce répertoire contient les sessions des différents site web. Un répertoire par site web. Pour le moment le seul site web à utiliser des sessions est celui des adhérents. Ses sessions sont dans adh.

Le répertoire /var/lib/fdn/adsl/sessions/adh/ contient des sous-répertoires, jusqu'à 256, donc les noms sont des valeurs héxa sur deux chiffres. Ça correspond à un hashage. Une session, par exemple adh_0.160377161185355 est rangée dans le sous-répertoire dont le nom correspond au premier octet du CRC32 de son nom.

Pas clair? On prend le nom de la session. On en calcul le CRC32 (de tête?). On écrit ce CRC32 en héxa. On prend les deux premiers caractères. C'est le code héxa du premier octet. La session est rangée dans ce répertoire-là. Ça correspond à un hashage « CRC32 » en profondeur 1. On peut augmenter la profondeur s'il risque d'y avoir beaucoup de sessions en simultané (peut vraissemblable chez FDN).

Le répertoire /var/lib/fdn/adsl/stock-pdf/

Ce répertoire contient tous les documents PDF qui ont été générés automatiquement. Certains n'ont d'intérêt que pendant la phase de souscription, pour que le futur adhérent puisse les imprimer. D'autres ont un intérêt sur un plus long terme (par exemple les factures). Dans le doute, on archive le tout.

Le sous répertoire factures contient toutes les factures qui ont été générées par l'application.

Le sous répertoire mandat contient tous les mandats de dégroupage qui ont été générés, chacun dans son répertoire propre correspondant à son numéro.

Le sous répertoire prlbq contient les fichiers PDF à faxer à la banque pour signaler un prélèvement.

Le sous répertoire prllig contient les mémos pour les adhérents en prélèvement. Les adhérents peuvent y accéder par le site des adhérents.

Il y a des répertoires dont le nom est de la forme adhacc-NNN qui contiennent les documents générés pendant une adhésion simple (sans souscription ADSL). Les documents sont accessibles via le site des adhérents.

Il y a des répertoires dont le nom est imprononçable (généré aléatoirement, correspond au numéro de commande, sur 11 caractères, uniquement des chiffres et des lettres, aucune chance que ça puisse donner un des autres noms qui sont soit plus courts, soit avec un tiret). Ce répertoire contient tous les documents liés à cette commande (bulletin d'adhésion, bulletin de souscription, mandat de dégroupage, autorisation de prélèvement).

Le répertoire /var/lib/fdn/adsl/TD/

Ce répertoire contient tous les fichiers échangés à un moment ou à un autre dans les discussions avec Cegetel-TD. Tout est archivé. En cas de doute sur le traitement d'un des automates, on peut aller consulter directement le fichier correspondant.

out contient les fichiers qui ont été générés par l'application et qui n'ont pas encore été traités.

outdone contient les fichiers qui ont été transmis à TD.

in contient les fichiers qui ont été reçus de TD. Ils sont encore chiffrés.

in contient les fichiers reçus de TD après déchiffrement.

indone contient les fichiers reçus de TD qui ont été traités.

process contient les fichiers en cours de traitement par un des automates.

Site web

Il y a 3 sites web.

Le premier est l'application de gestion. Il est installé dans /var/www/re-adsl.

Le deuxième est le site de souscription. Il est installé dans /var/www/sub-adsl. Il contient le site de souscription public, les sites de souscription privés (Neuronexion et MetaConsult), le site de suivi de commande, et les sites de réservation de mandats de dégroupage pour Neuronexion et MetaConsult.

Le troisième est le site des adhérents. Il est installé dans /var/www/adh-adsl.

Les templates

À chaque qu'il y a des documents à générer (des pages web, des mails, des documents TeX, etc), le système se base sur un ou plusieurs fichiers modèles, éventuellement imbriqués.

Tous ces fichiers sont regroupés dans le répertoire /usr/share/fdn/templates/ et ses sous-répertoire.

Dans le sous répertoire array on trouve les fichiers types liés à la génération de tableaux. Ces fichiers ne sont pas spécifiques à l'ADSL de FDN.

Dans le sous répertoire forms on trouve les fichiers types liés à la génération de formulaires. Ces fichiers non plus ne sont pas spécifiques à l'ADSL de FDN.

Dans le sous répertoire adsl on trouve tout ce qui est lié à l'ADSL.

Le répertoire /usr/share/fdn/templates/adsl/docs

Ce répertoire contient les documentations, dont celle-ci.

Le répertoire /usr/share/fdn/templates/adsl/html

Ce répertoire contient les différents modèles en HTML. Ceux spécifiques au site des adhérents sont dans le sous-répertoire adhs.

À noter le fichier menu.tpl qui sert à faire le menu principal de l'application (le menu lui-même est dans le fichier index.cgi).

Le fichier page-forms.tpl contient la liste de tous les formulaires. C'est cette page qui est utilisée à chaque fois qu'il y a un formulaire à afficher. À chaque création de formulaire (c'est-à-dire à chaque fois qu'on ajoute une table dans la base, en gros) il faut ajouter une ligne dans ce fichier.

Le répertoire /usr/share/fdn/templates/adsl/mail

Ce répertoire contient tous les mails types envoyés soit aux adhérents soit au bureau pendant une phase de souscription ou de résiliation.

Le répertoire /usr/share/fdn/templates/adsl/soap

Ce répertoire contient le modèle de fichier SOAP utilisé pour la requête d'éligiblité. Il ne faut pas y toucher.

Le répertoire /usr/share/fdn/templates/adsl/tex

Ce répertoire contient les documents types en TeX.

Le répertoire /usr/share/fdn/templates/adsl/text

Ce répertoire contient les rares documents types en texte brut.

Les exécutables

Les exécutables en Perl sont dans deux catégories. Ceux qui correspondent aux automates liés à l'ADSL sont dans le répertoire /usr/lib/fdn/adsl. Ceux qui correspondent à des applications indépendantes de l'ADSL sont dans /usr/bin.

En particulier, l'application plutar et l'application workflow sont dans /usr/bin.

Les bibliothèques Perl

Les bilbiothèques Perl sont installées dans /usr/share/perl5/FDN.