Events (PHP/MySQL) — Concerts, favoris, map, forum

Contexte & cadrage

  • Type : mini‑plateforme d’événements (concerts) en PHP/MySQL.

  • Modèle d’accès : Admin (nous) crée/modifie/supprime les concerts ; utilisateurs authentifiés ajoutent/retirent des favoris et postent au forum ; visiteurs = lecture seule.

  • Objectif long terme : automatiser la mise à jour et mettre à disposition de l’école.

TL;DR

  • Fonctionnalités mises en avant : CRUD concerts, Favoris, Map (Leaflet + OSM), Forum.

  • Événement démo : Jon doeRock, Paris, 01/01/2025 20:00, 99 €, 10 000 places.

  • Accès : Admin = gestion ; Membres = favoris + forum ; Public = lecture.

  • Stack : Debian 11, Apache 2.4, PHP 8.2, MySQL 8.0, Leaflet + OpenStreetMap.

Architecture

  • Back : PHP procédural léger, accès MySQL (DAO simple).

  • Données : tables concerts, categories, lieux, users, favoris, forum_messages.

  • Front : pages liste/détail, filtres basiques, carte Leaflet (marker), page forum par concert, compte (connexion, favoris).

  • Sécurité : sessions PHP, routes admin protégées ; entrées filtrées ; rôles admin/user/visiteur.

Ce que j’ai fait

  • Implémentation CRUD concerts (formulaires + endpoints).

  • Favoris : ajout/retrait + page « Mes favoris ».

  • Map : intégration Leaflet + OpenStreetMap (marker lieu).

  • Forum : structure simple par concert (création/lecture de messages).

Démo (lab contrôlé)

  1. Admin : créer le concert Jon doe

    • Catégorie : Rock ; Lieu : Paris ; Date/heure : 01/01/2025 20:00 ; Prix : 99 € ; Capacité : 10 000.

  2. Membre : ajouter aux favoris (compte démo) → visible dans « Mes favoris ».

  3. Map : afficher la fiche → carte Leaflet centrée Paris (48.8566, 2.3522), marker sur le lieu.

  4. Forum : poster un message sur le concert (ex : « On se retrouve devant à 19h30 »).

  5. Admin : modifier (ex : prix → 109 €) puis, si besoin, supprimer le concert (démonstration du flux complet).


Résultats & KPI

  • Flux complet démontré : Admin → création/modif/suppression ; Membre → favoris & message forum ; Visiteur → lecture.

  • Map fonctionnelle : marker positionné sur l’adresse du lieu.

  • Favoris : ajout/retrait répercuté instantanément dans la page dédiée.

Difficultés & leçons

  • Modèle de données : cohérence entre concerts/catégories/lieux pour des requêtes simples et rapides.

  • Rôles & sessions : sécuriser clairement les actions admin vs membre.

  • Carte : normaliser les coordonnées/addresses pour l’affichage Leaflet.

Amélioration prioritaire

  • Automatisation de l’ingestion (CSV/API) pour les concerts « école ».

  • Recherche/filtre plus riche (date range, lieu, catégorie) + pagination.

  • Modération forum (signalement/simple anti‑spam).

  • SEO basique (balises title/description par concert).

Stack & compétences mobilisées

  • PHP/MySQLApacheDebian 11 ; notions Leaflet/OSM.

  • Conception schéma SQL, formulaires CRUDsessions et contrôles d’accès, intégration carte.

En quoi ce projet m’a été utile

  • Renforcer mes bases web full‑stack léger (PHP/MySQL).

  • Pratiquer la gestion rôles/sessions et l’intégration carte.

  • Préparer la scalabilité fonctionnelle (automatisation, filtres, pagination).

Ressources

  • Repo : à venir.

Retour en haut