EDEN est un site web PHP/MySQL qui présente le ministère EDEN, ses retraites spirituelles et ses activités, et qui permet :
-
Côté public
- De consulter les retraites à venir et passées.
- De s'inscrire à une retraite via un formulaire dédié.
- De voir les programmes/activités annuelles.
- De parcourir une galerie de photos avec ouverture en grand (modale/lightbox).
- De lire la page À propos (vision, mission, valeurs, équipe).
- De contacter le ministère via un formulaire de contact.
- De déposer des témoignages avec photo.
- De devenir partenaire du ministère.
- De consulter les enseignements et méditations.
-
Côté administration
- De gérer les retraites (CRUD, upload d'images, fiche pratique, pagination).
- De gérer les programmes annuels.
- De gérer la galerie (upload de photos, association à une retraite, miniatures).
- De consulter et exporter les inscriptions (CSV + impression/"PDF" navigateur).
- De consulter les contacts reçus (avec numéros de téléphone).
- De gérer les témoignages et les horaires.
- De gérer les enseignements (ajout, modification, suppression).
- De visualiser les demandes de partenariat reçues.
Le projet est pensé pour tourner sur un environnement type WAMP/XAMPP (Windows, Apache, MySQL, PHP).
- PHP ≥ 7.4 (fonctionne aussi avec 8.x)
- MySQL / MariaDB
- Serveur HTTP (Apache via WAMP/XAMPP ou autre)
- Extension PHP
pdo_mysqlactivée
Sous Windows, le projet est prévu pour être placé dans :
c:\wamp64\www\eden
mais tout autre dossier de racine web convient si la configuration est adaptée.
-
Cloner ou copier le projet dans le dossier web de votre serveur :
c:\wamp64\www\eden -
Créer la base de données MySQL (par exemple
eden_db) via phpMyAdmin ou la ligne de commande. -
Importer le schéma (fichier SQL) si vous en avez un export (
eden_db.sqlpar exemple). À défaut, créez les tables principales :retreatsprogrammesgalleryinscriptionscontactstestimonials- etc.
-
Configurer la connexion à la base dans :
/config/db.php
Exemple typique (à adapter) :
$dsn = 'mysql:host=localhost;dbname=eden_db;charset=utf8mb4'; $user = 'root'; $password = '';
-
Vérifier les droits d’écriture sur le dossier
uploads(créé par l’admin pour les images, fiches pratiques, miniatures, etc.).
Répertoire principal :
eden/
├─ admin/
│ ├─ admin.php # Entrée principale de l’espace admin
│ ├─ index.php # Redirection/accueil admin
│ ├─ enseignements.php # Gestion des enseignements et méditations
│ └─ partials/ # Sections de l’admin (retreats, programmes, galerie, inscriptions, etc.)
├─ public/
│ ├─ index.php # Page d'accueil
│ ├─ retraite.php # Page retraites (liste + détails)
│ ├─ programmes.php # Page programmes / activités
│ ├─ inscription.php # Formulaires d'inscription aux retraites
│ ├─ galerie.php # Galerie publique avec lightbox/modale
│ ├─ contact.php # Page de contact (+ formulaire)
│ ├─ apropos.php # Page À propos (vision, mission, valeurs, équipe)
│ ├─ temoignages.php # Page des témoignages
│ ├─ partenaire.php # Page de partenariat
│ └─ ... autres pages publiques
├─ assets/
│ ├─ css/
│ │ ├─ main.css # Feuille de style principale
│ │ └─ admin.css # Styles spécifiques à l'administration
│ └─ js/
│ └─ lightbox.js # Script de lightbox
├─ uploads/ # Fichiers uploadés (images, PDF, miniatures)
├─ includes/
│ ├─ header.php # En-tête du site (menu, logo)
│ └─ footer.php # Pied de page
├─ config/
│ └─ db.php # Connexion PDO à la base MySQL
├─ logs/ # Fichiers de logs d'erreurs
└─ README.md # Ce fichier
- Hero avec slider d’images provenant de la galerie (
homePhotos). - Bandeau events-bar avec informations rapides (prochaine retraite, rencontres hebdomadaires, etc.).
- Bloc de contact + carte OpenStreetMap centrée sur Ruashi Kundelungu.
- Bloc Objectifs (Adoration, Maturité, Impact, Service, Fraternité).
- Section Enseignements & Méditations avec 3 vignettes illustrées.
- Section Galerie (aperçu de quelques photos, ouverture modale, lien vers
/public/galerie.php).
- Récupère toutes les retraites (
retreats) et sépare en :- Retraites à venir
- Retraites passées
- Détails d’une retraite mise en avant (en fonction d’un
idou de la prochaine à venir). - Affiche : titre, thème, dates, lieu, orateurs, prix, programme image, etc.
- Lien vers inscription et vers horaire.
- Liste les programmes annuels (table
programmes). - Présente les différentes activités / enseignements dans l’année.
- Grille de photos alimentée par la table
gallery. - Au clic sur une photo : ouverture d’une modale type "homeGalleryModal" avec :
- Image en grand
- Titre
- Lien de téléchargement
- Lien vers la retraite liée (si
retreat_id)
- Bouton pour accéder à la retraite ou à la galerie complète.
- Section Nos valeurs fondamentales (Profondeur, Onction, Excellence, Conviction, Authenticité).
- Bloc Notre mission / vision avec texte détaillé.
- Bloc Équipe EDEN (Responsable, Intercession, Louange, Logistique, …).
- Coordonnées (téléphone, WhatsApp, mail, adresse).
- Carte OpenStreetMap (mêmes coordonnées que l’accueil).
- Rappel des raisons de contact (Question, Inscription, Partenariat, Feedback).
- Formulaire de contact enregistrant dans la table
contacts.
- Formulaire d’inscription à une retraite.
- Enregistre les données dans
inscriptions(nom, email, âge, présence, besoins particuliers, etc.).
- Affichage des témoignages approuvés par l'administration.
- Formulaire de soumission de témoignage avec upload de photo.
- Grille responsive avec avatars et messages.
- Présentation des types de partenariat disponibles.
- Formulaire de demande de partenariat avec validation.
- Enregistrement dans la table
contactsavec type 'partnership'.
Entrée : admin/admin.php (après authentification simple si prévue).
- Liste paginée des retraites (titre, thème, dates, lieu, prix, image, fiche).
- Ajout / édition / suppression.
- Upload d’image de programme (redimensionnée) et de fiche pratique (PDF ou image).
- Gestion des programmes annuels.
- Ajout de photos : par URL ou upload.
- Option d’associer une photo à une retraite (
retreat_id). - Génération de miniatures
thumb_*.jpgpour l’affichage rapide.
- Filtre par type d’activité (retraite / programme) et par activité.
- Liste des inscrits avec détails (coordonnées, besoins, dates, etc.).
- Export CSV avec BOM UTF‑8 (compatible Excel).
- Bouton Imprimer / PDF qui utilise l’impression du navigateur pour générer un PDF propre.
- Liste paginée des messages envoyés via le formulaire de contact.
- Gestion des témoignages affichés publiquement.
- Gestion des horaires/agenda si activé.
- Gestion de base du compte admin.
Plusieurs listes dans l’admin utilisent une pagination par 15 éléments :
- Retraites
- Programmes
- Inscriptions
- Contacts
- Témoignages
Les paramètres d’URL sont de type ?section=retreats&retreat_page=2, etc.
- L’ancien export PDF maison pour les inscriptions a été remplacé par un export CSV fiable.
- Pour obtenir un PDF, l’admin peut utiliser le bouton Imprimer / PDF qui ouvre une fenêtre imprimable et s’appuie sur la fonction "Enregistrer en PDF" du navigateur.
- Copier tous les fichiers du projet vers votre hébergement (FTP ou autre).
- Créer la base de données MySQL et importer le dump.
- Adapter
config/db.phpavec les identifiants de la base distante. - Vérifier le chemin des uploads (
../uploads/...) et les droits d’écriture. - Configurer (si nécessaire) la racine du site pour pointer vers le dossier qui contient
index.php.
- Protéger l’accès à l’admin (
/admin/admin.php) par une authentification (si ce n’est pas déjà fait). - Vérifier régulièrement les droits du dossier
uploads/. - Garder PHP et MySQL à jour.
- Sauvegarder régulièrement la base de données (
mysqldump) et le dossieruploads.
- Les styles sont principalement dans
assets/css/main.css. - Les sections sont souvent structurées en partials (dans
admin/partialspour l’admin, et en fichiers dédiés danspublic/pour le site public). - Pour ajouter de nouvelles sections publiques, créer un nouveau fichier dans
public/et inclure le header/footer viaincludes/header.phpetincludes/footer.php.
Problème : SQLSTATE[HY000] [1045] Access denied for user
Solution :
- Vérifiez les identifiants dans
config/db.php - Assurez-vous que MySQL est démarré
- Vérifiez que l'utilisateur a les permissions sur la base de données
Problème : Failed to open stream: Permission denied
Solution :
- Vérifiez les permissions du dossier
uploads/ - Exécutez :
chmod 755 uploads/(Linux/Mac) - Sur Windows, assurez-vous que IIS/Apache a les droits d'écriture
Problème : Styles CSS non appliqués
Solution :
- Vérifiez les chemins dans
assets/css/main.css - Assurez-vous que le serveur web sert les fichiers statiques
- Videz le cache du navigateur
Problème : Les données ne s'enregistrent pas
Solution :
- Consultez les fichiers de logs dans
logs/ - Vérifiez la structure de la table avec
setup_contacts_table.php - Assurez-vous que toutes les colonnes requises existent
Problème : Warning: mail(): Failed to connect to mailserver
Solution :
- Configurez un serveur SMTP dans
php.ini - Ou utilisez une librairie comme PHPMailer
- Pour le développement, vous pouvez commenter la fonction
mail()
Le projet inclut plusieurs scripts pour faciliter le diagnostic :
setup_contacts_table.php: Vérifie et configure la tablecontactscheck_db.php: Diagnostic de la connexion à la base de donnéesdebug_contact.php: Débogage du formulaire de contact
Accédez à ces scripts via votre navigateur pour diagnostiquer les problèmes.
Pour toute question ou bug :
- Utiliser la page Contact du site (
public/contact.php). - Ou contacter l’équipe en direct si vous avez les coordonnées internes.