Dossier Technique : Système Motus Voyage

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.

"L'interactivité est assurée par une <map> HTML qui lie les coordonnées des touches aux actions PHP."
GD LIB

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é.