Retour

Changelog

Historique des versions de Réveillon Photographie

Version 1.5
Mars 2026

Statistiques globales, lightbox enrichie & mode exposition

Nouveautés

  • Statistiques globales — Supabase — vues et likes agrégés de tous les visiteurs, stockés en base de données PostgreSQL. Compteurs visibles directement dans la lightbox.
  • Bouton Like global — ♡ / ♥ dans la lightbox, partagé entre tous les visiteurs (1 like max par photo par navigateur). Décrémentable.
  • Classement global dans Paramètres → Statistiques — top 10 des photos les plus vues et les plus likées par l'ensemble des visiteurs, avec médailles 🥇🥈🥉.
  • Mode Exposition — fond noir total, navigation et footer masqués, pour consulter la galerie sans distraction. Toggle dans Paramètres → Apparence. Bouton flottant "Quitter l'exposition".
  • Zoom dans la lightbox — molette desktop (×1 à ×4), centré sur le curseur. Pinch à deux doigts sur mobile. Drag quand zoomé. Double-clic pour reset.
  • Téléchargement watermarqué — bouton ↓ dans la lightbox (raccourci D), génère un JPEG avec watermark © Réveillon Photographie via Canvas API.
  • EXIF détaillé — ouverture, vitesse, ISO affichés en 3 cartes visuelles dans la lightbox, parsés depuis data-settings.
  • Anti double-like par appareil — système device_id UUID unique persisté en localStorage, vérifié côté base de données via la table likes_log. Vider le cache ne permet plus de reliker.
  • Fusion Favoris → Likes — le bouton ♡ sur les vignettes et dans la lightbox est désormais unifié. Les likes locaux sont synchronisés avec Supabase. L'onglet "Favoris" dans les Paramètres devient "Likes" et affiche les photos likées.
  • Commentaires — section dans la lightbox pour lire et poster un commentaire (prénom + message), stockés dans Supabase. Modération par champ approved.
  • Visiteurs en ligne — compteur en temps réel dans Paramètres → Statistiques, basé sur un heartbeat Supabase toutes les 60 secondes. Nettoyage automatique des sessions inactives.
  • Photo du jour — badge ★ Photo du jour affiché automatiquement sur la photo la plus likée du portfolio.
  • Filtres avancés — ligne de tri dans la galerie (Récentes / Plus vues / Plus likées via Supabase) + filtre par appareil photo extrait automatiquement des métadonnées.
  • Partage amélioré — modal dédié avec options Copier le lien, X/Twitter et Instagram (copie le lien + instruction story).

Améliorations

  • OpenDyslexic en chargement paresseux — la CSS (~200 KB) n'est plus chargée à chaque page, uniquement injectée si le setting est activé.
  • Bouton hamburger<div> remplacé par un vrai <button> sur toutes les pages (accessibilité clavier native).
  • Twitter Cards — balises twitter:card ajoutées sur toutes les pages (index, portfolio, à propos, contact).
  • Preload LCP<link rel="preload"> sur l'image above-the-fold de portfolio.html et a_propos.html.
  • i18n persisté dans l'URL — changement de langue écrit ?lang=en dans l'URL via history.replaceState, lisible à l'ouverture d'un lien partagé.
  • Changelog dans le footer — lien direct vers changelog.html dans la navigation du bas de page.
  • robots.txt — référence au sitemap.xml ajoutée (Sitemap: directive).
  • Formulaire contact — soumission interceptée en fetch(), toast de succès/erreur sans redirection Formspree.
  • :focus-visible — styles de focus clavier ajoutés sur .social-link, .filter-btn, .btn-cta, .previous-card-btn.
  • Select contact — option placeholder avec disabled selected pour forcer un choix réel.

Corrections

  • .btn-primary — règle de base manquante (background, color, border), uniquement le :hover existait.
  • Zoom reset automatiquement à la fermeture de la lightbox.
  • Race condition sur les incréments de vues/likes — opérations atomiques côté PostgreSQL via fonctions RPC.
  • Bug vues ×2 — l'affichage ajoutait +1 manuellement en JS alors que la BDD avait déjà incrémenté, résultat : compteur affiché en double.
  • Bug navigation rapide — les callbacks async d'une ancienne photo pouvaient écraser les compteurs de la photo courante (guard __currentPhotoSlug ajouté).
  • Compteurs figés — les stats de la photo précédente restaient affichées pendant le chargement de la suivante ; reset immédiat à à chaque ouverture.
  • Double-like après vidage du cache — l'état liké était lu depuis le localStorage uniquement ; désormais vérifié en priorité depuis Supabase (has_liked).
  • Like décrémentait les vues — le bouton like déclenchait un fetchStats qui écrasait le compteur de vues avec une valeur stale.
SUPABASE LIKES COMMENTAIRES VISITEURS FILTRES LIGHTBOX GALERIE ACCESSIBILITÉ SEO BUGFIX
Version 1.4.2
Mars 2026

Lightbox, i18n & corrections

Nouveautés

  • Slideshow — défilement automatique dans la lightbox (bouton play/pause + raccourci Espace)
  • Copier le lien d'une photo — bouton dans la lightbox, raccourci C
  • Mode anglais — traduction complète de l'interface via Paramètres → Langue
  • Animation d'ouverture des paramètres (pop-in élastique + fermeture)
  • Tri de la galerie dans Paramètres → Galerie (par défaut, plus récent, A→Z)
  • Historique terminal persistant — sauvegardé en localStorage, commande history
  • Commande photo random dans le terminal

Corrections

  • Bouton plein écran de la lightbox non fonctionnel (aucun listener click)
  • Slideshow bloqué à une photo (navigateLightbox appelait stopSlideshow)
  • Barre de recherche repositionnée sous les filtres
  • Descriptions de catégorie masquées pendant la recherche
LIGHTBOX TERMINAL I18N GALERIE BUGFIX
Version 1.4.1
Fév. 2026

Terminal, paramètres & favoris

Nouveautés

  • Terminal secret — débloqué par le mot-clé « reveillon » ou 7 taps sur le logo, persistant entre sessions
  • Panneau Favoris — sauvegarde de photos localement
  • Panneau Partage — partage natif, copie lien, réseaux sociaux
  • Barre de recherche dans la galerie (titre, lieu, tags, description)
  • Fullscreen lightbox — bouton et raccourci F
  • Icônes SVG sur tous les liens sociaux du footer
  • Refonte de l'organisation du portfolio (descriptions par catégorie)
  • Amélioration de la barre de recherche du portfolio

Corrections

  • Accessibilité des liens imbriqués dans « Mes Sites Précédents »
  • Débordement email dans le footer sur mobile
  • Suppression du délai de transition de page
TERMINAL FAVORIS RECHERCHE LIGHTBOX
Version 1.4.0
Jan. 2026

Paramètres & accessibilité

Nouveautés

  • Modale Paramètres — 12 panneaux (Apparence, Accessibilité, Galerie, Interactions, Langue, Notifications, Raccourcis, Statistiques, Impression, Confidentialité, À propos, Terminal)
  • Thème clair/sombre avec toggle animé
  • Options d'accessibilité — police dyslexique, texte agrandi, contraste renforcé, réduction animations
  • Parallaxe sur les cartes de la galerie
  • Statistiques locales de visite
  • Mode impression configurable
PARAMÈTRES A11Y THÈME
Version 1.3
Déc. 2025

SEO & performances

Optimisations

  • Chargement non-bloquant des polices Google Fonts
  • Préchargement LCP avec fetchpriority="high"
  • Intégration Umami Analytics (vie privée)
  • Schéma LocalBusiness JSON-LD avec coordonnées GPS
  • Twitter Card, Open Graph complets
  • Obfuscation de l'adresse email
  • Fichier llms.txt et .htaccess IONOS optimisé
  • GZIP, cache HTTP, headers de sécurité
  • Lazy loading avec IntersectionObserver
  • Système de préchargement images en trois niveaux
SEO PERFORMANCE SÉCURITÉ
v1.0 – 1.2
Nov. 2025

Fondations du site

Mise en place initiale

  • Structure multi-pages — Accueil, Portfolio, À propos, Contact
  • Lightbox avec navigation clavier, swipe mobile, métadonnées EXIF
  • Filtres de galerie par catégorie avec animations
  • Header avec animation shrink au scroll
  • Menu hamburger mobile
  • Preloader animé R·P
  • Animations scroll reveal (IntersectionObserver)
  • Transitions de page (voile bordeaux)
  • Page 404 personnalisée
  • Identité visuelle — Cormorant Garamond + Montserrat, palette bordeaux
FONDATIONS GALERIE MOBILE