Backend PHP platforme en ligne de jeux de rôle

/theme/study/backend-php-jdr-minia.jpg

Le livrable principal de la SAE 301 du BUT MMI est la réalisation d’un site web permettant de jouer à des jeux de rôle textuels.
(Technologies imposées : PHP modèle MVC sans framework, base de données SQL)

Réflexion sur le wireframe Figma des différentes pages en binôme.

Détails techniques

J’ai réalisé seul le backend de la plateforme, Julie Wang s’est occupée de la partie frontend.
Tous les contenus (images et textes) envoyés par les utilisateurs sont vérifiés avant d’être stockés.

  • Requêtes SQL réalisées avec PDO, évitant les injections SQL
  • Utilisation de bcrypt pour l’authentification et hasher les mots de passe
  • Utilisation des sessions PHP pour rester identifié
  • Récupérations des actions sensibles de l’utilisateur en POST
    • création d’un compte, d’une partie, de rôles
    • envoi de messages et d’images
  • Navigation entre les pages en GET, passage par le router index.php vérifiant les droits d’accès et redirigeant vers la vue correspondante
  • Toutes les données SQL récupérées par les pages PHP sont formatées, évitant l’injection de balises HTML et JavaScript dans les vues

Fonctionnalités :

  • Création de comptes utilisateurs, de salons JDR protégés par code ou publics
  • Opérations sur une partie requièrent d’avoir les permissions sur celle-ci (rôle de créateur/admin du site)
    • Création de rôles spécifiques à un salon
    • Envoi d’images, de descriptions textuelles en italique
  • Messages privés entre utilisateurs

Utilisation de Git pour le versioning et avancer sur le projet en parallèle, Jira utilisé pour suivre un développement selon la méthode Agile.
Autres livrables en duo.

Fin de projet :

Une fois la SAE terminée, j’ai envoyé le lien vers notre plateforme à mes collègues de classe. C’était très sympathique de les voir rejoindre les salons, créer le leur, échanger des messages dans le système de chat, envoyer des images et MP. (On se rend également rapidement compte de la nécessité d’une modération en cas de dérapage.)