# FreeTube - Checklist de développement Backend ## **AUTHENTIFICATION** (15 points) ### Connexion utilisateur standard (5 points) ✅ - [x] Route de connexion avec nom d'utilisateur/mot de passe - [x] Validation des credentials - [x] Génération de token JWT ### Connexion OAuth2 (10 points) - [ ] Intégration avec au moins un service OAuth2 (Google, Microsoft, GitHub) - [ ] Routes pour gérer les callbacks OAuth2 - [ ] Middleware de gestion des tokens OAuth2 ## **GESTION UTILISATEUR** (10 points) ✅ - [x] Modification adresse email (unique) - [x] Modification nom d'utilisateur (unique) - [x] Modification mot de passe sécurisé - [x] Modification photo de profil - [x] Création/modification nom d'affichage chaîne - [x] Création/modification description chaîne ## **ADMINISTRATION CHAÎNE FREETUBE** (55 points) ### Mettre en ligne une vidéo (30 points) - [x] Upload média vidéo (10 points) - [x] Upload miniature vidéo (2 points) - [x] Titre (2 points) - [x] Description (2 points) - [x] Date de mise en ligne automatique (2 points) - [ ] Mots-clefs/hashtags jusqu'à 10 (2 points) - [ ] Visibilité publique/privée (5 points) - [ ] Génération lien partageable (5 points) ### Gestion vidéos existantes - [ ] Éditer une vidéo existante (5 points) - [ ] Changer la visibilité (5 points) - [x] Supprimer une vidéo (5 points) ### Statistiques - [ ] Statistiques par vidéo (vues, likes, commentaires) (5 points) - [ ] Statistiques globales de la chaîne (5 points) ## **PAGE ACCUEIL** (30 points) ### Utilisateur authentifié (15 points) - [ ] Section Recommendations (contenu similaire non vu) (5 points) - [ ] Section "À consulter plus tard" (5 points) - [ ] Section Tendances (contenu avec plus d'interactions récentes) (5 points) ### Utilisateur non-authentifié (15 points) - [ ] Section Recommendations (3 mots-clefs les plus utilisés) (5 points) - [ ] Section Tendances (5 points) - [ ] Section Top créateurs (plus d'abonnés) (5 points) ## **PAGE ABONNEMENTS** (10 points) - [ ] Fil d'actualité des abonnements (8 points) - [ ] Redirection pour non-authentifiés (2 points) ## **PAGE UTILISATEUR** (15 points) - [ ] Historique des vidéos regardées (10 points) - [ ] Gestion et liste des playlists (5 points) ## **PAGE PLAYLIST** (10 points) - [ ] Affichage nom playlist et vidéos - [ ] Tri par date d'ajout - [ ] Navigation depuis page utilisateur ## **PAGE VIDÉO** (50 points) ### Lecteur vidéo (20 points) - [x] Média visualisable (10 points) - [ ] Bouton Pause (2 points) - [ ] Bouton Play (2 points) - [ ] Saut XX secondes en avant (3 points) - [ ] Saut XX secondes en arrière (3 points) ### Informations vidéo (20 points) - [x] Titre de la vidéo (2 points) - [x] Description (2 points) - [x] Nom de la chaîne (2 points) - [ ] Compteur abonnés (2 points) - [ ] Compteur "J'aime" (2 points) - [ ] Bouton "J'aime" (5 points) - [ ] Bouton "S'abonner" (5 points) ### Commentaires (10 points) ✅ - [x] Créer un commentaire (5 points) - [x] Voir les commentaires (5 points) ### Recommendations (5 points) - [ ] Section recommendations/tendances selon authentification ## **FONCTIONNALITÉS SYSTÈME** ### Système d'abonnements (18 points estimés) - [ ] Routes s'abonner/désabonner à une chaîne - [ ] Modèle de données abonnements - [ ] Compteur d'abonnés par chaîne ### Système "J'aime" (10 points estimés) - [ ] Routes aimer/ne plus aimer vidéo - [ ] Modèle de données likes - [ ] Mise à jour compteur likes ### Gestion playlists (25 points estimés) - [ ] Routes créer/supprimer playlists - [ ] Ajout/suppression vidéos dans playlists - [ ] Playlist "À consulter plus tard" par défaut - [ ] Affichage contenu playlist ### Historique utilisateur (10 points estimés) - [ ] Enregistrement automatique vidéos regardées - [ ] Routes consultation historique ### Système recommandations (15 points estimés) - [ ] Algorithme pour utilisateurs authentifiés - [ ] Recommendations mots-clés pour non-authentifiés - [ ] Calcul tendances (interactions récentes) ### Compteurs et statistiques - [ ] Compteur de vues par vidéo - [ ] Mise à jour automatique lors du visionnage - [ ] Statistiques complètes par vidéo et chaîne ## **POINTS CRITIQUES POUR ÉVITER L'AJOURNEMENT** - **Fonctionnalités : 120/200 points minimum** - **Qualité code : 60/100 points minimum** - **Documentation : 30/50 points minimum** - **Déploiement : 30/50 points minimum** ## **AMÉLIORATIONS TECHNIQUES** - [ ] Validation robuste données d'entrée - [ ] Gestion d'erreurs appropriée - [ ] Middleware de sécurité complet - [ ] Tests unitaires (fichiers présents à compléter) - [ ] Architecture REST propre - [ ] Optimisation performances base de données --- **Status actuel estimé : ~102/200 points fonctionnalités** **Objectif prioritaire : Atteindre 120 points minimum**