Repository navigation
Release V2
Recherche de livres : Liaison avec la recherche de bibliothèques
La fonctionnalité de recherche de livres a été entièrement repensée pour être directement liée à la fonctionnalité de recherche de bibliothèques existante (Feature 1). Au chargement de la page, la position GPS de l'utilisateur est détectée automatiquement, puis convertie en adresse via l'API gouvernementale api-adresse.data.gouv.fr. Cette adresse est ensuite transmise au backend pour lancer une recherche de bibliothèques IDF dans un rayon de 5 km, exactement comme le fait la page de recherche classique.
- Géolocalisation automatique au chargement de la page sans action utilisateur
- Appel automatique à /api/bibliotheques/recherche avec rayon de 5 km et horaires 00:00–23:59
- Affichage des livres via l'API Google Books (couvertures, résumés, notes, genres, ISBN)
- Badge de disponibilité sur chaque carte livre indiquant les bibliothèques IDF proches qui détiennent le livre
- Chaque badge affiche le nom de la bibliothèque, la distance en km et le statut ouvert/fermé
- Vérification de disponibilité via POST /api/livres/disponibilite en parallèle pour tous les livres sans bloquer l'affichage
- Intégration du service ABES Sudoc (isbn2ppn) pour vérifier la présence d'un livre via son ISBN
- Ajout de l'OpenLibraryAdapter côté backend pour remplacer les anciens adapters mock (ParisDescarteAdapter, SorbonneAdapter) par de vraies données
- Suggestions rapides de recherche par tendances (Romans classiques, Sci-Fi, Philosophie, Manga...)
Page Profil : Refonte complète
La page profil a été entièrement refaite pour offrir une expérience utilisateur enrichie avec affichage des données personnelles et des statistiques d'activité.
- Bannière personnalisable cliquable avec changement de photo via upload fichier, sauvegardée en localStorage
- Avatar personnalisable avec initiale de l'utilisateur ou photo uploadée
- Affichage des statistiques en temps réel : nombre de posts, favoris et avis chargés depuis GET /api/users/me
- Champs enrichis : username, email, ville, date de naissance et bio avec compteur de caractères (500 max)
- Section "Mes bibliothèques favorites" avec liste des favoris et date d'ajout
- Section "Mes avis" avec affichage des notations en étoiles et commentaires
- Section "Mes publications" avec liste des posts du feed social
- Formulaire de modification du profil avec mise à jour via PUT /api/users/me
- Changement de mot de passe avec vérification de correspondance via PUT /api/users/me/password
- Suppression de compte sécurisée avec modale de confirmation avant suppression définitive via DELETE /api/users/me
Page Favoris : Nouvelle page
Ajout d'une page dédiée à la gestion des bibliothèques favorites de l'utilisateur, accessible depuis la navigation principale.
- Chargement automatique des favoris au chargement de la page via GET /api/favoris
- Carte par bibliothèque avec nom, adresse, type (universitaire/publique) et date d'ajout
- Note personnelle libre par favori, sauvegardée en localStorage
- Suppression individuelle d'un favori avec confirmation via DELETE /api/favoris/{id}
- Message d'état vide avec lien direct vers la page de recherche pour ajouter de nouveaux favoris
Page Feed Social : Enrichissement
La page feed social a été enrichie avec un système complet d'interactions sociales.
- Bannière de bienvenue personnalisée avec initiale et username de l'utilisateur connecté
- Zone de rédaction de post avec compteur de caractères (1000 max) et publication via FeedAPI.createPost()
- Système de 5 réactions : 👍 J'aime, ❤️ Adorer, 😂 Haha, 😮 Wouah, 😢 Triste avec picker interactif
- Résumé des réactions les plus utilisées affiché sur chaque post
- Section commentaires masquée par défaut, s'ouvre au clic avec formulaire d'ajout
- Réponses imbriquées aux commentaires avec sous-formulaire dédié
- Système de repost avec modale permettant d'ajouter un commentaire optionnel
- Affichage du post original embarqué dans le repost
- Dates intelligentes : "À l'instant", "Il y a 5 min", "Il y a 2 h" ou date complète
Page Sessions de révision : Enrichissement
La page sessions a été enrichie avec un tableau de bord visuel et un système de suivi de progression.
- 3 statistiques rapides en haut de page : sessions cette semaine, minutes travaillées, jours consécutifs (streak) via GET /api/sessions/statistiques/hebdo
- Cercle de progression hebdomadaire en SVG animé avec objectif de 5h/semaine
- Barres de distribution du temps par jour de la semaine sur les 7 derniers jours
- Affichage de la dernière session complétée avec objectif, durée et date
- Minuteur actif en HH:MM:SS avec barre de progression en temps réel
- Boutons pause, reprendre et terminer avec sauvegarde automatique du temps via PUT /api/sessions/{id}/temps
- Historique des sessions complétées avec durée formatée (ex : 1h 30min) et suppression individuelle