Version 1.0.0
Extension multilingue complète pour gérer les comptes d'utilisateurs décédés avec système de succession sécurisé.
- Affichage d'un bandeau noir personnalisable sur les profils des utilisateurs décédés
- Texte mémoriel personnalisable
- Date de décès optionnelle
- Couleur du bandeau modifiable
- Badge sur les posts de l'utilisateur
- Désignation d'une personne de confiance
- Double code de sécurité (utilisateur + admin)
- Envoi automatique d'email avec PDF
- QR Code pour validation rapide
- Traçabilité complète des actions
- Code de sécurité unique de 64 caractères
- QR Code avec token unique
- Clé de validation administrateur
- Double validation (légataire + admin)
- Logs détaillés de toutes les actions
- Gestion des utilisateurs décédés
- Validation des demandes de succession
- Historique des actions
- Interface moderne et responsive
- Français (FR)
- Anglais (EN)
- Facilement extensible
- PHP 7.4 ou supérieur
- MySQL 5.7 ou supérieur
- Extension PHP GD (pour les QR codes)
- Extension PHP Mail configurée
-
Télécharger l'extension
git clone https://github.com/votre-repo/in-memoriam.git
-
Copier les fichiers
cp -r in_memoriam/ /chemin/vers/votre/forum/extensions/
-
Créer les dossiers nécessaires
mkdir -p in_memoriam/qrcodes mkdir -p in_memoriam/pdfs chmod 755 in_memoriam/qrcodes chmod 755 in_memoriam/pdfs
-
Installer les dépendances
Télécharger phpqrcode :
wget https://sourceforge.net/projects/phpqrcode/files/latest/download unzip download -d in_memoriam/lib/
Télécharger FPDF :
wget http://www.fpdf.org/en/download/fpdf184.zip unzip fpdf184.zip -d in_memoriam/lib/
-
Activer l'extension
Dans votre fichier principal du forum, ajoutez :
require_once 'extensions/in_memoriam/index.php';
-
Créer les tables
Les tables seront créées automatiquement lors du premier chargement. Vous pouvez aussi exécuter manuellement :
InMemoriam_Database::install();
-
Accéder aux paramètres In Memoriam :
?memoriam_action=user_settings -
Remplir le formulaire :
- Nom complet du légataire
- Email du légataire
- Cliquer sur "Enregistrer"
-
Conserver la clé de validation administrateur affichée
-
Accéder à la page de demande :
?memoriam_action=legacy_request -
Entrer l'ID de l'utilisateur décédé
-
Recevoir l'email avec :
- Code de sécurité
- PDF avec QR code
- Lien de validation
-
Scanner le QR code ou cliquer sur le lien
-
Entrer le code de sécurité
-
Attendre la validation admin
-
Accéder à l'interface admin :
?memoriam_action=admin -
Cliquer sur "Marquer comme décédé"
-
Remplir le formulaire :
- ID de l'utilisateur
- Date de décès (optionnel)
- Texte mémoriel (optionnel)
- Couleur du bandeau
-
Enregistrer
-
Aller dans l'onglet "Demandes de succession"
-
Trouver la demande validée par le légataire
-
Cliquer sur "Valider la demande"
-
Vérifier la clé de validation sur le profil de l'utilisateur
-
Confirmer la suppression
in_memoriam/
├── index.php # Point d'entrée principal
├── includes/
│ ├── database.php # Gestion base de données
│ ├── functions.php # Fonctions principales
│ └── language.php # Système multilingue
├── admin/
│ └── index.php # Interface admin
├── user/
│ └── settings.php # Paramètres utilisateur
├── legacy/
│ ├── request.php # Demande de suppression
│ └── validate.php # Validation du code
├── assets/
│ └── css/
│ └── style.css # Styles CSS
├── lib/
│ ├── phpqrcode/ # Bibliothèque QR Code
│ └── fpdf/ # Bibliothèque PDF
├── qrcodes/ # QR codes générés
├── pdfs/ # PDFs générés
└── README.md # Documentation
Stocke les informations sur les utilisateurs décédés.
| Champ | Type | Description |
|---|---|---|
| id | INT(11) | Identifiant unique |
| user_id | INT(11) | ID de l'utilisateur |
| death_date | DATE | Date de décès |
| marked_by | INT(11) | ID de l'admin |
| marked_date | DATETIME | Date de marquage |
| memorial_text | TEXT | Texte mémoriel |
| banner_color | VARCHAR(7) | Couleur du bandeau |
| status | ENUM | Statut (active/removed) |
Stocke les informations sur les légataires.
| Champ | Type | Description |
|---|---|---|
| id | INT(11) | Identifiant unique |
| user_id | INT(11) | ID de l'utilisateur |
| legacy_name | VARCHAR(255) | Nom du légataire |
| legacy_email | VARCHAR(255) | Email du légataire |
| security_code | VARCHAR(64) | Code de sécurité |
| qr_code_token | VARCHAR(64) | Token du QR code |
| admin_validation_key | VARCHAR(64) | Clé de validation admin |
| status | ENUM | Statut de la demande |
| request_date | DATETIME | Date de la demande |
| validation_date | DATETIME | Date de validation |
| admin_validation_date | DATETIME | Date de validation admin |
Stocke les logs de toutes les actions.
| Champ | Type | Description |
|---|---|---|
| id | INT(11) | Identifiant unique |
| user_id | INT(11) | ID de l'utilisateur |
| action | VARCHAR(100) | Action effectuée |
| performed_by | INT(11) | ID de l'auteur |
| ip_address | VARCHAR(45) | Adresse IP |
| user_agent | VARCHAR(255) | User agent |
| details | TEXT | Détails supplémentaires |
| created_at | TIMESTAMP | Date de création |
-
Double validation
- Code de sécurité unique pour le légataire
- Clé de validation pour l'administrateur
-
Tokens uniques
- Génération de codes aléatoires cryptographiquement sûrs
- 64 caractères pour le code de sécurité
- 32 caractères pour les tokens
-
Traçabilité
- Logs de toutes les actions
- Enregistrement des IP et user agents
- Horodatage de chaque étape
-
Sanitization
- Nettoyage de toutes les entrées utilisateur
- Protection contre les injections SQL
- Échappement des sorties HTML
-
Protection des données
- Emails chiffrés (selon config serveur)
- Stockage sécurisé des codes
- Suppression automatique après validation
Pour ajouter une nouvelle langue :
-
Ouvrir
includes/language.php -
Ajouter un nouveau tableau dans
$languages:'es' => array( 'in_memoriam' => 'In Memoriam', 'default_memorial_text' => 'En memoria de...', // ... autres traductions )
-
La langue sera automatiquement disponible
Dans assets/css/style.css, modifier :
.in-memoriam-banner {
background: linear-gradient(135deg, #2c3e50 0%, #000000 100%);
}Dans includes/language.php, modifier :
'default_memorial_text' => 'Votre texte personnalisé'Dans includes/functions.php, fonction in_memoriam_send_legacy_email().
// Exécuter manuellement
require_once 'extensions/in_memoriam/includes/database.php';
InMemoriam_Database::install();- Vérifier la configuration SMTP du serveur
- Vérifier les logs PHP
- Tester avec
mail()basique
- Vérifier que GD est installé :
php -m | grep gd - Vérifier les permissions du dossier
qrcodes/ - Installer phpqrcode correctement
- Vérifier que FPDF est installé
- Vérifier les permissions du dossier
pdfs/ - Vérifier les logs d'erreurs PHP
Cette extension est fournie sous licence MIT.
Pour toute question ou problème :
- Créer une issue sur GitHub
- Email : support@votre-domaine.com
- Première version stable
- Toutes les fonctionnalités de base
- Support FR et EN
- FPDF pour la génération de PDF
- phpqrcode pour les QR codes
- La communauté PHP pour les retours
Note importante : Cette extension traite des sujets sensibles. Assurez-vous d'avoir les autorisations nécessaires et de respecter les lois sur la protection des données (RGPD, etc.) dans votre juridiction.