尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Le site public de Seeckr, servi sur seeckr.fr. Next.js 16 (App Router), Tailwind CSS 4, TypeScript, Biome. Toutes les pages sont statiques, régénérées toutes les 10 minutes. Seule la route du formulaire s'exécute à la demande. Le site poursuit trois buts, dans cet ordre : faire demander un Seeckr personnalisé gratuit, faire s'inscrire au prochain webinar, et vendre Seeckr aux e-commerçants. Chaque page se termine sur ces actions. Le site tourne sur. Sans NEXT_PUBLIC_SITE_URL, le site suppose https://seeckr.fr. Aucune base de données.檢視完整 README ↗
Le site public de Seeckr, servi sur seeckr.fr. Next.js 16 (App Router), Tailwind CSS 4, TypeScript, Biome.
Toutes les pages sont statiques, régénérées toutes les 10 minutes. Seule la route du formulaire s'exécute à la demande.
Le site poursuit trois buts, dans cet ordre : faire demander un Seeckr personnalisé gratuit, faire s'inscrire au prochain webinar, et vendre Seeckr aux e-commerçants. Chaque page se termine sur ces actions.
| Besoin | Outil |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack, React 19) |
| Styles | Tailwind CSS 4, charte Seeckr dans src/app/globals.css |
| Langage | TypeScript 5 (strict) |
| Lint et format | Biome 2 |
| Lint markdown | markdownlint-cli2 |
| Tests unitaires | Vitest 5 et Testing Library (jsdom) |
| Tests de bout en bout | Playwright (Chrome, Firefox, Pixel 5, iPhone 12) |
| Performance | Lighthouse CI (profils bureau et mobile) |
| Accessibilité | Pa11y (WCAG 2 AA) |
| Données structurées | JSON-LD typé avec schema-dts |
pnpm install
cp .env.example .env.local
pnpm dev
Le site tourne sur http://localhost:3000.
| Variable | Nécessaire | Rôle |
|---|---|---|
NEXT_PUBLIC_SITE_URL | En production | Adresse canonique. Alimente métadonnées, JSON-LD, sitemap, robots, llms.txt. |
RESEND_API_KEY | Pour le formulaire | Envoi de l'e-mail de demande, expéditeur [email protected]. |
LEAD_EMAIL_TO | Pour le formulaire | Destinataire des demandes. |
SLACK_WEBHOOK_URL | Pour le formulaire | Webhook entrant qui reçoit chaque demande. |
Sans NEXT_PUBLIC_SITE_URL, le site suppose https://seeckr.fr. Aucune base de données.
Le contenu vit dans src/content/, jamais dans les composants :
home.ts : accueil, la conversation jouée en boucle, la FAQverticals/*.ts : un fichier par verticale, alimentant le gabarit src/app/[vertical]/page.tsxalgimouss.ts : les chiffres du seul client citable, avec leur période et leur source, et la page de cas clientwebinar.ts : titre, date et lien d'inscription du prochain webinardoctrine.ts : ce qui distingue le conseil Seeckr d'un chatbotsrc/lib/site.ts : identité du site, appel à l'action, liste des pages publiquesModifier les trois champs de src/content/webinar.ts. L'en-tête, le hero et les blocs webinar lisent cette constante.
Une date passée ou vide fait disparaître tout ce qui concerne le webinar, y compris le lien du menu.
Seul Algimouss peut être nommé, et ses chiffres mesurent le conseil, jamais des ventes. Tout chiffre affiché vient de
src/content/algimouss.ts et s'accompagne du nom du client et de la période. Les scores de compatibilité des
conversations d'exemple sont des illustrations, attribuées à « Votre marque ».
La page /cas-clients/algimouss porte les chiffres au complet. L'accueil et les pages verticales n'en montrent que
teaserFigures, puis renvoient dessus : un chiffre ne se raconte en entier qu'à un seul endroit.
/mon-seeckr poste vers une action serveur (src/app/mon-seeckr/actions.ts) qui valide les trois champs
(src/lib/lead.ts), écarte les robots par un champ piège, puis envoie un e-mail via Resend et un message Slack.
Un seul des deux canaux suffit pour que la demande soit considérée comme reçue. Le formulaire fonctionne sans
JavaScript côté client.
pnpm dev, pnpm build, pnpm start, pnpm previewpnpm lint et pnpm format : Biome ; pnpm lint:md : markdownlintpnpm test:run : tests unitaires ; pnpm test:e2e : Playwrightpnpm lighthouse, pnpm lighthouse:mobile, pnpm pa11y, pnpm webhint : audits, rapports dans reports/./scripts/build-integrations-video.sh [captures] : refait public/media/integrations.mp4 et son affiche à partir
des maquettes du banc d'essai Seeckr. Demande ffmpeg. Les emplacements montrés, leur ordre et leur durée sont en
tête du script ; les textes qui les accompagnent vivent dans integrations de src/content/home.tsSur un poste sans les bibliothèques système de Chromium, CHROME_PATH pointe vers le Chrome utilisé par les audits,
et Playwright s'en sert aussi : CHROME_PATH=$(which google-chrome) pnpm test:e2e.
/sitemap.xml et /robots.txt sont générés depuis pages dans src/lib/site.tsrobots.txt autorise explicitement les principaux robots d'assistants/llms.txt suit la spécification llmstxt.orgLa charte de référence est brand/charte.png (septembre 2026) : fond #16113A, violet actif #534AB7, sections
claires #EEEDFE, Poppins pour les titres, Inter pour le texte, Pacifico réservé au wordmark. Aplats uniquement,
aucun dégradé décoratif. Chaque animation montre le produit ou guide la lecture, et s'arrête sous
prefers-reduced-motion.