Projet de fin d'année à Ynov Lyon B1. Cahier des charges : développer un forum
en ligne complet, conforme aux exigences fonctionnelles et techniques imposées.
Une équipe de quatre développeurs, un sprint intensif, un objectif clair : livrer
une application déployée, fonctionnelle, élégante. Et bien la défendre.
3sem.
Durée du sprint
4dev.
Membres de l'équipe
100%
Cahier des charges couvert
02 — Vision
Pourquoi Prism ?
Un prisme décompose la lumière blanche en un spectre de couleurs.
Un forum décompose un sujet en une multitude d'idées.
Nous avons choisi une thématique forte — l'astronomie et
l'exploration spatiale — pour porter une direction artistique cohérente :
fond profond, accents violets, typographie sérieuse. Une identité qu'on retient.
« Entrez dans le forum. »
prism-forum.app
03 — Méthodologie
Organisés sur Jira.
Une gestion de projet structurée du premier au dernier jour. Chaque feature
a son ticket, chaque ticket son responsable, chaque sprint son objectif.
51
Tickets créés
9
Epics structurants
42
Tâches opérationnelles
Les 9 epics
OrganisationMaquettageDesignAuthentificationGestion du contenuInteractions & EngagementRecherche & DécouverteProfilInfrastructure
04 — Outils
Notre environnement.
Développement
VSCode
GitHub
Organisation
Jira
Discord
Design & Infra
Figma
Docker
05 — L'équipe
Quatre rôles, une vision.
NL
Chef de projet
Noé Leone
Gestion de projet et organisation Jira
Structure globale des pages
Page détail post
Navigation en mode déconnecté
BB
Designer & Intégrateur
Baptiste Beuillé
Maquettage Figma complet
Authentification CNIL & mot de passe oublié
Profil utilisateur & section Réseau
Like / commentaire & déploiement
AG
Direction artistique & Back
Arthur Guillaume
Logo et identité visuelle
Wireframes & schéma de BDD
Page forum & système de connexion
Création de posts & recherche par titre
EB
DevOps & Back
Ethan Bacquier
Création et gestion du repository Git
Suppression de compte (cascade)
Suppression de posts (cascade)
Tri des publications
06 — Design
Du wireframe à la maquette finale.
6 écrans haute-fidélité conçus sur Figma. Une cohérence visuelle absolue,
pensée pour servir directement de référence au développement.
01 · Landing
02 · Forum
03 · Profil
04 · Réseau
05 · Détail post
06 · Connexion
07 — Stack
Sobre. Maîtrisée.
Aucun framework, aucune magie. Un choix volontaire pour comprendre en profondeur
le fonctionnement réel d'une application web.
Go
Back-end · net/http
SQLite
Base de données
Docker
Conteneurisation
HTML / JS
Front-end · vanilla
Git
Versionnement
Figma
Design
08 — Architecture
Du clic au stockage.
Client
Navigateur
HTML statique + JS vanilla, appels fetch()
asynchrones vers l'API.
Stockage embarqué, fichier unique. Tables relationnelles avec
suppressions en
cascade.
SQL
Infra
Docker
Conteneur unique. Reproductibilité totale du build au déploiement.
09 — Données
Le schéma SQLite.
Quatre tables. Trois relations. Suppressions en cascade pour
garantir
l'intégrité.
users
idPK
usernameTEXT
emailTEXT UNIQUE
password_hashTEXT
avatarTEXT
created_atDATETIME
posts
idPK
user_idFK → users
titleTEXT
contentTEXT
created_atDATETIME
comments
idPK
post_idFK → posts
user_idFK → users
contentTEXT
created_atDATETIME
likes
idPK
post_idFK → posts
user_idFK → users
created_atDATETIME
ON DELETE CASCADE → SUPPRIMER UN POST EFFACE SES COMMENTAIRES ET SES LIKES.
SUPPRIMER UN UTILISATEUR EFFACE SES POSTS, SES COMMENTAIRES ET SES LIKES.
10 — Utilisateurs
Gestion complète du compte.
Inscription, connexion, modification, suppression. Chaque action est sécurisée
et conforme aux directives CNIL.
Inscription conforme CNILMot de passe robuste, email unique, validation par confirmation.
Double mode de connexionAuthentification par email ou par pseudonyme + mot de passe.
Profil entièrement modifiablePseudo, email, mot de passe et photo de profil ajustables à tout moment.
Suppression du compte en cascadePosts, commentaires et likes effacés simultanément. RGPD-friendly.
Navigation déconnectéeLecture des posts possible sans compte. Interactions verrouillées.
11 — Interactions
Le cœur du forum.
Posts, likes, commentaires, recherche, tri, filtres et annuaire des membres.
Toutes les interactions critiques se font sans rechargement
de
page
via une route API dédiée et fetch().
CRUD complet des postsCréation, modification, suppression par leur auteur. Cascade sur commentaires et
likes.
Likes asynchrones via fetchRoute API dédiée. Le compteur se met à jour sans recharger la page.
Commentaires modifiablesL'auteur garde le contrôle sur ses contributions. Suppression immédiate.
Recherche par titreBarre dédiée. Tri par date, likes, commentaires — ascendant ou descendant.
Section RéseauAnnuaire des membres avec leurs stats et leur barre de recherche dédiée.
Fin · Bilan
Mission accomplie.
Cahier des charges intégralement couvert. Application déployée. Équipe alignée.
Et un projet dont on est fiers.
Ce qu'on a appris
Go en profondeur. La gestion de projet agile. Le design
UI/UX sur
Figma. Le déploiement Docker.
Ce qu'on ferait ensuite
Notifications temps réel. Messagerie privée. Modération
communautaire. Version mobile.