Ghost-Forum est un prototype de mini réseau social développé principalement en PHP, avec une base forum, un système de profils, de publications, de messagerie, de modération et une entrée scénarisée par un mini-jeu appelé Le Tunnel Fantôme.
Le projet repose sur deux parties liées : d’abord le tunnel, qui sert de porte d’entrée interactive, puis le forum, qui devient accessible une fois certaines conditions remplies.
Inscription et accès au Tunnel Fantôme
L’inscription ne demande pas d’adresse mail. L’utilisateur crée un compte avec un pseudo, puis passe par un système de connexion classique.
Côté serveur, plusieurs protections sont mises en place pour limiter les abus : vérification des tentatives répétées, contrôle des accès suspects, suivi de certains éléments comme l’adresse IP et l’user-agent, et logique de blocage temporaire en cas de comportement anormal.
L’objectif n’était pas seulement de créer une page de login/register, mais de construire une entrée plus originale : l’utilisateur doit traverser le Tunnel Fantôme avant d’accéder au forum.
page login avec anti brute-force
Le Tunnel Fantôme
Le Tunnel Fantôme est un mini-jeu textuel orienté cybersécurité. Lors de l’inscription, un GS-token est généré et lié au pseudo du joueur.
Pour débloquer entièrement ce token, l’utilisateur doit progresser dans plusieurs SAS du tunnel. Chaque étape peut contenir une question, une énigme, un mini-CTF ou une scène textuelle. Le thème général reste lié à la cybersécurité, avec différents personnages, dialogues et situations.
tunnel
tunnel
tunnel
jeu hexadécimal
Certains défis peuvent être simples en apparence, mais demander un minimum d’observation. Par exemple, une étape utilise un terminal qui communique en hexadécimal.
tunnel
tunnel
Une fois le tunnel traversé, l’utilisateur arrive sur une page de token. Cette page n’est réellement utile que si le joueur a récupéré assez de fragments pendant le parcours. Connaître directement l’URL ne suffit donc pas : le token doit avoir été débloqué côté serveur.
Accès au forum
Après validation du tunnel, l’utilisateur accède au forum / mini réseau social.
Le forum propose plusieurs fonctionnalités classiques d’une petite plateforme communautaire :
système d’amis ;
publications publiques ou limitées aux amis ;
commentaires et likes ;
messagerie privée ;
messagerie publique ;
feed d’activité ;
notifications ;
profils utilisateurs ;
options de confidentialité.
forum
forum
Côté profil, l’utilisateur peut notamment choisir s’il accepte les messages de tout le monde ou seulement de ses amis. Le site contient aussi un tchat public et un tchat privé pour discuter avec un membre précis.
La majorité du site fonctionne sans JavaScript. Les seules parties qui nécessitent du JavaScript sont les fonctions en direct, comme le tchat public ou privé. L’inbox classique reste utilisable sans JS.
amis
notif
Administration et modération
Le projet contient deux interfaces spécifiques selon le rôle de l’utilisateur : une partie modérateur et une partie administrateur.
Un administrateur peut gérer les utilisateurs, supprimer ou bannir un modérateur, mais ne peut pas bannir un autre administrateur. Le projet contient aussi une gestion de logs internes au site, séparée des logs du serveur web.
Le système de modération est lié au feed et au système de signalement des publications. Les signalements peuvent être consultés depuis l’interface d’administration ou de modération.
admin | gestion users
admin section forum
Sécurité et logique serveur
Ghost-Forum a été pensé comme un prototype fonctionnel, mais avec une vraie attention portée à la sécurité côté serveur.
Le projet utilise notamment :
des requêtes préparées ;
une logique de session côté serveur ;
des protections contre certaines tentatives de brute-force ;
des contrôles liés aux rôles utilisateurs ;
des vérifications d’accès côté serveur ;
des protections sur les formulaires ;
une logique de bannissement temporaire ;
une séparation entre le site, la base de données et les fichiers de configuration sensibles.
Le projet étant en grande partie compatible NoJS, beaucoup de protections doivent être gérées côté serveur plutôt que côté navigateur. La sécurité ne repose donc pas seulement sur Apache ou sur le serveur web, mais aussi sur la logique PHP de l’application.
J’utilise aussi des outils comme OWASP ZAP / ZAP Proxy pour vérifier les problèmes de sécurité de base, les formulaires, les en-têtes HTTP et les comportements suspects.
Statut du projet
Ghost-Forum est un prototype local fonctionnel. Il n’est pas présenté comme un service public actuellement en ligne, mais comme une démonstration de ce que je peux produire : une application web complète avec authentification, mini-jeu d’accès, forum, profils, messagerie, modération et administration.
Le prototype m’a demandé environ une semaine et demie à deux semaines de développement. Pour un produit final similaire, avec finition, tests, corrections, adaptation au besoin client et mise en ligne propre, il faudrait plutôt compter environ deux semaines et demie ou plus selon les options demandées.
Ce projet montre le type de site web personnalisé que je peux concevoir : un outil communautaire, dynamique, sécurisé côté serveur, et adapté à un concept précis plutôt qu’un simple thème préfabriqué.
