LINUX:ExpoActes

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu du serveur Web


But

ExpoActes est un programme serveur qui permet de gérer les dépouillements d'actes et tables des états civils et des registres paroissiaux. Il est libre. Il n'est pas conçu pour créer un arbre généalogique mais plutôt pour aider une recherche généalogique.

Un acte d'état civil ou religieux est très souvent manuscrit et n'a pas une structure standardisée. Ce logiciel permet d'organiser dans une base de données les données essentielles extraites de ces documents de façon à faciliter des recherches. Il est possible de lier une fiche à une image de ce document.

Il est possible d'introduire des actes directement via l'interface Web mais cette façon est peu recommandée; il est conçu pour un chargement de données contenu dans un fichier de type CSV que l'on peut créer par Microsoft-Excel ou LibreOffice-Calc.

On peut avoir plus d'informations sur ce logiciel à l'URL: https://expocartes.monrezo.be/index.php

Une aide est disponible dans le logiciel; elle peut être consultée à l'URL: https://expoactes.monrezo.be/actes/admin/aide/aide.html

Notons que ce logiciel est présenté en français seulement.


Installation

Prérequis

Ce logiciel nécessite:

  • un serveur Web Apache
  • un gestionnaire de base de données de type MySQL tel MariaDB
  • un interpréteur PHP; la version 8.0 fonctionne sans problème; ce n'est pas le cas de la version 8.3

Dans mon cas, ces produits sont tous sur une même machine Linux


Téléchargement

A l'URL citée ci-dessus, il y a un lien vers le téléchargement du logiciel.

Sous Linux, on peut effectuer la commande:

wget https://expocartes.monrezo.be/download/expoactes-3.2.4-final.zip

pour la dernière version 3.2.4 (en mai 2024).

On décompresse ce fichier:

unzip expoactes-3.2.4-final.zip

Un répertoire "actes" contenant le logiciel est crée.


Apache

On déplace ce répertoire "actes" parmi nos autres sites Web; dans notre exemple sous le répertoire "/web".

ATTENTION: L'exemple de configuration le présente comme un des sites de votre domaine. Si ce site doit être accessible en direct, cette configuration qui suit doit être adaptée en conséquence.

On crée une configuration pour ce site dans Apache. In crée un fichier "actes.conf" dans le répertoire "/etc/httpd/conf.d":


Alias "/actes" "/web/actes"
<Directory "/web/actes">
 Options +FollowSymLinks -Indexes
 AllowOverride All
 # forcer l'utilisation de PHP 8.0
 IncludeOptional conf.d/php80.cfg
</Directory>

Comme par défaut, Fedora 40 vient avec la version 8.3 de PHP, on utilise la version 8.0 de PHP précédente provenant du dépôt de Remi; voyez l'article sur Coexistence de plusieurs versions de PHP. D'où la ligne:


 IncludeOptional conf.d/php80.cfg


On relance le service Apache pour prendre en compte cet ajout:

systemctl restart httpd.dervice


Droits

Ce répertoire doit appartenir à l'utilisateur "apache" sous lequel s'exécute le service 'httpd.service":

chown -R apache:apache /web/actes

Pour la phase de configuration, il est préférable de lui donner tous les droits lecture et écriture:

chmod -R 750 /web/actes
find /web/actes -type f -print0 | xargs -0 chmod 640

Car certains des sous-répertoires vont être renommés et un fichier de paramètres sera créé. Ces répertoires commencent par un underscore ("_") et ont l'extension ".init"; cette extension sera éliminée.

Après cette phase de première installation, on diminuera les droits à la seule lecture sauf pour les répertoires commencent par un underscore ("_"):


chmod -R 550 /web/actes
find /web/actes -type f -print0 | xargs -0 chmod 440
#chmod -R 750 /web/actes/_config
#find /web/actes/_config -type f -print0 | xargs -0 chmod 640
#chmod -R 750 /web/actes/img_act
#find /web/actes/img_act -type f -print0 | xargs -0 chmod 640
chmod -R 750 /web/actes/admin/_upload
find /web/actes/admin/_upload -type f -print0 | xargs -0 chmod 640
chmod -R 750 /web/actes/_logs
find /web/actes/_logs -type f -print0 | xargs -0 chmod 640
chmod -R 750 /web/actes/_backup
find /web/actes/_backup -type f -print0 | xargs -0 chmod 640

Les répertoires suivants contiendront:

  • _config : le fichier de configuration et quelques fichiers dont le contenu s'afficheront dans les pages.
  • img_act : les images des actes; le logiciel ne les y met pas de lui-même; il faudra les y placer par vos propres moyens (FTP,...)
  • _upload : Lors du chargement de fichier CSV, ce fichier passera par ce répertoire. Vous y trouverez aussi vos fichiers de vos propres modèles de chargement.
  • _logs : fichiers journaux du module ECLAIR
  • _backup : fichiers de sauvegarde


MariaDB

Avant tout début de configuration, la base de données MariaDB (MySQL) doit comprendre un schéma vide qui va accueillir vos données.

Nous avons nommé ce schéma "expoactes".

Voici le script SQL qui permet de le créer à vide; on nomme ce script: "schema.sql":


DROP SCHEMA IF EXISTS expoactes ;
CREATE SCHEMA expoactes ;

On l'exécute via la commande:

mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT>  < ./schema.sql

avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.


Il nous faut en outre, créer un utilisateur dans cette base de données qui a tous les droits sur ce schéma nouvellement créé. On lui a donné le nom "expoactes". C'est lui que le logiciel utilisera pour accéder à nos données.

Voici le script SQL qui permet de le créer et de lui attribuer des droits nécessaires; on nomme ce script: "user.sql":


create user 'expoactes'@'localhost' identified by '<MOT_DE_PASSE_EXPOACTES>' ;
grant all privileges on expoactes.* to 'expoactes'@'localhost';

Vous y remplacez le mot de passe "<MOT_DE_PASSE_EXPOACTES>" par celui désiré.

On l'exécute via la commande:

mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT>  < ./user.sql

avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.


De GoogleMap vers OpenStreetMaps

Lors de l'utilisation, on s'aperçoit rapidement que le module "Carte" ne fonctionne pas si on utilise GoogleMap.

Nous avons préféré migrer vers les cartes d'OpenStreetMaps. Il faut alors modifier le code source du logiciel. Nous nous sommes basés sur les suggestions du site: https://www.eldin.net/wordpress/index.php/expoactes/ mais il a fallu y apporter quelques modifications pour que cela fonctionne.

Les modifications ne concernent que six fichiers du logiciel d'origine auquel on ajoute le plugin Leaflet qui permet d'interagir avec OpenStreetMaps. Elles ont été faites sur la version 3.2.4.

Ces modifications et ajouts sont téléchargeables via le lien ci-dessous:

Télécharger le fichier ZIP contenant les scripts

Il faut le dézipper avec la commande suivante:

unzip Actes.zip

Le contenu sera placé sous le répertoire de notre site. Il est conseillé de faire une sauvegarde préalable des six fichiers modifiés. Le sous-répertoire "actes/tools/GoogleMap" peut être éliminé ou renommé pour s'assurer de sa désactivation.

Toutes les modifications ou ajouts dans ces fichiers sont signalées par un commentaire débutant par "// ADB : ". La ligne d'origine est gardée en commentaire.

A l'origine, cette carte et la géolocalisation automatique était basée et restreinte à la France. Elle a été étendue à tous pays et est paramétrable. Nous verrons cet aspect plus loin.


Configuration

Maintenant que tout est en place, on peut lancer la configuration qui se fait directement via l'interface Web. Si notre serveur Web se "serverdb.home.dom", on lance l'URL: http://serverdb.home.dom/actes/install/install.php

Vous obtenir l'écran suivant assez laconique; on clique sur le seul lien disponible.

LINUX:Expoactes.install.1.png

On remplit ici les informations concernant la base de données créés ci-dessus et on teste la connexion à la base de données.

LINUX:Expoactes.install.2.png

Si tout se passe bien, on enregistre cette configuration.

LINUX:Expoactes.install.3.png

A ce stade, un fichier de configuration est généré dans le dossier "/web/actes/_config"; dans mon cas, il se nomme "BD-serverdb-home-dom-connect.inc.php".

Cet écran nous propose de se lancer dans le logiciel. Il ne faut rien en faire.

LINUX:Expoactes.install.4.png

Il faut relancer l'URL: http://serverdb.home.dom/actes/install/install.php

Cette seconde partie nous permet de créer notre premier nom d'utilisateur qui a les droits d'administrateur. On valide.

LINUX:Expoactes.install.5.png

C'est seulement à ce stade que la base de données est crée ainsi que notre utilisateur.

LINUX:Expoactes.install.6.png


Premier contact

Maintenant on peut se lancer dans l'application. On va s'authentifier.

LINUX:Expoactes.login.png

Le tableau est vide. C'est normal.

LINUX:Expoactes.debut.png

On clique dans le menu de gauche sur "Gérer les actes". On arrive à l'écran d'administration.

LINUX:Expoactes.admin.png


Leaflet Cluster Group

Comme vu plus haut, la cartographie utilise OpenStreetMaps via le Plugin Leaflet. Par défaut, chaque commune géolocalisée est représentée sous forme d'une goutte mais il est possible de représenter des groupes denses de marqueurs sous forme regroupée.

Pour cela, il faut activer cette fonctionnalité. On introduit un nouveau paramètre dans le fichier de configuration se trouvant dans le dossier "/web/actes/_config"; dans mon cas, il se nomme "BD-serverdb-home-dom-connect.inc.php".


$clustergroupleaflet = "oui";

En l’absence de ce paramètre ou si sa valeur est différente de "oui", il n'est pas activé.


Voici un exemple de carte. Quand on déplace le pointeur de la souris sur un groupe, ici celui de Namur, un polygone représente la zone de regroupement. En cliquant dessus, un zoom se fait automatiquement et ce groupe éclate.

LINUX:Expoactes.clustergroup.png


Géolocalisation

Le logiciel comporte l'affichage sous forme de "Tableau" mais il a aussi la possibilité d'afficher sous forme de carte les communes où il y a des actes et pour chacune, le nombre d'actes par type.

Par défaut, la carte est centrée sur Paris en France et la pays de référence est la France (code: FR); ce qui implique que la géolocalisation automatique des communes ne se fera que pour celles de France.

Nous allons changer cela.

Nous désirons que, par défaut, ce soit la zone géographique correspondant à la Belgique (code: BE) qui puisse être interrogée quand on voudra que les communes belges nouvellement introduite, soient automatiquement géolocalisées. Nous allons introduire un nouveau paramètre dans le fichier de configuration se trouvant dans le dossier "/web/actes/_config"; dans mon cas, il se nomme "BD-serverdb-home-dom-connect.inc.php".


$countrycode = "BE";

Ce code est de deux lettres. On peut les trouver à l'URL: https://wiki.openstreetmap.org/wiki/Nominatim/Country_Codes

Maintenant nous allons paramétrer la géolocalisation. Dans le panneau d'administration, on clique dans le menu de gauche sur "Administrer le logiciel. et ensuite dans le menu du haut sur "Paramétrage" et en dessous sur "Géoloc".

LINUX:Expoactes.admin.geoloc.png

On règle les paramètres à sa guise. J'ai choisi la ville de "Namur" comme centre de ma carte et j'ai mis un facteur de zoom à "8" qui permet de reprendre la Belgique dans la carte. On n'oublie pas d'enregistrer.


Maintenant on peut cliquer au dessus à gauche sur "Accueil" et ensuite sur "Carte" en haut au centre à côté de "Tableau" pour voir si ces paramètres nous conviennent.


En ce qui concerne ce centre de la carte, d'autres possibilités sont possibles. Si nous avions déjà introduit un acte et géolocalisé la commune concernée, on pourrait la choisir en introduisant le nom de commune concernée tel que introduit dans l'acte. Si par contre, on désire prendre comme centre une ville hors de Belgique, notre pays de référence, il faudra aussi spécifier le code du pays.

Il y a plusieurs formats:

  • <Commune>, <Département ou province>, <code pays>
  • <Commune>, <Département ou province> (<code pays>)
  • <Commune>, <code pays>
  • <Commune> (<code pays>)

Les différentes zones sont séparées par des virgules. Pour le code du pays, au lieu d'une virgule, on peut le mettre entre parenthèses. Par exemple, pour la ville de Lille en France:

  • Lille, Nord, FR
  • Lille, Nord (FR)
  • Lille, FR
  • Lille (FR)

Dans le cas de la Belgique qui est notre zone par défaut, le code "BE" est facultatif mais accepté.


Pour étendre notre présentation, quand nous introduirons un acte, il y a deux zones liées à la localisation: la commune et le département ou la province. Ces formats s'y appliquent également. La zone de la commune, contiendra le nom de la commune évidemment et la zone dédiée au département ou à la province contiendra le nom du département ou de la province. Celui-ci sera accompagné obligatoirement du code de pays en deux lettres si on est hors du pays de référence.

Par exemple pour le département du "Nord" et pour la province du "Hainaut":

  • Nord, FR
  • Nord (FR)
  • Hainaut
  • Hainaut, BE
  • Hainaut (BE)


Voici un exemple de carte zoomée sur la ville de Namur en Belgique (province de Namur).

LINUX:Expoactes.carte.png


Si on suit ces règles, la commune sera normalement géolocalisée automatiquement dès qu'elle apparaitra dans un nouvel encodage d'acte. Si ce n'est pas le cas, par exemple pour des hameaux, la géolocalisation manuelle est possible.

N'hésitez pas à passer plusieurs fois sur le menu de calcul des statistiques qui recherche systématiquement la géolocalisation des communes non faites. Vous trouvez ce module dans la menu d'administration à gauche sous le nom 'Administration des données" et ensuite dans le menu du haut, onglet "Statistiques". Ce travail peut être long.

Pour le vérifier et éventuellement corriger une géolocalisation, dans le menu d'administration de gauche, on clique sur "Administrer les données" et ensuite dans le menu du haut, on choisit "Localités". En cliquant sur une commune, on peut adapter les coordonnées en déplaçant la punaise sur la carte ou en éditant les longitude et latitude. Pour ma part, sur environ 400 communes, 4 n'avaient pu être trouvées automatiquement suite par exemple à une commune reprise sous un ancien nom (cas d'Albertville en RDC qui est devenue Kalemie) ou à la reprise de quartier d'une ville.

Voici un exemple d'écran de localisation pour la ville de Grammont:

LINUX:Expoactes.localisation.png


Paramétrage

Il y a beaucoup de paramètres. Voyez l'aide incluse via l'option "Aide" en bas à gauche.

Je voudrais néanmoins faire remarquer un point. Si vous désirez héberger vos images d'actes, il faut adapter la localisation du répertoire qui va les contenir. Dans le menu d'administration, on va dans le menu de gauche sur "Administrer le logiciel" puis en haut sur "Paramétrage" et en dessous sur "Système". Dans la zone "URLs des images d'actes", j'ai mis "/actes/img_act/". Bien s'assurer que ce répertoire existe, "/web/actes/img_act" dans mon cas. Ce répertoire doit être accessible par le service "httpd.service".

En dessous, si vous utilisez le chargement via des fichiers CSV, sélectionnez "6 - Import CSV".


Ajout d'actes via le chargement de fichier CSV

Une manière classique de charger des actes se fait via un fichier au format CSV. Cette procédure se fait par type d'acte. La première fois vous devrez effectuer une correspondance entre les différentes colonnes de votre fichier et les zones de chargement. Pour ne pas devoir refaire ce travail fastidieux à chaque chargement, sauvez le sous forme de modèle en bas du formulaire; la fois suivante, vous n'aurez qu'à charger ce modèle. Ce travail est à faire pour chaque type d'acte. Par type d'acte, vous pouvez avoir plusieurs modèles. Ces fichiers de modèles se placent dans le dossier "/web/actes/admin/_upload". Pensez à les sauver.




retour au menu du serveur Web