尚未检测到更新。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.