# 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) - 27/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) - [x] Visibilité publique/privée (5 points) - [x] Génération lien partageable (5 points) - via slug système ### Gestion vidéos existantes (15 points) - 10/15 points - [x] Éditer une vidéo existante (5 points) - [x] Changer la visibilité (5 points) - [x] Supprimer une vidéo (5 points) ### Statistiques (10 points) - 5/10 points - [x] Statistiques par vidéo (vues, likes, commentaires) (5 points) - [ ] Statistiques globales de la chaîne (5 points) ## **RECHERCHE ET NAVIGATION** (20 points) ✅ ### Système de recherche (20 points) - 20/20 points ✅ - [x] Recherche par titre de vidéo (8 points) - [x] Recherche par chaîne (8 points) - [x] Interface de recherche fonctionnelle (4 points) ## **PAGE ACCUEIL** (30 points) - 10/30 points ### Utilisateur authentifié (15 points) - 5/15 points - [x] Section Tendances (contenu avec plus d'interactions récentes) (5 points) - [ ] Section Recommendations (contenu similaire non vu) (5 points) - [ ] Section "À consulter plus tard" (5 points) ### Utilisateur non-authentifié (15 points) - 5/15 points - [x] Section Tendances (5 points) - [ ] Section Recommendations (3 mots-clefs les plus utilisés) (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) - 5/15 points - [ ] Historique des vidéos regardées (10 points) - [x] Gestion et liste des playlists (5 points) ## **PAGE PLAYLIST** (10 points) - 8/10 points ✅ - [x] Affichage nom playlist et vidéos (4 points) - [x] Tri par date d'ajout (2 points) - [x] Navigation depuis page utilisateur (2 points) - [ ] Interface utilisateur complète (2 points) ## **PAGE VIDÉO** (50 points) - 27/50 points ### Lecteur vidéo (20 points) - 10/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) - 12/20 points - [x] Titre de la vidéo (2 points) - [x] Description (2 points) - [x] Nom de la chaîne (2 points) - [x] Compteur "J'aime" (2 points) - [x] Compteur vues (2 points) - [x] Bouton "J'aime" (2 points) - [ ] Compteur abonnés (2 points) - [ ] Bouton "S'abonner" (6 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 (5 points) ## **FONCTIONNALITÉS SYSTÈME** ### Système de playlists (15 points) ✅ - [x] Routes créer/gérer playlists (8 points) - [x] Ajouter/retirer vidéos des playlists (4 points) - [x] Playlist "À regarder plus tard" automatique (3 points) ### Système "J'aime" (10 points) ✅ - [x] Routes like/unlike vidéo (5 points) - [x] Compteur de likes par vidéo (3 points) - [x] Interface utilisateur (2 points) ### Système d'abonnements (18 points estimés) - [ ] Routes s'abonner/désabonner à une chaîne (8 points) - [ ] Modèle de données abonnements (5 points) - [ ] Compteur d'abonnés par chaîne (5 points) ### Système de tags/mots-clefs (8 points estimés) - [ ] Modèle de données tags (3 points) - [ ] Association vidéos-tags (3 points) - [ ] Interface gestion tags (2 points) ## **SÉCURITÉ ET MIDDLEWARE** ✅ - [x] Middleware d'authentification JWT - [x] Validation des données d'entrée - [x] Gestion des erreurs - [x] Upload sécurisé de fichiers - [x] Logging des actions ## **INFRASTRUCTURE** ✅ - [x] Configuration Docker - [x] Base de données PostgreSQL - [x] Serveur de fichiers médias - [x] Tests unitaires --- ## **SCORE ESTIMÉ** **Backend: ~127/183 points (69%)** **Points prioritaires manquants:** - OAuth2 (10 points) - Système d'abonnements (18 points) - Tags/mots-clefs (8 points) - Statistiques globales chaîne (5 points) - Contrôles lecteur vidéo (10 points)