Files
Vivier/aide/administration.fr.md

376 lines
24 KiB
Markdown

# Rôle du gestionnaire
Le gestionnaire des comptes a les mêmes droits que les autres sur les profils. Il a en plus le menu **Gestion** :
- **Comptes** : inviter, créer, modifier, désactiver un compte, remettre à zéro une double authentification, lever un blocage
- **Connexions** : le journal de chaque essai de connexion
- **Journal** : les actions sur tous les profils
- **Conservation** et **Corbeille** : la durée de conservation et la suppression des profils
- **Sauvegarde** : état, lancement, téléchargement
- **Erreurs** : les erreurs imprévues, avec leur référence
Il a aussi l'export CSV de la liste des profils, l'alerte de sauvegarde sur son tableau de bord et ce guide d'administration.
Le premier compte créé est gestionnaire. Il peut confier ce rôle à d'autres comptes. Gardez au moins deux gestionnaires : si l'un perd son téléphone et ses codes de secours, l'autre remet sa double authentification à zéro.
Le guide **Sécurité**, lisible par tous, explique les protections aux utilisateurs. Cette page dit comment les gérer.
# Comptes
Menu **Gestion**, **Comptes**.
## Inviter une personne
La voie conseillée : personne d'autre que la personne ne connaît son mot de passe.
1. Bloc **Inviter une personne** : saisissez son nom, facultatif, puis **Créer un lien d'invitation**.
2. Copiez le lien affiché et envoyez-le à la personne, par email ou messagerie interne. Il ne s'affiche qu'une fois.
3. La personne ouvre le lien, choisit son identifiant et son mot de passe, puis active la double authentification. Son compte est actif tout de suite.
Le lien sert une seule fois et expire après 48 heures. **Liens en cours** liste les liens pas encore utilisés. **Annuler le lien** le rend inutilisable. Lien perdu ou expiré : créez-en un autre.
Le lien d'invitation reprend l'adresse de la page ouverte. Pour la fixer, renseignez la clé `adresse` de `config/config.php`.
## Créer un compte
Vous pouvez aussi créer le compte vous-même.
1. Saisissez le nom de la personne.
2. Choisissez son identifiant : 3 à 40 caractères, lettres sans accent, chiffres, point, tiret.
3. Choisissez un mot de passe provisoire : 12 caractères au moins.
4. Cliquez sur **Créer le compte**, puis transmettez l'identifiant et le mot de passe à la personne, de vive voix ou par un canal différent de l'identifiant.
À sa première connexion, la personne choisit son propre mot de passe, puis active la double authentification.
## Lire la liste des comptes
Chaque compte affiche son identifiant, son rôle, l'état de sa double authentification et sa dernière connexion. **Double authentification à activer** signale un compte qui ne l'a pas encore faite. **Mot de passe à changer** signale un mot de passe provisoire pas encore remplacé.
## Modifier un compte
Sous chaque compte, **Modifier le nom, l'identifiant ou le mot de passe**. Laissez le mot de passe vide pour le garder.
Un nouveau mot de passe est provisoire : la personne le change à sa prochaine connexion, et ses sessions ouvertes se ferment. Pour le donner, retapez votre propre mot de passe.
- **Désactiver le compte** : la personne ne peut plus se connecter et ses sessions se ferment aussitôt. Ses actions restent dans le journal. **Réactiver le compte** rétablit l'accès.
- **Confier la gestion des comptes** : le compte devient gestionnaire. **Retirer la gestion des comptes** fait l'inverse. Retapez votre mot de passe pour confirmer.
- **Ses connexions** ouvre le journal des connexions de ce compte.
Vous ne pouvez ni désactiver votre propre compte, ni retirer votre propre rôle. Un compte ne se supprime pas : le journal garde ses actions.
## Mot de passe oublié
Donnez un mot de passe provisoire par **Modifier le nom, l'identifiant ou le mot de passe**. La personne le remplace à la connexion.
## Téléphone perdu
La personne se connecte d'abord avec un code de secours, puis configure une autre application depuis **Mon compte**.
Plus de code de secours :
1. Vérifiez qu'il s'agit bien de la personne : par téléphone, en personne. Une demande par email ne suffit pas.
2. Sous son compte, **Remettre à zéro la double authentification**, puis retapez votre mot de passe.
3. La personne active une nouvelle application à sa prochaine connexion. Ses sessions ouvertes sont fermées.
## Connexions bloquées
Le bloc **Connexions bloquées** apparaît quand un blocage est en cours :
- un identifiant bloqué depuis une adresse, après 5 échecs (15 minutes, puis 30 et 60)
- une adresse bloquée pour tous les identifiants, après 20 échecs en une heure
**Débloquer** lève le blocage tout de suite. Faites-le seulement si vous savez qui essaie, par exemple un collègue qui s'est trompé de mot de passe. Des échecs en série depuis une adresse inconnue : laissez le blocage et regardez le journal des connexions.
## Demandes faites avant la version 1.8
La page publique de demande de compte n'existe plus. Les demandes restées en attente s'affichent dans **Demandes à valider**. **Accepter** ouvre l'accès : la personne active la double authentification à sa connexion. **Refuser** efface la demande.
# Journal des connexions
Menu **Gestion**, **Connexions**.
Chaque essai de connexion y figure : date, compte, identifiant saisi, adresse IP, réseau, navigateur, résultat. Filtrez par compte ou gardez les échecs seulement. Le journal garde 12 mois. La tâche planifiée et la connexion d'un gestionnaire effacent les lignes plus anciennes.
| Résultat | Sens |
|---|---|
| Connexion réussie | Mot de passe et code bons |
| Mot de passe incorrect | Identifiant connu ou non, mauvais mot de passe |
| Code incorrect | Bon mot de passe, mauvais code de double authentification |
| Essai bloqué | Essai refusé pendant un blocage |
| Compte désactivé | Essai sur un compte désactivé |
**L'alerte par email.** Quand un compte gestionnaire se connecte depuis un réseau jamais vu pour ce compte, Vivier envoie un email aux adresses de `comptes.notifier`, ou à l'adresse d'expédition. Le réseau est la plage d'adresses (les trois premiers nombres d'une adresse IPv4). La première connexion d'un compte ne déclenche pas d'alerte.
Vous ne reconnaissez pas une connexion : changez le mot de passe du compte, remettez à zéro sa double authentification, puis fermez ses sessions en le désactivant et en le réactivant.
# Erreurs
Menu **Gestion**, **Erreurs**.
Quand une page échoue, l'utilisateur lit « Une erreur est survenue » et une référence de six caractères. La page **Erreurs** liste les 300 dernières, avec la référence, la date, la page, la cause et l'endroit du code. Aucune donnée de candidat n'y figure. Transmettez la ligne à la personne qui maintient Vivier. **Vider le journal** efface la liste.
# Suppression des profils et corbeille
Seul le gestionnaire supprime un profil : bouton **Supprimer le profil** en bas de la fiche, ou **Supprimer** sur la page Conservation. Les autres comptes ne voient pas ces boutons.
## Ce que fait la suppression
Le profil part à la corbeille. Il disparaît aussitôt du Kanban, des profils, de la recherche, des besoins, du suivi, du tableau de bord, de l'export CSV et de la page Conservation. Sa fiche et ses documents ne s'ouvrent plus. Dans le journal, son nom est remplacé par sa référence.
## La page Corbeille
Menu **Gestion**, **Corbeille**. Chaque ligne donne le profil, la date de suppression, le compte qui a supprimé et la date d'effacement.
- **Restaurer** remet le profil en place, avec toutes ses données. Il revient en bas de sa colonne.
- **Effacer maintenant** efface le profil sans attendre. L'action est sans retour.
## L'effacement après 30 jours
Au bout de 30 jours, Vivier efface la fiche, le CV d'origine, la photo, les pièces jointes, les commentaires, les entretiens, les relances, les mots-clés et l'historique. Le journal garde une ligne : la référence du profil, le compte qui a supprimé et la date de mise à la corbeille. Aucun nom.
L'effacement se fait à trois moments : la tâche planifiée du dimanche, la connexion d'un gestionnaire, l'ouverture de la page Corbeille. Un profil peut donc rester quelques jours de plus si personne ne se connecte.
Le délai se règle par `CORBEILLE_JOURS`, en tête de `src/bootstrap.php`.
## À savoir
- Tant qu'un profil est à la corbeille, son adresse email reste prise. L'import du même candidat est refusé : restaurez le profil ou effacez-le.
- Les sauvegardes déjà faites gardent les profils supprimés depuis. Une sauvegarde faite pendant les 30 jours contient les profils à la corbeille.
# Sauvegarde
Menu **Gestion**, **Sauvegarde**.
## Ce qui est sauvegardé
| Élément | Où | Comment |
|---|---|---|
| Base de données | Email et copie sur le serveur | Chaque semaine, par la tâche planifiée |
| Fichiers : CV, rapports, pièces jointes, photos | Téléchargement | À la main, bouton **Télécharger l'archive des fichiers**, après avoir retapé votre mot de passe |
La base contient les profils, les commentaires, les entretiens, les relances, les besoins, le journal et les comptes. Les fichiers sont trop lourds pour un email.
## La sauvegarde hebdomadaire
La tâche planifiée de l'hébergement lance le script `cron/sauvegarde.php`. Le script :
1. exporte toute la base dans un fichier SQL
2. le compresse en zip
3. garde une copie dans `stockage/sauvegardes/`
4. envoie le zip aux adresses réglées dans `config/config.php`
Le fichier n'est pas chiffré. Il contient les données des candidats, les empreintes des mots de passe et les clés de double authentification chiffrées. Sa protection est celle des boîtes qui le reçoivent : mot de passe solide et double authentification.
## Programmer la tâche chez OVH
1. Espace client, hébergement, onglet **Plus**, **Planificateur de tâches**, **Ajouter une planification**.
2. Commande : `vivier/cron/sauvegarde.php`. Langage : PHP 8.3.
3. Fréquence : le jour et l'heure voulus. OVH ne règle pas les minutes : une tâche prévue à 6 h part entre 6 h 00 et 6 h 59.
4. Adresse du rapport : facultative. OVH y envoie ce que le script affiche.
## Vérifier que tout marche
1. Page Sauvegarde, **Envoyer un email d'essai, sans pièce jointe**. Regardez les boîtes de réception, courriers indésirables compris.
2. Cochez **Envoyer aussi la sauvegarde par email**, puis **Sauvegarder maintenant**.
3. Ouvrez le zip reçu : il contient un fichier `.sql`.
4. Après le premier passage de la tâche planifiée, vérifiez la ligne « Tâche planifiée » dans l'historique.
Si l'email arrive dans les courriers indésirables, créez une règle pour l'expéditeur. Le domaine de l'adresse d'expédition doit autoriser le serveur d'OVH dans son enregistrement SPF, et ne publier qu'un seul enregistrement SPF.
## Les alertes
| Signal | Sens |
|---|---|
| Email « ÉCHEC de la sauvegarde » | La sauvegarde a échoué, ou elle est faite mais son envoi a échoué |
| Bandeau rouge sur le tableau de bord | Aucune sauvegarde réussie depuis plus de 8 jours, ou un problème à la dernière |
Le bandeau couvre le cas où la tâche ne démarre plus ou l'email ne part plus : dans ce cas, aucun email d'alerte n'arrive.
## Les copies sur le serveur
L'historique de la page liste chaque sauvegarde. **Télécharger** récupère le zip. **Supprimer** efface la copie du serveur, pas les emails reçus.
Le réglage `semaines_conservees` fixe la durée : 0 garde toutes les copies, un nombre supprime les copies plus anciennes.
Une copie garde les profils supprimés depuis. Pour respecter la durée de conservation des données, supprimez les copies et les emails de sauvegarde anciens.
## Si le fichier devient trop lourd
Au-delà de `taille_max_email`, Vivier refait l'export sans l'index de recherche, qui se reconstruit. S'il reste trop lourd, l'email part sans pièce jointe et le fichier se télécharge dans Vivier.
## Restaurer
1. phpMyAdmin, base de Vivier, onglet **Importer** : chargez le fichier `.sql` extrait du zip. Il remplace toutes les tables.
2. Par FTP, copiez les dossiers `docs/` et `photos/` de l'archive des fichiers dans `stockage/`.
3. Si le fichier SQL annonce en tête que l'index de recherche n'est pas inclus : menu Gestion, Comptes, **Réindexer tous les profils**.
4. Gardez `config/cle-secrets.php`, ou la clé `cle_secrets` : elle déchiffre les clés de double authentification de la sauvegarde.
5. Connectez-vous. Les comptes, les mots de passe et la double authentification sont ceux du jour de la sauvegarde.
Téléchargez l'archive des fichiers le même jour que la sauvegarde de la base : la base ne retrouve que les fichiers qui existaient ce jour-là.
# Installation sur l'hébergement OVH
Vivier demande PHP 8.3 et une base MySQL ou MariaDB. Aucun framework, aucune dépendance à installer.
1. Espace client, onglet **Bases de données** : créez une base MySQL. Notez l'hôte, le nom, l'utilisateur et le mot de passe.
2. phpMyAdmin, onglet **Importer** : chargez `sql/schema.sql`.
3. Envoyez tout le dossier `vivier/` par FTP, à côté de `www/`.
4. Onglet **Multisite** : ajoutez le sous-domaine avec pour dossier racine `vivier/public`. Cochez SSL.
5. Copiez `config/config.exemple.php` en `config/config.php` et renseignez la base.
6. Ouvrez l'adresse du site en `https://`. La page de premier lancement crée votre compte, gestionnaire des comptes, puis vous fait activer la double authentification.
7. Programmez la sauvegarde hebdomadaire.
Le dossier racine doit être `vivier/public`. Les autres dossiers restent ainsi inaccessibles par une adresse. Des fichiers `.htaccess` les bloquent aussi, en seconde protection.
| Dossier | Rôle |
|---|---|
| `public/` | Racine web : `index.php`, styles, scripts, polices |
| `src/` | Code PHP |
| `vues/` | Écrans |
| `lang/` | Traductions de l'interface et des CV |
| `aide/` | Les textes de cette aide |
| `config/` | Configuration |
| `stockage/` | CV, documents, photos, sauvegardes |
| `cron/` | Script de la sauvegarde hebdomadaire |
| `sql/` | Création de la base et migrations |
| `claude/` | Consignes, schéma et exemple du projet Claude d'analyse |
| `tests/` | Tests |
# Mise à jour
1. Exportez la base dans phpMyAdmin, onglet **Exporter**.
2. Exécutez dans l'ordre les fichiers `sql/migration-*.sql` qui n'ont pas encore été passés.
La migration 1.5 ajoute la corbeille et les demandes de compte. Elle crée aussi le compte gestionnaire `ypilla`, ou met à jour son mot de passe et son rôle s'il existe.
La migration 1.8 ajoute la double authentification, les invitations, le journal des connexions, la nationalité, le permis de travail, la disponibilité classée et les champs du CV Europass. Elle classe les disponibilités déjà saisies et garde le texte d'origine en note.
3. Remplacez par FTP les dossiers `public/`, `src/`, `vues/`, `lang/`, `aide/`, `cron/`, `sql/`, `claude/` et `tests/`. Gardez `config/config.php` et `stockage/`.
4. Reportez dans `config/config.php` les nouvelles clés de `config/config.exemple.php`. En 1.8 : `adresse`, `cle_secrets`, `securite`.
5. Le dossier `config/` doit être accessible en écriture au premier lancement : Vivier y crée `cle-secrets.php`. Sinon, renseignez `cle_secrets` vous-même.
6. Dans Vivier : menu Gestion, Comptes, **Réindexer tous les profils**, puis **Traduire tous les profils**.
7. Dans le projet Claude d'analyse : remplacez les consignes, le schéma et l'exemple par ceux du dossier `claude/`.
Après la mise à jour 1.8, chaque compte active la double authentification à sa connexion suivante. Prévenez les utilisateurs : il leur faut leur téléphone.
# Configuration
Tout se règle dans `config/config.php`. Ce fichier ne doit jamais être publié.
| Clé | Rôle |
|---|---|
| `nom_app` | Le nom affiché dans l'en-tête |
| `fuseau` | Le fuseau horaire des dates |
| `db` | L'hôte, le port, le nom, l'utilisateur et le mot de passe de la base |
| `societe` | Les mentions d'IT Club sur les CV exportés |
| `claude` | La clé d'API, le modèle, la longueur maximale de réponse, le délai |
| `sauvegarde` | Les destinataires, l'expéditeur, la durée des copies, la taille maximale d'un email |
| `stockage` | Le dossier des fichiers, hors de la racine web |
| `taille_max` | La taille maximale d'un fichier chargé, en octets |
| `conservation_mois` | La durée de conservation d'un profil, en mois |
| `comptes` | `notifier` : les adresses qui reçoivent l'alerte de connexion d'un gestionnaire depuis un nouveau réseau |
| `adresse` | L'adresse publique de Vivier, reprise dans les liens d'invitation. Facultative |
| `cle_secrets` | La clé de chiffrement des clés de double authentification. Vide : Vivier crée `config/cle-secrets.php` |
| `securite` | `mots_de_passe_fuites` : `false` coupe le contrôle des mots de passe connus dans des fuites |
| `https` | `true` en production : HTTPS obligatoire, en-tête HSTS, cookie de session limité à HTTPS |
# Analyse automatique
Pour l'activer, renseignez `cle_api` dans la clé `claude` de `config/config.php`. Sans clé, seul l'import par fichiers déjà analysés est proposé.
- La clé se crée dans la console d'Anthropic. L'usage de l'API est facturé à part d'un abonnement Claude.
- Formats lus : PDF, DOCX, ODT, MD, TXT.
- Les consignes envoyées à Claude sont celles du dossier `claude/`. Les modifier change les deux voies d'analyse.
- Le CV est transmis à Anthropic pour l'analyse.
- Délai maximal : 240 secondes, réglable. Si l'hébergement coupe avant, passez par les fichiers déjà analysés.
# Traduction des profils
Chaque profil s'affiche dans la langue de l'interface. Un recruteur en anglais lit les intitulés, la synthèse, les expériences et les points d'attention en anglais.
- À l'import, Vivier prévoit la traduction du profil dans chaque langue de l'interface.
- Les traductions se font en arrière-plan, une par une, tant qu'une page de Vivier reste ouverte chez un utilisateur.
- Une fiche modifiée est de nouveau mise en file. En attendant, le texte d'origine s'affiche avec un bandeau.
- Les commentaires, comptes rendus d'entretien, besoins clients et permis de travail ne sont pas traduits : ils restent dans la langue de leur auteur.
- Les noms de technologies, d'entreprises, de clients et de projets restent tels quels.
Menu **Gestion**, **Comptes**, bloc **Maintenance** :
- le nombre de traductions à faire
- les traductions abandonnées après 3 essais, avec leur cause
- **Traduire tous les profils** met en file chaque profil sans traduction à jour, et relance les traductions abandonnées
Sans analyse automatique, les traductions passent par un fichier, depuis l'aperçu du CV IT Club, comme avant.
# Recherche : index et synonymes
Vivier range chaque fiche dans un index de recherche. L'index se met à jour à chaque import ou modification.
**Réindexer tous les profils** (menu Gestion, Comptes) reconstruit l'index. À relancer après une mise à jour de Vivier ou une restauration sans index.
Les synonymes se règlent dans la table `synonymes_recherche`, avec phpMyAdmin :
| Type | Effet | Exemple |
|---|---|---|
| `seniorite` | Le mot devient un filtre de séniorité | `senior` vers `confirme` et `expert` |
| `texte` | Le mot gagne une variante | `dev` vers `développeur` |
Un changement de synonyme agit tout de suite, sans réindexer.
# Sécurité
Le guide **Sécurité**, dans l'aide, décrit les protections pour les utilisateurs. Voici ce qui vous revient.
| Réglage | Valeur | Où |
|---|---|---|
| Double authentification | Obligatoire pour tous, codes à 6 chiffres (RFC 6238), 10 codes de secours | `src/securite.php` |
| Mot de passe | 12 caractères au moins, 200 au plus, refusé s'il figure dans une fuite connue | `LONGUEUR_MOT_DE_PASSE`, `LONGUEUR_MAX_MOT_DE_PASSE` |
| Empreinte du mot de passe | Argon2id, recalculée à la connexion pour les anciens comptes | `hacher_mot_de_passe()` |
| Blocage d'un identifiant | 5 échecs : 15 min, puis 30 et 60 min | `ECHECS_SERIE`, `BLOCAGES_MINUTES` |
| Blocage d'une adresse | 20 échecs en une heure | `ECHECS_IP_HEURE` |
| Session | 2 h sans activité, 12 h au plus | `DUREE_INACTIVITE`, `DUREE_SESSION_MAX` |
| Lien d'invitation | 48 h, une seule fois | `INVITATION_HEURES` |
| Journal des connexions | 12 mois | `CONNEXIONS_MOIS` |
Les constantes se trouvent en tête de `src/bootstrap.php` et de `src/securite.php`.
Autres protections :
- HTTPS obligatoire quand `https` vaut `true` : redirection des adresses en `http://` et en-tête HSTS d'un an. Ne passez `https` à `false` que pour un essai sur un poste local.
- Les clés de double authentification sont chiffrées (AES-256-GCM). La clé de chiffrement est dans `config/cle-secrets.php`, créé au premier besoin, ou dans la clé `cle_secrets` de `config/config.php`. Sauvegardez-la avec `config.php` : sans elle, chacun doit se connecter avec un code de secours puis réactiver sa double authentification.
- Mots de passe vérifiés auprès du service Pwned Passwords : seuls les 5 premiers caractères de l'empreinte SHA-1 partent. Si le service ne répond pas, le mot de passe est accepté. `securite.mots_de_passe_fuites` à `false` coupe ce contrôle.
- Votre mot de passe est redemandé pour confier ou retirer la gestion, donner un mot de passe à un autre compte, remettre à zéro une double authentification et télécharger l'archive des fichiers.
- Export CSV, journal, conservation, corbeille, suppression des profils : gestionnaire seulement.
- Site exclu des moteurs de recherche : en-tête `X-Robots-Tag` et balise `robots` sur chaque page.
- Fichiers stockés hors de la racine web, sous un nom aléatoire.
- Chaque action est tracée dans le journal, avec son auteur.
- Aucun appel à un service externe, sauf l'API Claude quand l'analyse automatique est activée, et Pwned Passwords.
# Langues
L'interface existe en français et en anglais. Les CV se génèrent en français, anglais et allemand.
Ajouter une langue d'interface :
1. Copiez `lang/en.php` en `lang/xx.php` et traduisez les valeurs. Une clé non traduite s'affiche en français.
2. Ajoutez la langue à `LANGUES_INTERFACE` dans `src/i18n.php`.
3. Copiez `aide/guide.en.md` et `aide/administration.en.md` avec le code de la langue, et traduisez-les. Sans ces fichiers, l'aide s'affiche en français.
Pour une langue de CV, quelques dizaines de libellés suffisent : voir `lang/de.php`. La langue s'ajoute à `LANGUES_CV`.
# Dépannage
| Symptôme | Cause probable | Que faire |
|---|---|---|
| « Configuration absente » | `config/config.php` manque | Copiez `config/config.exemple.php` et renseignez-le |
| « Une erreur est survenue » | Erreur côté serveur | Menu Gestion, **Erreurs** : cherchez la référence donnée par l'utilisateur |
| Un utilisateur n'a plus son téléphone ni ses codes | Double authentification perdue | Vérifiez son identité, puis **Remettre à zéro la double authentification** |
| « Trop d'essais infructueux » | Blocage après des échecs | Attendez, ou **Débloquer** dans Comptes si vous savez qui essaie |
| Code de double authentification toujours refusé | Heure du téléphone décalée | Réglez l'heure du téléphone en automatique |
| Personne ne peut plus valider son code | `config/cle-secrets.php` perdu ou changé | Remettez le fichier d'origine. Sinon, chacun se connecte avec un code de secours et réactive sa double authentification |
| « Vivier ne s'utilise qu'en HTTPS » | Formulaire envoyé en `http://` | Ouvrez l'adresse en `https://`. Vérifiez le certificat SSL du multisite |
| Profils restés en français en anglais | Traductions pas faites | Comptes, **Traduire tous les profils**, puis gardez une page ouverte |
| L'analyse automatique dépasse le délai | Limite de durée de l'hébergement | Passez par les fichiers déjà analysés |
| La recherche ne trouve rien | Index vide | **Réindexer tous les profils** |
| Aucun email de sauvegarde | Tâche arrêtée, SPF, courriers indésirables | Email d'essai, puis vérifiez la tâche dans l'espace client |
| Un chargement de fichier échoue | Fichier au-dessus de 10 Mo | Réduisez le fichier, ou relevez `taille_max` et la limite de PHP |
Les tests se lancent en ligne de commande : `php tests/test_import.php`, puis de même pour `test_recherche.php`, `test_photo.php`, `test_i18n.php`, `test_suivi.php`, `test_aide.php` et `test_securite.php`.