[1.3.0]
2026-02-22
Added
- Admin — Sauvegarde / restauration
- Dans les paramètres admin, il est possible d'exporter les données clés (événements, titres, fondateurs, projets) en un seul fichier JSON. Un import optionnel permet de restaurer ou de cloner : choisir un fichier de sauvegarde exporté précédemment pour remplacer les données actuelles sur cette instance ou l’importer sur une autre.
- Flux RSS (feed.xml, feed-events.xml, feed-releases.xml)
- Nouveaux flux RSS : feed.xml liste les dernières sorties et les événements à venir ; feed-events.xml liste uniquement les événements à venir ; feed-releases.xml liste uniquement les dernières sorties. Chaque entrée comporte un titre, un lien, une date et une courte description. Les visiteurs peuvent s’abonner à un ou plusieurs flux dans leur lecteur de flux.
- Page événement — Partager l'événement
- Section « Partager l'événement » en bas de la page événement (sous s'inscrire / rejoindre) : bouton Copier le lien + liens partage Twitter et Facebook. Twitter s'ouvre avec un texte pré-rempli (nom de l'événement) et l'URL ; Facebook utilise l'URL de l'événement (Open Graph fournit titre et description). Section rendue compacte au centre de la carte événement.
- Easter egg
- Un Easter egg a été ajouté quelque part sur le site. Sauras-tu le trouver ?
- Page d'erreur 404 personnalisée
- Une page dédiée « Page introuvable » s'affiche lorsqu'un visiteur ouvre un lien qui n'existe pas. La page est disponible en français et en anglais, reprend la mise en page et les styles du site, et propose un lien vers l'accueil. Sous Apache elle est utilisée automatiquement pour les pages manquantes ; avec le serveur PHP intégré (ex. en local), le routeur sert cette page pour les URLs HTML inexistantes.
- Compte — Export et suppression
- Sur la page compte, une nouvelle section « Vos données et confidentialité » permet de télécharger une copie de vos données de compte et de vos inscriptions aux événements (portabilité des données type RGPD). Format JSON ou ZIP au choix.
- Suppression de compte en autonomie : vous pouvez supprimer définitivement votre compte et toutes vos inscriptions aux événements depuis la même page. Vous devez saisir votre mot de passe actuel pour confirmer ; un second message de confirmation précise que l’action est irréversible.
[1.1.0]
2026-02-21
Added
- Admin — Statistiques du site (Umami)
- Les statistiques sont mises en cache pendant deux minutes pour que le tableau de bord s’affiche rapidement lorsque vous le rouvrez. Si le service d’analytics est temporairement indisponible, le tableau de bord continue d’afficher les dernières valeurs connues au lieu de chiffres vides.
- Les visiteurs en direct sont affichés sous la forme « x en ligne » avec un point vert, placé sous la section des principales sources.
- Le tableau de bord affiche désormais les principaux pays et les principales sources (référents). Le taux de rebond a été retiré.
- Admin — Mode maintenance
- Dans les paramètres admin, vous pouvez activer le mode maintenance. Lorsqu'il est activé, toutes les pages du site et l'espace utilisateur (accueil, compte, événements, changelog, etc.) affichent un message « Maintenance en cours ». L'admin reste accessible pour désactiver le mode à tout moment.
- Admin — Mise à jour du site
- Dans les paramètres admin, vous pouvez envoyer un fichier ZIP pour mettre à jour le site. L'archive peut contenir les fichiers HTML à la racine et les dossiers css, js et locales. Le mode maintenance est activé pendant la mise à jour puis désactivé à la fin. Seuls les fichiers modifiés sont écrits ; les fichiers qui figuraient dans une mise à jour précédente mais ne sont plus dans le ZIP sont supprimés.
- Sécurité
- reCAPTCHA invisible sur la connexion admin lorsque config/recaptcha.php est configuré (mêmes clés que l’inscription).
- reCAPTCHA invisible sur la connexion utilisateur lorsque la config est définie ; le jeton est vérifié dans api/user_login.php avant les identifiants.
- Changelog (page)
- Barre de navigation verticale à gauche listant les versions et leur date ; un clic sur une version fait défiler la page jusqu'à la section correspondante. La barre est masquée sur petit écran.
- Carrousel Sorties
- Boutons reculer et avancer autour du play : recul de 15 secondes (symbole backward) et avance de 30 secondes (symbole fast-forward). Les boutons ont un contour sans fond et n’apparaissent que lorsque la piste est en lecture.
- Page événement — Ajouter au calendrier (.ics)
- Bouton « Ajouter au calendrier (.ics) » sur la page détail d'un événement. Un clic télécharge un fichier .ics (nom, dates, lieu, description) pour l'événement. Le fichier est généré dans le navigateur ; aucun backend ni envoi d'email n'est nécessaire.
- Liste des événements et admin — Événements passés
- Admin événements : une seconde section « Événements passés » sous « Événements créés » ; les événements sont répartis en à venir et passés (selon la date de fin ou de début). Modifier et supprimer restent disponibles dans les deux listes.
- Nouvelle page events.html listant tous les événements en deux blocs : « Événements à venir » et « Événements passés », avec des liens vers la page détail de chaque événement.
Changed
- Admin
- La déconnexion redirige vers l’accueil (index.html) au lieu de la page de connexion.
Fixed
- Accueil (Sorties, Projets, Fondateurs)
- Lors de rares rechargements, le contenu des sections Sorties, Projets et Fondateurs pouvait rester vide et seuls les titres s'affichaient. Le chargement des données d'accueil s'exécute maintenant sur plusieurs déclencheurs (traductions prêtes, chargement de la page) pour ne pas rater l'événement, et chaque section a un repli après un court délai pour charger ses données individuellement si les données partagées n'arrivent pas.
Removed
- (Aucune entrée pour l'instant.)
[1.0.0]
2025-02-21
Added
- Head / meta
- Le contenu commun de l’en-tête (charset, viewport, favicon, polices, CSS commun) est centralisé dans un fichier partagé. Toutes les pages l’utilisent pour que les changements de meta ou de styles de base se fassent à un seul endroit.
- Événements
- Dans l’admin : une page dédiée pour créer et gérer les événements (nom, date de début et fin, lieu, description, prérequis). Chaque événement a une adresse web simple basée sur son nom.
- Les descriptions et prérequis peuvent être rédigés dans une langue et sont traduits automatiquement dans l'autre ; la page publique affiche le texte dans la langue du visiteur.
- Page événement publique : les visiteurs voient les détails (nom, dates, lieu, description, prérequis). Depuis la liste admin, un lien permet de prévisualiser la page.
- Admin — Événements
- Champs personnalisés : lors de la création ou de l'édition d'un événement, vous pouvez ajouter des champs (libellé uniquement ; tous sont obligatoires). Les participants doivent les remplir pour s'inscrire ; les réponses sont enregistrées dans customData de l'inscription.
- La liste des événements affiche le nombre de participants par événement (ex. « 1 participant · Voir la page »). Le bouton « + Ajouter un champ » a le même style que le bouton d'envoi principal ; le bouton supprimer est aligné dans les lignes de champs.
- Services
- Nouvelle section sur l'accueil (entre Fondateurs et Contact) : titre, intro, grille tarifaire (mixage, mastering, composition, coaching, site/EPK), mention indicative, bouton « Envoyer votre demande » vers l'adresse de contact.
- Contact & Booking
- Nouvelle section sur l'accueil : Contact (texte + contact@musicwetrust.com) et Booking (texte + booking@musicwetrust.com). Les liens ouvrent le logiciel de messagerie.
- Menu principal
- Menu fixe en haut de l'accueil : logo (clic pour remonter) et liens vers Sorties, Projets, Fondateurs, Contact et la page Changelog.
- Changelog
- Cette liste des changements.
- Pied de page
- Chaque page a un pied de page avec le copyright « © Music We Trust. All Rights Reserved. » et les liens Sitemap, Politique de confidentialité, Changelog et Mentions légales.
- Sitemap
- Nouvelle page Sitemap listant les pages principales du site (Accueil, Changelog, Politique de confidentialité, Mentions légales).
- Politique de confidentialité
- Nouvelle page expliquant comment nous traitons les données (pas d'usage commercial, stockage local et cookies, contact). Date « Dernière mise à jour » et sections claires (responsable, hébergement, données collectées, vos droits, sécurité, etc.).
- Mentions légales
- Nouvelle page Mentions légales (éditeur, hébergeur, conditions d'utilisation, propriété intellectuelle).
- Admin — Titres
- Page pour ajouter et gérer les titres : upload pochette, MP3, nom du titre, artiste, lien Spotify. Liste des titres avec suppression et réordonnancement.
- Chaque titre peut être modifié (« Modifier ») pour changer ou ajouter le MP3, l'image, le titre, l'artiste ou le lien Spotify. Un avertissement s'affiche si un titre est enregistré sans MP3.
- Les images uploadées sont redimensionnées et compressées automatiquement pour garder le site rapide.
- Glisser-déposer des titres pour changer l'ordre ; le même ordre s'affiche sur le carrousel de l'accueil.
- Sorties (lecteur)
- Sur l'accueil, une section sous la bannière affiche vos titres en cartes avec pochette. Chaque carte a play/pause, précédent/suivant et un lien Spotify.
- Barre de progression cliquable pour voir la lecture et sauter à un moment du titre ; elle se réinitialise à la fin du titre ou au changement de carte.
- Volume de lecture réglé à un niveau confortable.
- Hero (bannière principale)
- Vidéo plein écran avec le logo Music We Trust et le texte « Collectif d'artistes ». Court texte « À propos » dans une bannière semi-transparente, et bouton « Découvrir » avec une petite flèche qui fait défiler vers les sorties.
- Français et anglais
- Le site est disponible en français et en anglais. La langue peut être changée via un bouton (en haut à droite) ou l'URL ; le site mémorise le choix. La langue du navigateur peut être détectée automatiquement.
- Fondateurs
- Section sur l'accueil : une carte par fondateur/artiste avec photo, nom, courte bio et lien « Site web ».
- Dans l'admin : ajouter, modifier, supprimer et réordonner les fondateurs (photo, nom, bio, site). Les données sont enregistrées sur le serveur.
- Projets
- Section sur l'accueil (au-dessus des fondateurs) : cartes par projet avec titre, logo, description, contenu intégré optionnel (ex. vidéo) et lien.
- Dans l'admin : une page pour ajouter, modifier, supprimer et réordonner les projets (titre, logo, description, contenu intégré, lien).
- Option pour afficher automatiquement la dernière vidéo YouTube d'une chaîne : cocher une case et saisir l'ID de la chaîne ; l'accueil affiche alors cette vidéo.
- Admin — Fichiers
- Quand vous remplacez une pochette ou un MP3 pour un titre, projet ou fondateur, l'ancien fichier est supprimé. Quand vous supprimez un titre, sa pochette et son MP3 sont retirés du serveur ; idem pour les images fondateurs ou projets.
- Espace utilisateur
- Les visiteurs peuvent s'inscrire (nom d'utilisateur, mot de passe, confirmation et contrôle de sécurité) et se connecter ou se déconnecter.
- Page compte : voir les événements auxquels vous êtes inscrit, annuler une inscription ou changer votre mot de passe. Si vous n'êtes pas connecté, vous êtes redirigé vers la page de connexion.
- Sur chaque page événement, un bouton « Rejoindre » : si non connecté, vous êtes envoyé vers la connexion puis revenez à l'événement ; si connecté, vous pouvez rejoindre ou quitter l'événement.
- Un bouton flottant « Mon compte » permet d'accéder à la page compte.
- Vitesse (tout le site)
- Toutes les pages chargent désormais les scripts en différé et ne bloquent plus l'analyse du HTML avec un script dans l'en-tête ; le même principe s'applique au changelog, aux pages événement, compte, mentions légales, confidentialité, plan du site et admin.
- Les polices sont chargées en asynchrone sur toutes les pages (preload + onload) pour ne plus bloquer l'affichage ; un fallback noscript conserve les polices si JavaScript est désactivé.
- Vitesse (page d'accueil)
- Les scripts de la page d'accueil se chargent en différé pour afficher le contenu plus tôt ; la vidéo du bandeau utilise un préchargement plus léger pour une page interactive plus rapide.
- Le menu fixe ne recalcule plus à chaque défilement ; les mises à jour sont limitées pour un défilement plus fluide.
- Les pochettes des sorties ne se chargent que lorsqu'elles entrent à l'écran, et les images des projets et fondateurs sont chargées en paresse, ce qui réduit le temps de chargement initial.
- Le logo principal du bandeau est indiqué comme prioritaire pour un chargement plus précoce et une meilleure perception de vitesse.
- SEO
- Chaque page principale a désormais une courte description pour les moteurs de recherche, en français ou en anglais selon la langue du visiteur. Les pages événement utilisent la description de l'événement lorsqu'elle est disponible.
- Les balises Open Graph et Twitter Card sont renseignées pour que les liens partagés sur les réseaux sociaux affichent le bon titre, la description et l'image. Une image dédiée au partage peut être définie via data-og-image sur le body (ex. assets/og-image.png) ; sinon le logo est utilisé.
- Une URL canonique et des variantes de langue (français/anglais) sont définies pour aider les moteurs de recherche et éviter le contenu dupliqué.
- Données structurées (JSON-LD) : l'accueil inclut Organization et WebSite ; les pages événement injectent un schéma Event avec nom, dates, lieu et description.
- Un fichier robots.txt autorise les crawlers et pointe vers un plan du site. Un sitemap dynamique liste les pages statiques et toutes les pages événement.
- Les pages d'administration sont marquées pour ne pas être indexées par les moteurs de recherche.
- Les images principales ont désormais un texte alternatif pertinent (logo via i18n ; images fondateurs et projets avec le nom de la personne ou du projet) pour l'accessibilité et la recherche d'images.
- Admin — Statistiques du site (Umami)
- Umami (analytics respectueux de la vie privée, open source) est intégré sur les pages publiques pour mesurer l'audience du site.
- Le tableau de bord admin affiche une section « Trafic du site (Umami) » avec les visiteurs, pages vues et sessions sur les 28 derniers jours. Il faut configurer une URL API Umami, l'ID du site et l'authentification (token ou identifiants) dans la config pour afficher ces chiffres ; sinon la section affiche des tirets et éventuellement un message d'erreur.
- Mobile (page d'accueil)
- Sur petit écran, le menu du haut est remplacé par un bouton burger. Un tap ouvre un menu plein écran avec les liens Sorties, Projets, Fondateurs, Services et Contact. Le menu se ferme en tapant un lien, le logo, la touche Échap ou à nouveau le burger.
- Le carrousel des sorties affiche les flèches précédent/suivant sur mobile lorsqu'il y a plus d'un titre, et sur tablette/ordinateur lorsqu'il y a plus de quatre titres.
- Les sections Projets et Fondateurs s'affichent en colonne sur mobile : les cartes projets et fondateurs sont les unes sous les autres au lieu d'être sur une seule ligne.
- Sécurité
- Les cookies de session sont configurés avec HttpOnly, SameSite et Secure (en HTTPS) pour limiter le vol de session.
- L'identifiant de session est régénéré après chaque connexion réussie (admin et utilisateur) pour éviter la fixation de session.
- Envoi d'en-têtes de sécurité (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) lorsque le serveur PHP intégré est utilisé.
- Limitation du nombre de tentatives (rate limiting) sur la connexion admin, la connexion utilisateur et l'inscription pour limiter les abus et attaques par force brute.
- Protection CSRF : les requêtes qui modifient des données (admin et utilisateur) exigent un jeton obtenu au chargement de la page.
- Les mots de passe sont stockés sous forme de hachages sécurisés et ne sont jamais conservés en clair.