Configuration avancée
Sommaire
Sécurisation des répertoires
Le logiciel installe automatiquement plusieurs fichiers .htaccess permettant
de contrôler l'accès aux fichers et répertoires :
- Le fichier .htaccess "principal" est placé dans le répertoire
principal du logiciel. Il contient des instructions interdisant d'afficher
la liste des fichiers de tous les répertoires sous-jacents et il reformule
les principaux messages d'erreur;
- Le fichier .htaccess placé dans le répertoire _config interdit
tout accès aux fichiers de ce répertoire à l'exception
de la feuille de style "actes.css";
- Les fichiers .htaccess placés dans les répertoires "_backup"
et "_upload" interdisent tout accès aux fichiers de ces répertoires.
Le plus souvent, il convient de ne pas modifier ces fichiers ni les renommer
(le nom commençant par un point est non seulement normal mais obligatoire
!). En cas de nécessité, consulter la documentation Apache avant
de les modifier.
Fichiers d'informations
Plusieurs (petits) fichiers permettent de personnaliser votre site en donnant
des informtions spécifiques aux visiteurs. Tous ces fichiers sont rangés
dans le répertoire "_config".
Le premier fichier qui peut être configuré est le fichier commentaire.htm. Celui-ci contient un (petit)
texte qui doit être rédigé en respectant la syntaxe HTML et
qui sera affiché sous la liste des communes dans la page d'accueil du module
ExpoActes. C'est le lieu privilégié pour indiquer les crédits
aux personnes qui ont dépouillé les actes présentés
ainsi que l'adresse mail où les codes d'accès doivent être
demandés lorsque l'accès aux détails des actes n'est pas
public.
Le second fichier qui peut être configuré est le fichier acces.htm. Celui-ci contient un (petit) texte
qui doit être rédigé en respectant la syntaxe HTML et qui
présentera le détail des conditions pour avoir accès aux
détails des actes (s'ils sont masqués) et/ou pour rejoindre le groupe
des déposants. Si ce fichier n'est pas présent (situation
par défaut), le contenu du fichier commentaire.htm est utilisé à
sa place.
Le fichier bandeau.htm peut également
être modifié pour intégrer, en tête de chaque page,
un bandeau qui soit spécifique à votre site. Vous pouvez alors modifier
le code original :
<div class="bandeau">
<strong><a href="<?php echo SITE_URL ?>"><?php echo
SITENAME ?></a> || </strong>
Dépouillement de tables et actes d'état-civil ou de registres
paroissiaux
</div>
en remplaçant ce qui se situe entre <div class="bandeau">
et </div> par une image ou un texte qui vous soit spécifique.
Attention toutefois à bien respecter la syntaxe HTML.
Style des pages
La feuille de style actes.css (dans le
répertoire _config) peut être
totalement modifiée afin de changer assez considérablement les couleurs
et la présentation des pages. Comme les programmes font systématiquement
référence à la feuille de style pour la mise en page, les
mises-à-jour adopteront automatiquement le "look" que vous aurez défini.
Si vous souhaitez modifier le style de certaines pages en particuliers
(par exemple mettre une image de fond sous les actes), il est possible
de définir des styles particuliers pour les pages en prenant
comme nom celui du programme (juste avant le ".php" et en le faisant
précéder de "#". En effet, le tag
<body> de
chaque page est affecté de l'identifiant du nom de cette
page.
Exemple de style à ajouter dans actes.css pour
intégrer un fond de page dans les actes.
#acte_naiss,
#acte_mari, #acte_bans, #acte_deces
{
background : url(../img/fond_act.jpg)
repeat;
}
Modifier le comportement du programme avec
des paramètres facultatifs
Une série de paramètres facultatifs peuvent être ajoutés
ou modifier dans le fichier "connect.inc.php" (dans le répertoire
"_config"). Il modifieront le comportement du programme.
Pour modifier le fichier connect.inc.php, ouvrez-le avec un éditeur
de texte tel que le programme "Notepad" de Windows.
La pluspart des paramètres doivent toujours être placés
dans une instruction define à
placer AVANT le code "?>" final :
define
("NOM_DU_PARAMETRE", Valeur_du_paramètre);
Le nom du paramètre doit être entre quillements et en MAJUSCULES.
La valeur est soit un nombre, soit une chaine de caractères et est alors
aussi placée entre guillemets (") ou entre apostrophes (') . L'instruction
doit être terminée par un point-virgule (;).
Le fichier connect.inc.php a été créé
automatiquement lors de l'installation et il contient déjà plusieurs
paramètres qu'il ne faut modifier qu'avec précaution.
Il s'agit entre autre des codes d'accès à la base MySQL. Exemple
:
$dbaddr="base.hebergeur.com";
// Nom du serveur MySQL
$dbuser="nom_utilisateur";
// Nom d'utilisateur MySQL
$dbpass="mot_de_passe";
// Mot de passe MySQL
$dbname="nom_de_la_base";
// Nom de la base de données MySQL
Ainsi que des coordonnées du site web principal. Exemple :
define ("SITENAME","Votre nom de site");
// Nom du site principal
define ("SITE_URL","../index.htm");
// URL du site principal
Niveau d'accès public
aux données des actes
Le paramètres PUBLIC_LEVEL détermine
le niveau d'accès qui est autorisé en mode "public" c'est-à-dire
sans devoir fournir un login et un mot de passe.
Les valeurs admises sont :
- 1 = Accès public à la liste des communes uniquement;
- 2 = Accès public aux patronymes;
- 3 = Accès public aux "tables" avec noms, prénoms et dates
des actes;
- 4 = Accès public aux détails des actes.
Quantité d'information affichée
par page
Les paramètres MAX_PAGE et MAX_PATR définissent le nombre d'éléments
que vous autorisez par page :
- MAX_PAGE concerne l'affichage des
résultats d'une recherche et les listes d'actes. Lorsque le nombre
d'actes trouvé est supérieur à cette valeur, le surplus
est reporté sur une ou plusieurs autres pages numérotées;
- MAX_PATR concerne l'affichage des
patronymes d'une commune. Lorsque le nombre de patronymes à présenter
dépasse ce nombre, alors l'affichage passe en mode alphabétique
en regroupant les patronymes par initiales. Si le nombre de patronymes pour
une initiale est encore supérieur à MAX_PATR, alors le système
décompose sur base de la seconde lettre du patronyme et ainsi de suite.
define ("MAX_PAGE",50); //
Nombre références par pages dans les recherches
define ("MAX_PATR",50); //
Nombre de patronymes à partir duquel on passe en mode ABC..Z
define ("MAX_PAGE_ADM",200); // Idem MAX_PAGE en mode
DEPOSANT
define ("MAX_PATR_ADM",200); // Idem MAX_PATR
en mode DEPOSANT
Les paramètres MAX_PAGE_ADM et
MAX_PATR_ADM ont une fonction identique mais concernent
les écrans d'administration pour les déposants. Lorsque la commune
n'est pas trop populeuse, il est en effet pratique de voir tous les patronymes
en un seul écran.
Gestion des URL du logiciel lui-même
Le paramètre FULL_URL permet
- lorsque la configuration du serveur web l'autorise - à utiliser une
notation des URL qui ne comporte pas de paramètres. Montrons cela par
un exemple :
- FULL_URL = 0 : http://...votre_site.../actes/tab_naiss.php?args=Graide,ALEN
- FULL_URL = 1 : http://...votre_site.../actes/tab_naiss.php/Graide/ALEN
Certains moteurs de recherche n'indexent pas bien les URL qui comportent des
arguments. Il faut donc préférer le mode FULL_URL = 1 mais malheureusement
cette possibilité dépend de la configuration du serveur web de
l'hébergeur. Si elle ne fonctionne pas, il faut utiliser la valeur
0.
Gestion d'URL vers des pages externes
Deux facilités introduites à partir de la version 1.10 de ExpoActes
permettent de renvoyer le visiteur visualisant les détails d'un acte
vers une ou plusieurs autres pages web en rapport avec cet acte.
Lien vers un site dans les commentaires
La première possibilité consiste à ajouter, dans la zone
des commentaires généraux (intitulée "Autres informations"),
une adresse URL complète (c'est-à-dire commençant par "http://")
pointant vers la page souhaitée. Dans ce cas, cette adresse est automatiquement
détectée et est transformée en un lien actif qui pourra
donc être simplement cliqué par le visiteur. Il n'y a pas de configuration
particulière pour cette facilité.
Liens vers des images d'actes
La seconde possibilité consiste à ajouter dans la zone "LIBRE"
le nom d'une image avec extension .JPG (par exemple "image0234.jpg")
et à placer cette image dans le répertoire "/img_act/"
à la racine de votre site web (donc "à côté"
du répertoire "actes").
Le logiciel génèrera ainsi un lien actif qui permettra de visualiser
directement cette image.
Le cas échéant, plusieurs images peuvent être citées,
il suffit de séparer les noms par des espaces ou des virgules (garder
à l'esprit que la zone "LIBRE" ne compte que 30 caractères).
De plus, le nom de l'image JPG peut être précédé
du nom d'un répertoire de façon à regrouper ensemble par
exemple les actes d'une même commune (exemple : c02/img234.jpg, c03/img566.jpg).
Si les photos des actes ne sont pas stockées sur votre site, il est
possible de remplacer l'URL par défaut "/img_act/" par une
URL complète à l'aide du paramètre URL_JPG
:
Exemple : define ("URL_JPG","http://www.lesite.fr/images/EtatCivil/");
Méthode de lecture des codes
d'accès
Selon la configuartion du serveur Web de l'hébergeur, il est possible
que celui-ci n'accepte pas certaines méthodes d'authentification
des visiteurs et des déposants. Pour faire face à
ce problème ExpoActes propose deux méthodes différentes
qui sont sélectionnées avec le paramètre LOGINTYPE :
- LOGINTYPE = 0 : Authentification via les entêtes HTTP : le
login et le mot de passe sont lu dans une fenêtre gérée
directement par le navigateur Internet.
- LOGINTYPE = 1 : Authentification gérée par le programme à
l'aide de cookies. Dans ce mode d'authentification, la lecture des codes
d'identification se réalise dans une page spécifique. Les codes
d'identification ne sont jamais stockés en clair dans les cookies.
Seule une version cryptée avec l'algorithme MD5 mondialement utilisé
pour cette tâche est sauvegardée sur l'ordinateur pendant la
durée de la session ou pour 5 jours si l'on a coché la case
"Mémoriser le mot de passe quelques jours".
Eléments affichés dans la page d'accueil
La page d'accueil telle qu'elle est conçue dans la version par défaut
apporte beaucoup d'informations sur les actes qui sont présents dans la
base d données. Toutefois, lorsque cette base de données est volumineuse
(à partir de 50.000 ou 100.000 actes) le recalcul de toutes ces statistiques
à chaque retour sur la page d'accueil représente une charge importante
pour le serveur qui a pour effet de le ralentir, parfois de manière importante.
Il convient donc, dans ce cas, d'alléger cette tâche en utilisant
un ou plusieurs des paramètres suivants :
- SHOW_DATES
- Détermine si les dates minimales et maximales des actes d'une commune
sont affichés dans la page d'accueil d'expoactes. Par défaut,
SHOW_DATES vaut 1.
Le calcul de ces dates nécessite des ressources importantes sur le
serveur. Aussi, si la base est importante (par exemple plus de 50.000 actes),
il est conseillé de mettre ce paramètre à zéro
pour alléger le travail du moteur MySQL.
Exemple : define ("SHOW_DATES",0);
- SHOW_ALLTYPES
- Détermine si la page d'accueil affiche le tableau résumé
des quatre types d'actes (par défaut) ou d'un seul. Par défaut,
SHOW_ALLTYPES vaut 1.
Désactiver l'affichage de tous les types permet de réduire sensiblement
la charge du serveur. Cette option est donc conseillée pour les
bases importantes.
Lorsque la page d'accueil n'affiche qu'un type à la fois, le passage
d'un type à l'autre s'effectue en sélectionnant le type dans
le résumé statistique qui comporte alosr les liens ad hoc.
Exemple : define ("SHOW_ALLTYPES",0);
- CHERCH_TS_TYP
- Cette option provoque l'affichage d'une liste de sélection du type
des actes dans la boîte de recherche de la page d'accueil. Cette liste
a pour effet de forcer la recherche sur un seul type d'acte à la fois
et donc d'alléger le travail du moteur de recherche.
Par défaut, CHERCH_TS_TYP vaut 1.
Il faut noter que la recherche avancée permet de rechercher sur tous
les types à la fois.
Exemple : define ("CHERCH_TS_TYP",5);
- SHOW_RSS
- Détermine si le lien avec icône du flux RSS est affiché
dans le cadre des statistiques.
Par défaut, SHOW_RSS vaut 1( = affiche le lien).
Exemple : define ("SHOW_RSS",0);
-
Eléments affichés
dans les fiches et listes d'actes
Quelques paramètres permettent aussi de contrôler l'affichage
des listes d'actes et des fiches détaillées.
- ANNEE_TABLE
- L'affichage des tables d'actes présente en principe la date complète
des actes. Si vous souhaitez limiter cet affichage à l'année
seulement, il suffit de donner la valeur 1 au paramètre ANNEE_TABLE.
Par défaut, ANNEE_TABLE vaut 0 ( = affiche les dates complètes).
Exemple : define ("ANNEE_TABLE",1);
- SHOW_NULL
- Détermine si les zones vides sont affichées ou non dans les
fiches détaillées des actes.
Par défaut, SHOW_NULL vaut 0 ( = n'affiche pas les zones qui ne contiennent
pas d'information).
Exemple : define ("SHOW_NULL",1);
- SHOW_DEPOSANT
- Détermine si le nom de la personne ayant chargé les actes
dans la base est affiché au bas du détail des actes.
Par défaut, SHOW_DEPOSANT vaut 0 ( = n'affiche pas les déposants).
Exemple : define ("SHOW_DEPOSANT",1);
Droits donnés aux utilisateurs
- RECH_MIN
- Détermine le nombre minimum de
caractères sur
lesquels doit porter une recherche.
Par défaut, RECH_MIN
vaut 3. Notez que l'administrateur principal n'est pas soumis
à cette restriction.
Exemple : define ("RECH_MIN",2);
- CHANGE_PW
- Détermine le niveau d'accès
à partir duquel
un utilisateur enregistré a le droit de modifier
lui-même
son mot de passe. Par défaut, CHANGE_PW vaut 1.
Si plusieurs utilistateurs doivent partager le même code
d'accès et le même mot de passe (par exemple au
niveau 4),
il est prudent d'en interdire la modification.
Exemple : define ("CHANGE_PW",5);
- SHOW_ACCES
- Détermine
l'item "Conditions d'accès" apparaît dans le menu
public. Par défaut, SHOW_ACCES vaut 1.
Si le niveau d'accès public (PUBLIC_LEVEL) est à
4, alors
il n'est pas nécessaire de présenter ces
conditions
d'accès.
Exemple : define ("SHOW_ACCES",0);
Gestion de points pour limiter
le nombre d'actes pouvant être affichés par utilisateur
Certains utilisateurs du logiciel ont
souhaité que soit inclus un moyen de limiter le nombre de
consultation d'actes détaillés.
Cette gestion est tout à fait facultative et n'est pas mise en oeuvre par défaut.
Pour l'activer il faut ajouter les trois paramètres ci-dessous
qui détermineront les modes d'attribution des "points" aux
utilisateurs enregistrés.
Le système fonctionne sur base d'un capital de "points" qui sont
affectés aux utilisateurs disposant d'un code de login.
Ces points peuvent être attribués manuellement par
l'administrateur ou automatiquement par le programme. Dans ce
dernier cas, les paramètres permettent de fixer le nombre de
points qui sont automatiquement attribués à chaque
utilisateur ainsi que la périodicité avec laquelle cette
"recharge" a lieu. Le système est extrêmement souple
car il permet aussi bien de prévoir que l'on peut "voir" maximum
10 actes par jour (recharger 10 points tous les 1 jours) jusqu'à
1000 actes sur un an (recharger 1000 points tous les 365 jours).
La recharge n'est pas cumulative: ainsi si la recharge est fixée
par exemple à 30 points tous les 7 jours, un visiteur qui ne
vient sur le site qu'une fois tous les trois mois dispose de
30 points qui lui sont affecté le jour où il revient sur
le site (et non 480 points qui se seraient accumulés).
C'est en effet, au moment du login que le système recharge
le compte lorsque les conditions sont remplies.
Le système permet toutefois à l'administrateur de donner
à qui il veut des points supplémentaires ou de faire une
recharge intermédiaire. Enfin, l'administrateur peut
donner à chaque membre le "régime" qui lui convient :
soit la recharge automatique, soit la recharge manuelle soit encore le
libre accès. Les membres avec les statuts 8 et 9
(administrateurs) disposent d'ailleurs automatiquement d'un libre
accès.
Notons encore que le système ne décompte pas de point
à un déposant pour voir les actes qu'il a
déposé. Par contre, il n'a pas été
prévu d'ajouter des points aux déposants car il aurait
été trop facile de déposer 1000 actes puis de les
supprimer pour "recharger" son compte sans difficulté. A
charge pour l'administrateur de gérer ces situations à sa
discrétion.
Les paramètres à définir sont les suivants :
- GEST_POINTS
- Détermine le régime de gestion des points par défaut:
-
- 0 : aucune gestion des poinst pour aucun membre;
- 1 : gestion des points avec recharge manuelle. C'est l'adminsitrateur qui distribue les points et lui seul;
- 2 : gestion des points avec recharge automatique. La recharge
s'effectuera automatiquement pour tous les membres auxquel
l'administrateur affectera le régime 2 (valeur par
défaut).
Exemple : define ("GEST_POINTS",2);
- PTS_PAR_PER
- Détermine le nombre de points qui sont attribués aux membres à chaque recharge automatique.
Exemple : define ("PTS_PAR_PER",30);
- DUREE_PER_P
- Détermine le nombre de jours qui séparent deux recharges automatiques.
Exemple : define ("DUREE_PER_P",7);
Recherche par la méthode
Levenshtein
La méthode de recherche avancée "sonore" ne permet
pas toujours de trouver ceertains actes comportant des erreurs d'encodage et
ce particulièrement si le lettre initiale est incorrecte. Pour résoudre
ce problème Jean-Louis Cazor a eu l'idée d'implémenter
un autre algorithme se basant sur la méthode
Levenshtein. Cet algorithme est très puissant mais malheureusement
très gourmand en ressouces machine. Il crée en effet des tables
de données intermédiaires et effectue de nombreux calculs sur
les informations prélectionnées. Il convient dès lors de
le reserver aux utilisateurs avertis et de suivre
les conseils d'utilisation précisés par jean-Louis.
Par défaut cet algorithme est activé mais seulement accessible
aux administrateurs. La mise à disposition de cet algorithme est contrôlée
par trois paramètres facultatifs :
- RECH_LEVENSHTEIN
- Ce paramètre indique si l'algorithme est actif et si c'est le cas,
où doit apparaître le lien vers la page de recherche spécifique.
Les valeurs possibles sont :
-
- 0 : la recherche levenshtein est totalement désactivée
(et donc interdite à tout utilisateur);
- 1 : la recherche levenshtein est active et accessible via un lien situé
dans la page de recherche avancée;
- 2 : la recherche levenshtein est active et accessible via un lien situé
dans la boîte de recherche rapide;
Valeur par défaut : 1
Exemple : define ("RECH_LEVENSHTEIN",2);
- LEVEL_LEVENSHTEIN
- Ce paramètre détermine le niveau d'accès nécessaires
aux utilisateurs pour pouvoir utiliser la recherche levenshtein. Par défaut,
ce niveau est 8 afin de réserver l'usage aux administrateurs seulement.
Ce niveau ne peut pas être inférieur au niveau PUBLIC_LEVEL.
- Exemple :
define ("LEVEL_LEVENSHTEIN",5);
- SECURITE_TIME_OUT_PHP
- La recherche levenshtein peut nécessiter plusieurs dizaines de seconde
de calcul lorsque la requête est trop vague. Or la plupart des serveurs
limitent le temps de calcul (souvent à 30 sec) puis abandonnent la
tâche. Pour éviter cela, le paramètre SECURITE_TIME_OUT_PHP
spécifie le nombre de seconde de sécurité que le système
se réserve afin de stopper proporemnt la recherche et de signaler à
l'utilisateur que sa recherche est trop complexe.
Par défaut, SECURITE_TIME_OUT_PHP vaut 5.
Exemple : define ("SECURITE_TIME_OUT_PHP",10);
- CRIT_RECH_COUPLES
- Ce paramètre permet d'étendre ou de restreindre les possibilités
de recherches sur les couples. Les valeurs peuvent aller de 2 à 4 :
-
- 2 : Autorise la recherche des mariages de ces couples et des naissances
des enefants de ces couples;
- 3 : Idem 2 + les décès des enfants de ces couples ;
- 4 : Idem 3 + recherches des mariages d'enfants de ces couples;
Valeur par défaut : 2
Exemple : define ("CRIT_RECH_COUPLES",3);
Configurations particulières
Certains hébergements imposent des contraintes qui nécessitent
des configuarations particulières.
Envoi de courriers électroniques
Le logiciel peut envoyer des email lors de la création
des comptes d'utilisateur pour avertir ceux-ci du code de login et du mot
de passe qui leur a été attribué.
Toutefois, cette fonctionnalité dépend de façon crucialle
de la possibilité de se connecter à un serveur SMTP qui jouera
le rôle de relais pour l'envoi effectif des emails (comme la boîte
au lettres de la poste dans le courrier traditionnel).
La plupart des hébergements fournissent cette possibilité
en standard dans la configuration PHP (fonction mail()). Il n'y a donc pas
de configuration spécifique à réaliser.
Toutefois, si le serveur PHP n'offre pas la fonction mail, il
est souvent possible d'utiliser un compte mail externe. Les paramètres
à ajouter doivent être placés dans le fichier "connect.inc.php"
dans le répertoire "_config" .
La première chose à spécifier est donc le nom DNS de
ce serveur SMTP ($smtp_host) ainsi
que votre propre adresse mail ($loc_mail)
qui servira comme adresse d'expéditeur. Vous devez aussi donner
le nom DNS de la machine de départ du mail ($loc_host).
Enfin, certains serveur SMTP réclament un login ($smtp_acc)
et un mot de passe ($smtp_pass) pour
vous identifier. Si ce n'est pas nécessaire, il faut laisser
ces derniers paramètres à la valeur vide ("").
Exemple de paramètres pour le mail :
// Paramètre serveur mail SMTP
define ("EXTERN_MAIL",1);
$smtp_host = "smtp.hebergement.net"; //
server SMTP
$loc_host = "votresite.hebergeur.net"; //
nom.du.serveur
$loc_mail = "votre.mail@hebergeur.net";
// email expéditeur
$smtp_acc = "login_mail";
// login mail chez l'hébergeur
$smtp_pass = "mot de passe"; //
password
Pour vérifier que le système peut envoyer des emails sans problème,
il suffit de tester le renvoi des mots de passe oubliés (via l'écran
de connexion) ou d'utiliser la procédure "admin/test_mail.php".
Chargement des fichiers
CSV
Les fichiers CSV téléchargés pour l'ajout
d'actes sont transférés tempoarairement dans le répertoire
"_upload" situé lui-même dans le répertoire
"admin". Si l'hébergement oblige à utiliser un autre
répertoire pour les téléchargement, il faut alors spécifier
le chemin d'accès de ce répertoire avec le paramètre
UPLOAD_DIR .
-
Exemple : define ("UPLOAD_DIR","/home/www/uploaddir");
-o-O-o-