accueil à_propos projets compétences veille contact
← Tous les projets
01 2025

Zabaa

PHP MySQL JavaScript AJAX PHPMailer

Contexte

Zabaa (anciennement Kidd Trip) est une plateforme web de découverte pensée d'abord pour le Congo-Brazzaville : réunir au même endroit hébergements, restaurants, activités et événements.

Le site est en ligne sur zabaa.blog et tourne sur un VPS que j'administre moi-même.

Mon rôle

Projet personnel : conception de la base de données, développement back-end et front-end, puis déploiement et maintenance en production.

Fonctionnalités

  • Exploration par catégorie : restaurants, hébergements, activités, événements
  • Moteur de recherche et filtres dynamiques en AJAX, sans rechargement de page
  • Pages de détail par lieu : galerie photos, équipements et coordonnées
  • Comptes utilisateurs avec upload de photos
  • Back-office d'administration : ajout, modification et suppression des lieux, photos, équipements et coordonnées
  • Formulaire de contact avec envoi d'e-mails via PHPMailer
  • Interface responsive, mobile et desktop

Choix techniques

Architecture
MVC en PHP natif, développé de zéro, sans framework.
Données
MySQL / MariaDB via PDO ; modélisation relationnelle et requêtes multi-tables avec jointures.
Interactivité
Un système de filtrage AJAX unifié, alimenté par une API JSON interne.
E-mails
PHPMailer, installé avec Composer.
Hébergement
VPS Debian / Ubuntu, stack LAMP avec Apache et MariaDB, HTTPS avec Certbot.

Difficultés résolues

  • Conflits de versions PHP sur le serveur Alignement sur PHP 8.2 et mise à jour de phpMyAdmin (5.0.4 → 5.2.3).
  • Erreur PDOException en production : une colonne manquait dans la base Migration du schéma avec ALTER TABLE.
  • Les emojis de statut réapparaissaient après chaque filtrage AJAX Remplacés par des classes CSS dédiées aux indicateurs de statut.
  • Le lien « Voir tous les événements » menait à la mauvaise page Ajout d'une table de correspondance des pages (pageMap) côté JavaScript.