01. Architecture MVC & Singleton
Le projet repose sur une architecture MVC (Modèle-Vue-Contrôleur) artisanale. La connexion à la base de données motus_voyage est optimisée par un Singleton PDO.
"Une seule instance de connexion est créée, économisant les ressources du serveur MariaDB."
// Database.class.php
public static function getLink() {
if (self::$conn == null) {
self::$conn = new PDO(...);
}
return self::$conn;
}
02. Algorithme à Double Passe
PASSE 1 : BIEN PLACÉS
Vérification des correspondances exactes. Les lettres trouvées sont retirées de l'inventaire array_count_values pour éviter les doublons visuels.
PASSE 2 : MAL PLACÉS
Analyse des stocks restants. Une lettre n'est marquée "Jaune" que s'il reste une occurrence disponible dans le mot secret.
03. Rendu Graphique (PHP GD)
Contrainte majeure : Zéro JavaScript. Le clavier est une image PNG dynamique générée pixel par pixel par le serveur.
Generation: 0.002s
Points & Malus
Calcul dynamique du score : bonus de rapidité couplé à une pénalité d'incohérence (-20 pts) si le joueur ignore les indices précédents.
Multi : Polling SQL
Simulation du temps réel via une balise Meta-Refresh. Le serveur joue le rôle d'arbitre central pour stopper la partie dès qu'un vainqueur est détecté.