rentoo

Journal des chantiers

Une section par chantier, la plus récente en bas : ce qui change pour l’utilisateur, les fichiers et tests concernés, et les réglages à faire. La documentation à jour est dans docs/ (point d’entrée : docs/README.md). Le journal complet avant le 13/10/2026 est archivé dans docs/archives/AMELIORATIONS-jusqu-au-12-10-2026.md.

Lot 10 · frise de la Fiscalité

Réglages à faire : aucun. Publier la mise à jour (OTA).

Lot 10 · rubriques épinglées dans le menu

Réglages à faire : exécuter 046_rubriques_menu.sql (rejouable), puis publier la mise à jour (OTA).

Fiabilisation · file des écritures en arrière-plan

Réglages à faire : aucun. Publier la mise à jour (OTA).

Lot 10 · tableau d’amortissement de la banque

Réglages à faire : exécuter 047_tableau_amortissement.sql (rejouable), redéployer la fonction copilot, puis publier la mise à jour (OTA). Sans le script, les montants sont quand même enregistrés (sans le badge « Tableau banque ») et le document reste rangé dans Documents.

Abonnement · la formule s’active au retour du paiement

Symptôme : le paiement passait chez Stripe, mais au retour dans Rentoo rien ne s’activait. L’application attendait uniquement le message de Stripe à la fonction billing (webhook). S’il n’arrivait pas, ou s’il était refusé (secret mal copié, prix inconnu), rien ne se passait, sans aucun message.

Réglages à faire : redéployer la fonction billing (npm run deployer s’en charge), puis publier la mise à jour (OTA). Aucun nouveau secret. Si le problème persiste, vérifiez dans Stripe (Développeurs › Webhooks) le code de réponse des derniers envois : 400 = secret du webhook, 503 = BILLING_SECRET, 422 = prix STRIPE_PRICE_*.

Fiabilisation · dates à l’heure de Paris

Réglages à faire : redéployer la fonction location, puis publier la mise à jour (OTA).

Fiabilisation · erreurs qui ne passent plus inaperçues

Réglages à faire : aucun. Publier la mise à jour (OTA).

Fiabilisation · scripts SQL suivis par la CLI Supabase, projet de recette

Réglages à faire : une fois, npm run deployer -- -Migrations (mot de passe de la base demandé par la CLI). Pour une recette : créer un second projet Supabase, puis npm run deployer -- -Projet <identifiant> -Migrations en répondant 000 (projet neuf : rien n’est marqué), et npm run deployer -- -Projet <identifiant> qui exécute tous les scripts et déploie les fonctions. Attention : la préparation -Migrations vaut pour le dossier ; repassez npm run deployer -- -Migrations sur le projet de production avant le déploiement suivant en production.

Données personnelles · ce qui part vers Roo

Relevé en rédigeant la nouvelle documentation :

Réglages à faire : redéployer la fonction copilot, puis publier la mise à jour (OTA).

Documentation · repartir d’une base propre

Réglages à faire : redéployer location, send-receipt et billing (messages mis à jour), puis publier la mise à jour (OTA).

Fiabilisation · tests de parcours dans le dépôt, vérification sur GitHub

Réglages à faire : pousser le dépôt sur GitHub pour activer la vérification. Rien à faire dans Supabase.

Fiabilisation · mise en ligne automatique depuis GitHub

Réglages à faire : environnements recette et production (avec approbation), six secrets, puis la variable MISE_EN_LIGNE_PRODUCTION. Voir docs/deploiement.md.

Fiabilisation · production lancée à la main

Réglages à faire : aucun.

Fiabilisation · tests de nuit verts sur GitHub

Réglages à faire : aucun.

Mise en ligne · message clair quand le mot de passe de la base est refusé

Réglages à faire : mettre le bon mot de passe dans le secret PRODUCTION_DB_PASSWORD.

Mise en ligne · lecture de l’état des scripts SQL, mise à jour des téléphones

Réglages à faire : aucun.

Agents · étape 1 : qualité et livraison

Réglages à faire : créer les trois routines sur claude.ai/code/routines (consignes à copier dans docs/agents.md). Rien dans Supabase.

Agents · étape 2 : produit et veille

Réglages à faire : modifier la consigne de la routine « Relecture des demandes de fusion », créer l’environnement « Veille » et les routines 4 et 5 (docs/agents.md).

Agents · étape 3 : usage réel, documentation, coordination

Réglages à faire : modifier la consigne de la routine « Relecture des demandes de fusion », créer les routines 6, 7 et 8 (docs/agents.md).

Fiabilisation · version du serveur GitHub fixée

Réglage à faire : aucun.

Accueil · même grammaire que les autres rubriques (maquette du 12/10)

Réglage à faire : aucun (ni script SQL, ni fonction à redéployer). Mise à jour à distance possible : pas de nouveau module natif.

Mises à jour à distance · plus de « Redémarrer » à chaque ouverture

Réglage à faire : aucun. Le changement part par une mise à jour à distance ; c’est la dernière fois que le bandeau apparaîtra (l’ancienne version l’affiche encore une fois pour installer celle-ci).

Téléphone · plus de bouton coupé avec le texte agrandi

Réglage à faire : aucun. Mise à jour à distance possible (pas de nouveau module natif).

Pages légales · confidentialité et mentions légales sur le site

Réglage à faire : aucun. Les pages partent avec la prochaine mise en ligne de la version web.

UX étape 1 · action principale toujours au même endroit, brouillons, 44 px, Biens en tableau

D’après les maquettes validées le 16/10 (canevas « Rentoo · UX étape 1 »).

Réglage à faire : aucun. Mise à jour à distance possible (pas de nouveau module natif).

UX étape 2 · « Valider ma semaine »

D’après les maquettes validées le 17/10 (canevas « Rentoo · UX (étapes 1 et 2) »).

Réglage à faire : aucun. Mise à jour à distance possible (pas de nouveau module natif).

UX étape 3 · la fiche du bien au centre de tout

Réglages à faire : aucun (pas de script SQL, pas de fonction à redéployer). Publier la mise à jour (OTA).

UX étape 3 · retour de Pierre-Louis sur la barre du téléphone

Réglages à faire : aucun. Publier la mise à jour (OTA).

UX étape 4 · « Photo d’abord » pour ajouter un document (branche feat/photo-first-document-intake)

Réglages à faire : exécuter 048_empreinte_documents.sql (rejouable ; sans lui, le document est enregistré sans empreinte et les doublons ne sont pas repérés, sans message d’erreur). Pas de fonction à redéployer. Publier la mise à jour (OTA) après fusion.

Recette complète : un second Rentoo pour tester avant la production

Réglages à faire : clé de signature Android de fr.rentoo.app.recette sur expo.dev, EXPO_TOKEN lisible par l’environnement recette, secrets de test du projet Supabase de recette (voir docs/deploiement.md, « La recette »). Pas de script SQL.

UX étape 5 · un sommaire, puis un écran par sujet (branche feat/fiche-sommaire)

Réglages à faire : aucun (pas de script SQL, pas de fonction à redéployer). Publier la mise à jour (OTA) après fusion.

UX étape 6 · chantier 1 : l’en-tête de Biens ne bouge plus (branche claude/ux6-entete-biens)

UX étape 6 · chantier 2 : la fiche locataire en sommaire (branche claude/ux6-fiche-locataire)

Réglages à faire : aucun (pas de script SQL, pas de fonction à redéployer). Publier la mise à jour (OTA) après fusion.

UX étape 6 · chantier 3 : Finances, un seul rang d’onglets (branche claude/ux6-finances)

UX étape 6 · chantier 4 : Fiscalité et Réglages en sommaire, filtres de Locataires en pastilles (branche claude/ux6-fiscalite-reglages)

Réglages à faire : aucun. Publier la mise à jour (OTA) après fusion.

Relocation sans mois vide · étapes 1 à 3 (branche claude/relocation-etapes-1-3)

Réglages à faire : aucun (pas de script SQL, pas de fonction à redéployer). Publier la mise à jour (OTA) après fusion.

Mise en location · votre grille de notation des candidats

Fichiers : src/lib/scoring.ts, src/data/scoringWeights.ts, src/app/location/criteres.tsx, src/components/location/ScoreBadge.tsx, src/app/location/[id].tsx, src/app/location/candidat.tsx, src/lib/candidates.ts, src/data/types.ts, src/data/mappers.ts, src/data/prefs.ts, supabase/migrations/049_grille_notation.sql. Tests : tests/scoring.test.ts ; parcours e2eUX19 (filtres, tri, grille, recalcul, fiche candidat) à 1440 px et 390 px, en clair et en sombre ; e2e10 et e2e10b suivent le nouveau texte.

Réglages à faire : lancer le script supabase/migrations/049_grille_notation.sql (nouvelle colonne scoring_weights du profil). Sans lui, la grille reste enregistrée sur l’appareil seulement. Publier la mise à jour (OTA). À fusionner après la demande #12 (relocation, étapes 1 à 3).

Relocation sans mois vide · étapes 4 à 6 : visites, dossier en tête, retenir

Fichiers : src/lib/visitSlots.ts, src/app/location/creneaux.tsx, src/app/location/[id].tsx, src/app/location/candidat.tsx, src/lib/glossary.ts, docs/glossaire.md. Tests : tests/visit-slots.test.ts (7 tests) ; nouveau parcours e2eUX20 (1440 px et 390 px, clair et sombre) ; e2eUX18 suit le nouvel écran.

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Relocation sans mois vide · étapes 7 à 9 : bail signé, état des lieux pièce par pièce, clés remises

Fichiers : src/lib/moveInFlow.ts, src/app/location/[id].tsx, src/app/location/edl.tsx, src/app/location/entree.tsx. Tests : tests/move-in-flow.test.ts (6 tests) ; nouveau parcours e2eUX21 (1440 px et 390 px, clair et sombre) ; e2e10 et e2e10b adaptés aux étapes 4 à 9 (écran Visites, « Retenir » en bas, état des lieux pièce par pièce, écran des clés).

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Page « Découvrir » : une histoire avec Roo, à vivre en touchant l’appli

Inspirée de ProIntro (énergie, simplicité, on manipule). La page raconte un mois de bailleur avec Roo, et le visiteur le vit lui-même.

Fichiers : public/decouvrir.html (page autonome, sans image ; les images de public/decouvrir/ ne servent plus). Vérifié : parcours complet joué à 1440 px et 390 px (scènes, conversation, 5 moments, fin personnalisée), aucune erreur JavaScript, aucun débordement horizontal, lien d’inscription avec ROO-SITE-2026. Animations coupées si le téléphone demande moins de mouvement. Thème clair seulement.

Réglages à faire : aucun script SQL, aucune fonction. Mise en ligne avec la recette après fusion.

Se sentir récompensé : mois bouclé, votre année, coche qui répond, anniversaire du bail

Fichiers : src/components/home/MonthDoneCard.tsx, src/components/home/AnniversaryCard.tsx, src/components/home/FirstTimeCard.tsx, src/lib/anniversaries.ts, src/lib/firstTimes.ts, src/components/Toasts.tsx, src/app/index.tsx. Tests : tests/anniversaries.test.ts (4 tests), tests/first-times.test.ts (3 tests) ; types, lint, 707 tests unitaires. Pas de test de parcours ni de captures (par économie, à faire avant de fusionner).

Réglages à faire : aucun. Publier la mise à jour (OTA).

Relais Découvrir → inscription : Roo emporte vos réponses

D’après les maquettes « La scène », « Le scénario en 6 images » et « Prototype animé ».

Réglages à faire : aucun script SQL, aucune fonction à redéployer. Publier la version web (la page Découvrir et roo-relais.js sont des fichiers du site).

Annuler une suppression · versements et dépenses, parking sans pièces

D’après la maquette validée « Annuler une suppression » (docs/maquettes/annuler-suppression/, fiche docs/fiches/2026-10-21-annuler-suppression.md).

Plus jamais de saisie perdue sans réseau · envois en attente

D’après la maquette validée « Envois en attente » (docs/maquettes/envois-en-attente/, fiche docs/fiches/2026-10-21-envois-en-attente.md).

Ordinateur · barre latérale en panneau flottant

D’après la maquette « Rentoo – Propositions ordinateur », option C retenue (panneau flottant avec Roo et le profil).

Dépenses du relevé bancaire, proposées en un geste

D’après la maquette validée « Dépenses du relevé » (docs/maquettes/depenses-du-releve/, fiche docs/fiches/2026-10-21-depenses-du-releve.md).

Réglages à faire : aucun script SQL, aucune fonction à redéployer. Publier la mise à jour (OTA).

Expérience de A à Z · « Pendant votre absence »

D’après la maquette « Pendant votre absence » (canevas « Rentoo · Expérience de A à Z », idée n° 4).

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Expérience de A à Z · « Le premier coup de baguette »

D’après la maquette « Le premier coup de baguette » (canevas « Rentoo · Expérience de A à Z », idée n° 2).

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Téléphone · le menu prend le style du panneau flottant

Suite de « Ordinateur · barre latérale en panneau flottant » : le menu du téléphone (bouton « Menu » de la barre du bas) n’avait pas changé.

Calendrier · filtres en puces à cocher

D’après la maquette « Rentoo – Propositions ordinateur », planche « 2 · Filtres du Calendrier », option A retenue.

Réglages à faire : aucun script SQL, aucune fonction à redéployer. Publier la mise à jour (OTA).

Ordinateur · plus de pastilles coupées au bord des cartes

Retour de Pierre-Louis (22/10, « Modifier l’événement ») : les choix « Type » et « Me le rappeler » étaient coupés à droite (« Copropriété (AG… », « 1 mois avant »), sans moyen de les faire défiler à la souris.

Journal des erreurs · les extensions du navigateur ne le polluent plus

Réglages à faire : aucun. Publier la mise à jour.

Une dépense en double ne passe plus inaperçue

D’après la maquette validée « Dépense en double » (docs/maquettes/doublon-depense/, fiche docs/fiches/2026-10-22-doublon-depense.md).

Importer ses biens et baux depuis un tableau

D’après la maquette validée « Importer un tableau » (docs/maquettes/import-tableau/, fiche docs/fiches/2026-10-22-import-tableau.md).

Réglages à faire : aucun script SQL, aucune fonction à redéployer. Publier la mise à jour.

Expérience de A à Z · « Votre année de bailleur »

D’après les maquettes « Votre année de bailleur » (canevas « Rentoo · Expérience de A à Z », idée n° 7).

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Expérience de A à Z · « Ce que Roo surveille »

D’après la maquette « Ce que Roo surveille » (canevas « Rentoo · Expérience de A à Z », idée n° 1).

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Expérience de A à Z · « Le merci du locataire »

D’après la maquette « Le merci du locataire » (canevas « Rentoo · Expérience de A à Z », idée n° 5).

Réglages à faire : aucun. Publier la mise à jour (OTA) ; l’espace locataire web suit la mise en ligne du site.

Expérience de A à Z · « Votre mois en 30 secondes » (temps rendu)

D’après la maquette « Votre mois en 30 secondes » (idée n° 6). Règle validée par Pierre-Louis le 22/10/2026.

Réglages à faire : aucun script SQL, aucune fonction. Publier la mise à jour (OTA).

Sécurité · fonctions protégées fermées aux visiteurs sans compte (script 050)

D’après l’audit du 21/10/2026 (conseiller de sécurité Supabase : 130 fonctions exécutables sans compte).

Réglages à faire : le script 050 part avec la mise en ligne (recette d’abord, production quand vous lancez « Run workflow »). Aucune fonction à redéployer. À faire avant la production : une série de parcours verte avec ce script (pages publiques).

Finances · « Mes indicateurs » : choisir ce qu’on suit

D’après les maquettes « Rentoo – Finances allégées », planches « Vos indicateurs : choisir, voir, zoomer ». Moment validé : option B (seulement quand il y a de vrais chiffres).

Réglages à faire : aucun script SQL (la disposition utilise la colonne du script 045), aucune fonction à redéployer. Publier la mise à jour (OTA).

Gladoo · chantier 1 : identité graphique

Réglages à faire : app.json change (icônes, couleur de l’écran de démarrage) : recompiler l’APK ; le reste part en mise à jour (OTA). Aucun script SQL, aucune fonction à redéployer.

Gladoo · chantier 2 : le nom affiché

Réglages à faire : redéployer les fonctions send-receipt, location, copilot, billing, veille ; coller les 3 modèles de supabase/templates/ dans Supabase (Authentication › Emails › Templates) et changer les objets en « Votre code Gladoo » et « Réinitialisation de votre mot de passe Gladoo », en recette puis en production ; recompiler l’APK (nom de l’app et textes d’autorisation dans app.json) ; publier la mise à jour (OTA). Aucun script SQL.