尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Estimateur de coût de rénovation, marché français. En production : https://getavyora.fr Le produit répond à une seule question, mais correctement : combien vont coûter ces travaux, et de quoi ce prix est-il fait ? Là où les comparateurs affichent une fourchette, AVYORA chiffre poste par poste et publie sa méthode. Variables d'environnement : voir .env.local.example. Sans Supabase configuré, l'estimation anonyme fonctionne ; la sauvegarde de projet et l'authentification non. Next.js 16.2.10 (App Router) · React 19 · TypeScript · Tailwind v4 · Supabase (Auth + Postgres + RLS) · Vercel.檢視完整 README ↗
Estimateur de coût de rénovation, marché français. En production : https://getavyora.fr
Le produit répond à une seule question, mais correctement : combien vont coûter ces travaux, et de quoi ce prix est-il fait ? Là où les comparateurs affichent une fourchette, AVYORA chiffre poste par poste et publie sa méthode.
npm install
npm run dev # http://localhost:3000
npm test # vitest
npm run build # build de production
Variables d'environnement : voir .env.local.example. Sans Supabase configuré, l'estimation
anonyme fonctionne ; la sauvegarde de projet et l'authentification non.
Next.js 16.2.10 (App Router) · React 19 · TypeScript · Tailwind v4 · Supabase (Auth + Postgres + RLS) · Vercel.
⚠️ Next 16 n'est pas le Next que vous connaissez. Lire
AGENTS.md: la consigne est de consulternode_modules/next/dist/docs/avant d'écrire du code qui touche aux API du framework.
lib/features.ts est la source de vérité unique de ce qui est actif. Au moment où ces lignes
sont écrites, seuls estimateur et projets sont à true.
/estimation-travaux.Construits mais masqués derrière un flag à false : analyse de devis, rentabilité locative,
documents, artisans, chantier. Rien n'a été supprimé — repasser le flag à true suffit.
Ne pas les présenter comme livrés.
lib/estimateur/ — 18 corps d'état, 200 postes dans catalog.json, dont 168 portent à la fois
un prix fourni-posé et un prix de fourniture seule (l'écart entre les deux, c'est la main-d'œuvre).
Le total appliqué : quantités déduites du bien (autoQty), coefficient de finition par lot,
coefficient régional sur la main-d'œuvre, TVA travaux par poste (5,5 / 10 / 20 %), puis une
provision d'aléas de 7 %. La méthode et ses limites sont publiées sur /methodologie.
posteRef(), estim(), buildDevis(), estimProjet()). Un chiffre figé rend fausses des
dizaines de pages à la première révision du catalogue.lib/prix-maj.ts (PRIX_MAJ) se met à jour À LA MAIN quand les prix du catalogue changent
réellement. C'est la source unique de la date affichée, du dateModified JSON-LD et du
lastModified du sitemap.509 pages générées, 142 déclarées au sitemap.
| Famille | Route |
|---|---|
| Guides | /guides, /guides/[slug] |
| Prix par type de travaux | /prix-travaux, /prix-travaux/[projet] |
| Prix par travaux et ville | /prix-travaux/[projet]/[ville] |
| Prix par ville | /prix-renovation, /prix-renovation/[ville] |
| Prix par corps d'état | /prix-poste, /prix-poste/[slug] |
| Méthode | /methodologie |
Les pages de matrice /prix-travaux/[projet]/[ville] sont en noindex, follow, sauf une ville
par zone de main-d'œuvre : elles ne produisent que 3 réponses distinctes par projet, et deux
villes d'une même zone sont identiques à plus de 95 %. Seules les indexables sont au sitemap.
Le motif, la règle et le critère de réouverture vivent au même endroit : lib/seo-projets.ts.
npx tsc --noEmit && npm test && npm run build
Sur une modification qui touche les pages publiques, vérifier aussi sur le HTML généré
(.next/server/app/**/*.html, jamais le JSX) : un seul <h1> par page, descriptions ≤ 160
caractères, JSON-LD valide, et questions/réponses du FAQPage présentes telles quelles dans le
texte visible.
⚠️ Piège récurrent : les extracteurs de texte naïfs produisent de faux négatifs. React insère des séparateurs
<!-- -->entre deux enfants et encode les apostrophes en'. Décoder les entités avant de conclure qu'un contenu manque.
⚠️ Ne jamais lancer
rm -rf .nextpendant que le serveur de dev tourne : il rend des 500 jusqu'au redémarrage.