SAE2.03 | SITE WEB & BASE DE DONNÉES

Niveau 1

Développer

88h du 03/03/2025 au 05/05/2025

Modalité : SAE / Groupe

Dans le cadre de cette SAE de développement web, nous avons créé Dicecovery, un site destiné aux passionnés de jeux de rôle. Il offre aux joueurs la possibilité de découvrir et rejoindre des campagnes, tandis que les maîtres du jeu peuvent y recruter des participants.

Les utilisateurs peuvent s’inscrire, rechercher des campagnes selon leurs critères, consulter les personnages disponibles, ajouter des campagnes en favoris et accéder à des guides.

Le site a été conçu avec HTML/CSS et Bootstrap, puis développé en PHP en respectant le modèle conceptuel de données (MCD), avec une base MySQL. Dicecovery est hébergé à la fois sur le serveur de l’Université et sur Alwaysdata.

Traces

AC14.01 - Exploiter de manière autonome un environnement de développement efficace et productif

Analyse

Nous avons réussi à instaurer un environnement de développement à la fois structuré et efficace malgré le fait que le site soit hébergé chez ma camarade. Nous avons utilisé VS Code, tirant parti d’extensions pratiques comme LiveShare pour collaborer en temps réel, ainsi que SFTP pour la gestion des fichiers. Dès le début, l’arborescence du projet a été soigneusement organisée, avec des dossiers bien distincts pour garder une clarté optimale.

J’ai particulièrement apprécié travailler sur la mise en place du modèle conceptuel de données en PHP avec ma camarade. La mise en page avec Bootstrap a également été très satisfaisante, car elle permettait d’obtenir rapidement des résultats visibles et concrets.

AC14.02 - Produire des pages Web fluides incluant un balisage sémantique efficace et des interactions simples

Analyse

Nous avons conçu notre site en tirant parti des composants Bootstrap afin d’assurer une interface fluide et responsive. Nous avons intégré plusieurs éléments étudiés en cours et sur le site @home, comme des cards pour présenter les campagnes, des boutons clairs et des formulaires bien structurés.

Le site est globalement responsive grâce aux classes utilitaires de Bootstrap, même si certains éléments peuvent parfois légèrement se décaler selon la taille de l’écran. Cela révèle que la maîtrise du responsive design reste à affiner, notamment pour garantir une expérience utilisateur optimale sur mobile.

AC14.03 - Générer des pages Web à partir de données structurées

Analyse

Lors de cette SAE, nous avons développé de nombreuses fonctionnalités dynamiques, côté client comme côté serveur. Grâce à PHP, les pages sont devenues interactives et personnalisées pour chaque utilisateur, notamment via les systèmes de connexion, d’inscription, la gestion des favoris, et l’inscription aux campagnes de jeux de rôle.

Nous avons exploité des requêtes SQL pour gérer la base de données : affichage des campagnes, ajout d’utilisateurs, enregistrement des personnages, et gestion des sessions. Nous avons aussi mis en place des mécanismes permettant de suivre en temps réel les actions des utilisateurs, comme l’ajout ou la suppression de favoris.

Pour sécuriser l’accès, les mots de passe sont encryptés, et le code a été structuré clairement afin de bien distinguer les responsabilités de chaque fichier PHP.

Je ne me sent personnellement pas encore tout a fait à l’aise avec tout ça mais je fais de mon mieux.

AC14.04 - Mettre en ligne une application Web en utilisant une solution d’hébergement standard

Analyse

Pour cette SAE, nous avons mis notre site en ligne via Webetu, un processus assez simple grâce à l’utilisation du protocole SFTP avec FileZilla. Pour la base de données, nous avons importé les données via phpMyAdmin.

Nous avons aussi testé Alwaysdata comme hébergement alternatif, mais avons rencontré plusieurs difficultés, notamment des problèmes d’affichage dynamique des pages PHP et de gestion des chemins relatifs, ce qui a compliqué son utilisation.

Par ailleurs, nous avons configuré un fichier .htaccess pour sécuriser certaines zones du site et personnaliser les pages d’erreur, ce qui a amélioré l’expérience utilisateur et la gestion des erreurs serveur.

Malgré les obstacles rencontrés avec Alwaysdata, la mise en ligne sur Webetu et Alwaysdata a été effective, nous permettant ainsi de livrer un site fonctionnel et accessible en ligne.

AC14.05 - Modéliser les données d’une application Web

Analyse

Nous avons réussi à concevoir une base de données complète et bien structurée grâce à phpMyAdmin. J’ai utilisé son interface pour créer les tables et y insérer le contenu, en veillant à modéliser correctement les différents éléments du site, tels que les campagnes, les utilisateurs, les personnages vacants et les favoris.

Pour importer les données initiales, nous avons converti des fichiers Excel en CSV, puis les avons intégrés via phpMyAdmin.

Ma camarade a écrit la plupart des requêtes SQL pour manipuler les données, notamment des requêtes complexes avec jointures, permettant une gestion dynamique et cohérente du site.

Ce travail m’a beaucoup appris sur la modélisation et l’exploitation des données dans un site web dynamique.