Historique des mises à jour
0.4.5 — 2026-09-28
Mesure de la vitesse d'affichage : intégration de Vercel Speed Insights (sans cookies) sur les pages de présentation et la page de réservation (/book/établissement). Les identifiants présents dans l'URL (paramètres de liaison LINE, etc.) sont supprimés avant l'envoi. L'outil n'est pas chargé sur la page de confirmation de réservation ni dans l'interface d'administrationPolitique de confidentialité : ajout de Vercel Speed Insights aux transmissions externes (données transmises et pages concernées)0.4.4 — 2026-09-28
Corrections issues de vérifications effectuées sur LINE sur un appareil réel, « du point de vue d'un client japonais ».
Notification d'annulation par l'établissement : la longue URL alphanumérique n'apparaît plus dans le texte et est remplacée par un bouton « Réserver à nouveau ». Les formules de politesse ont été corrigées en « Nous avons dû annuler votre réservation », « Nous ne sommes malheureusement plus en mesure de l'honorer » et « Nous vous prions de bien vouloir nous en excuser ». L'aperçu dans l'interface d'administration correspond désormais à l'affichage réelMessage de confirmation de réservation : « Modifier / Annuler » devient « Annuler (pour changer la date ou l'heure, annulez puis réservez à nouveau) ». Ajout du délai d'annulation (ex. : jusqu'à 24 heures avant) et du numéro de téléphone de l'établissementListe des annulations : la mention « Le délai d'annulation est dépassé » s'affiche sur les fiches des réservations concernées. Les avertissements ont été reformulés de manière plus courtoiseAjout du message « Merci de nous avoir prévenus. Nous serons ravis de vous accueillir lors d'une prochaine réservation. » dans la réponse envoyée après une annulation via LINEUn message de confirmation est également envoyé sur LINE en cas d'annulation depuis la page de confirmation de réservation. L'e-mail adressé au propriétaire indique correctement l'origine de l'annulationÉcran de réservation terminée : ajout de « (TTC) » aux tarifs, masquage des instructions de liaison LINE une fois la réservation terminée, et bouton « Revenir à la conversation » pour les clients venant de LINELes URL ne sont plus incluses dans le texte (altText) affiché dans les notifications LINE et la liste des conversations0.4.3 — 2026-09-28
Analyse d'audience : intégration de Cloudflare Web Analytics (sans cookies) uniquement sur les pages de présentation (accueil, inscription, connexion, conditions d'utilisation, confidentialité, mentions légales, historique des mises à jour, documentation API). L'outil n'est pas chargé sur la page de réservation, la page de confirmation de réservation ni dans l'interface d'administrationPolitique de confidentialité : précision des destinataires, des données transmises et des pages concernées par les transmissions externes (Cloudflare Web Analytics). Ajout de Cloudflare aux sous-traitantsRévision des conditions d'utilisation et de la politique de confidentialité (28 septembre 2026) : précisions sur la mise à disposition des informations des établissements via une API publique et dans un format destiné à l'IA (les informations des clients ayant réservé ne sont pas concernées), la suspension des réservations en cas de déconnexion de Google Agenda, l'utilisation des adresses IP (hachées) pour la prévention des fraudes, ainsi que les e-mails de notification et les rappels. Les établissements seront invités à donner à nouveau leur accord lors de leur prochaine connexion0.4.2 — 2026-09-28
Google Agenda : détection de la perte de connexion (révocation ou expiration côté Google) et envoi d'une notification unique par e-mail au propriétaire. Affichage d'un avertissement en rouge et d'un bouton « Reconnecter » dans l'interface d'administration. Auparavant, la connexion restait affichée comme active, tandis que côté client, toutes les dates apparaissaient en gris et aucune réservation n'était possiblePage de réservation : tant que la connexion à l'agenda est interrompue, le message « Les réservations en ligne sont actuellement suspendues. Veuillez contacter directement l'établissement (numéro de téléphone) » s'affiche (les réservations restent suspendues afin d'éviter les doubles réservations)Page de liaison LINE : correction indiquant que le lien de réservation est bien envoyé même lorsque le message de bienvenue est activé (vérifié sur un appareil réel)BD : migration 0014 (google_tokens.revoked_at). Appliquée en production le 2026-09-280.4.1 — 2026-09-28
Inscription et connexion : ajout, sur l'écran affiché après l'envoi, d'un message indiquant qu'un lien de connexion est envoyé aux adresses déjà enregistrées, d'une aide en cas de non-réception de l'e-mail (dossier des courriers indésirables, paramètres de réception docomo, au et SoftBank) et d'un bouton de renvoi. Ajout également d'une explication pour les adresses déjà enregistrées dans l'e-mail de connexionLorsqu'un lien de connexion est ouvert deux fois, le message affiché est désormais « Ce lien a déjà été utilisé ou a expiré » (auparavant, toujours « Expiré »)Enregistrement des informations de l'établissement : l'URL de la page de réservation est automatiquement convertie même si elle contient des caractères pleine chasse, des majuscules ou des espaces. Une URL est proposée à partir du nom de l'établissement en caractères latins. Les données saisies sont conservées en cas d'erreur. Si l'URL est déjà utilisée, des exemples de modification sont affichés. Les exemples de saisie sont désormais en japonaisTitres de page dédiés pour les pages de connexion et d'enregistrement des informations de l'établissement. Harmonisation de « configuration en 5 minutes » en « 10 minutes » dans la description du site et l'image de partage0.4.0 — 2026-09-28
API publique pour agents IA (lecture seule) : publication du catalogue d'API conforme à la RFC 9727 (/.well-known/api-catalog), de la spécification OpenAPI 3.1 (/openapi.json), de la documentation de l'API (/docs/api) et de /auth.md. Elle permet d'obtenir les menus, les tarifs et les créneaux disponibles des établissements. La confirmation des réservations ne se fait pas via l'API : le client est redirigé vers la page de réservation (l'API de réservation, dépourvue d'authentification, n'est pas publiée)Ajout de api-catalog et service-doc dans l'en-tête Link de la page d'accueil. Ajout de /docs/api au plan du siteSuppression du lien vide (logo) qui apparaissait en tête de la version MarkdownPage d'accueil : couleur de texte plus foncée pour les petites notes, le pied de page et l'indication de version, afin d'atteindre le niveau de contraste WCAG AA (accessibilité Lighthouse : 100). Correction de la hiérarchie des titresVitesse d'affichage : la police à chasse fixe (utilisée uniquement sur l'écran de configuration LINE) n'est plus préchargée sur toutes les pages0.3.0 — 2026-09-28
Intégration LINE : correction d'un problème où un secret chiffré subsistait, notamment lorsque la connexion et la déconnexion se chevauchaient, ce qui faisait ensuite échouer systématiquement la connexion LINE de l'établissement avec le message « Échec de l'enregistrement » (le secret restant est désormais réutilisé pour une récupération automatique). Même correction pour l'intégration GoogleRéservation : correction d'un problème permettant de réserver avec un numéro de téléphone sans chiffres (par ex. « -------- »), enregistré alors comme vide. En cas de numéro incorrect, le message « Veuillez saisir un numéro de téléphone valide (au moins 8 chiffres demi-chasse, 20 caractères maximum) » s'affiche (auparavant, uniquement « Échec de la réservation »)Tableau de bord : correction d'une erreur d'incohérence d'affichage (React #418) survenant à chaque ouverture de l'accueil (réservations) et provoquant un nouveau rendu de l'écran (libellés du graphique sur 14 jours)Accessibilité : les lecteurs d'écran annoncent désormais le créneau horaire sélectionné sur la page de réservation et l'onglet affiché dans le tableau de bordPour les agents IA : en-tête Link sur la page d'accueil (RFC 8288 : sitemap, politique de confidentialité, conditions d'utilisation, version Markdown). Les pages publiques (accueil, conditions, confidentialité, mentions légales commerciales, historique des mises à jour) renvoient leur contenu en Markdown avec Accept: text/markdown (les navigateurs reçoivent toujours du HTML ; /md/ est exclu de l'indexation et doté d'une balise canonical)Tests : ajout de tests E2E (pages publiques, réservation depuis le Web, tous les onglets du tableau de bord). Les tests LINE s'arrêtent désormais dès l'échec de la préparationBD : migration 0013 (correction de set_line_secret / set_google_refresh_token). Appliquée en production le 2026-09-280.2.5 — 2026-09-12
L'e-mail de confirmation envoyé lors de l'inscription est désormais en japonais et aux couleurs de 予約Lite (auparavant, modèle par défaut en anglais). Modèles dans supabase/email-templates/, application via scripts/apply-email-templates.mjsTests : ajout aux tests E2E du parcours de réservation depuis l'application LINE (LIFF) (client LINE simulé avec @line/liff-mock, vérification jusqu'à la validation du jeton d'identification)Tests : ajout de tests automatisés sur l'API LINE Messaging de production (avec le canal de la salle de test : émission de jeton, enregistrement du webhook, vérification de tous les formats de message et envoi réel d'un message). Exécution chaque nuit via GitHub Actions0.2.4 — 2026-09-12
Stripe : même si le service de paiement ne répond temporairement pas, les informations de facturation ne sont plus supprimées ; une erreur s'affiche et l'opération peut être relancée (le client n'est recréé que s'il n'existe réellement pas)Stripe : appuyer plusieurs fois simultanément sur « Mettre à niveau » ne crée plus de client ni de session de paiement en double (clé d'idempotence + contrôle des conflits d'enregistrement)Rappels : ils ne sont plus marqués « envoyés » avant l'envoi, mais enregistrés après la remise. En cas d'interruption pendant le traitement, ils sont renvoyés 15 minutes plus tardRappels : exécution toutes les heures (Vercel à 10 h + GitHub Actions de 11 h à 20 h ; envoi uniquement entre 10 h et 20 h). Les réservations du jour affichent « Votre réservation d'aujourd'hui », et les réservations effectuées après 10 h la veille font aussi l'objet d'un rappel le jour mêmeExploitation : ajout d'une CI (lint / typecheck / test / build). Le secret CRON_SECRET est requis sur GitHub. Les sauvegardes passent au format custom de pg_dump et incluent les autorisations (GRANT). Ajout d'un script pour les répétitions de restaurationDB : appliquer la migration 0012 (bookings.reminder_claimed_at) avant le déploiement0.2.3 — 2026-09-12
Affichage de « Réservation annulée. » après l'annulation d'une réservation (auparavant, l'écran changeait avant l'affichage du message)Ajout d'une image d'aperçu et d'un titre lors du partage d'un lien sur LINE ou les réseaux sociaux. La page de l'établissement affiche le nom de l'établissementMention explicite « TTC » dans l'affichage des prixCorrection d'un problème empêchant l'envoi en production des e-mails de notification au propriétaire (nouvelle réservation, annulation, échec d'envoi LINE)Pour l'exploitation : /api/version renvoie l'état des intégrations (e-mail, Stripe, Google, etc.) (CRON_SECRET requis)0.2.2 — 2026-09-11
Paiement Stripe : configuration de l'enregistrement à la taxe sur la consommation japonaise et affichage de la taxe incluse (10 %) sur les factures du plan ProStripe fonctionne uniquement en mode production (les clés de test génèrent une erreur au démarrage). Suppression des paramètres liés au sandboxPublication de robots.txt et sitemap.xml. Moteurs de recherche et recherche IA autorisés, robots d'entraînement d'IA refusés (Content-Signal)Page relative à la loi sur les transactions commerciales spécifiées : publication du numéro d'enregistrement d'émetteur de factures qualifiées0.2.1 — 2026-09-09
Tableau de bord : planning du jour, éléments à vérifier et saisie de réservation placés en haut, statistiques repliables. Séparation entre « Visites prévues ce mois-ci » et « Réservations reçues ce mois-ci (calcul de la limite) »Envoi d'un lien vers la page de détails de la réservation (consultation et annulation) également aux clients sans LINEL'option « Enregistrer même en dehors des heures d'ouverture » de la saisie manuelle continue d'empêcher les chevauchements avec les autres réservations, les fermetures et les événements GoogleAnnulation et arrêt des réservations exécutés dans une seule transaction. Aucun créneau disponible n'est proposé lorsque les données de fermeture ne peuvent pas être luesPrévention des doubles envois de rappels et renvoi en cas d'échec ; le numéro de téléphone de l'établissement est indiqué pour les annulations après la date limiteAffichage des événements Google dans le calendrier hebdomadaire et des fermetures sur toute la journéeLes e-mails de notification reflètent le résultat réel de l'envoi. Prévention des doublons lors de l'enregistrement des menus et des sessions de paiement Stripe0.2.0 — 2026-09-09
Statistiques sur le tableau de bord : aujourd'hui, cette semaine, ce mois-ci, chiffre d'affaires prévisionnel, taux d'annulation, part des réservations via LINE et taux de réussite des notifications, nouveaux clients/clients réguliers, menus populaires, évolution sur 14 joursPage de réservation : sélection de la date dans un calendrier mensuel (● sur les jours disponibles)Calendrier : affichage hebdomadaire, saisie manuelle des réservations par téléphone et en magasinRappel la veille (LINE), notifications par e-mail des nouvelles réservations et annulations, alerte en cas d'échec de notification LINELes clients peuvent consulter et annuler leur réservation depuis LINE (délai limite modifiable dans les paramètres)Description, catégorie, étiquettes et options (supplément de prix, durée supplémentaire) pour les menusJours de fermeture, arrêt des réservations et interrupteur de suspension temporaire des réservationsModèle de message d'annulation et choix de l'arrêt des réservationsAcceptation explicite des conditions d'utilisation, séparation de l'inscription et de la connexionSécurité : stockage chiffré des secrets (Vault), protection des éléments de facturation, renforcement de la prévention des doubles réservations et des doublonsFiabilité : nouvelles tentatives de synchronisation avec Google Agenda, délais d'expiration des API externes, écran de rechargement en cas d'échec du chargement0.1.0 — 2026-09-07
Première version : page de réservation LINE, intégration Google Agenda, facturation Stripe, interface d'administration