Commit Graph

10 Commits

Author SHA1 Message Date
Claude
6c33406e13 feat(email): wire all forms to Resend — contact, devis, candidature notifs
- Create /api/contact → sends admin notification email on audit request
- Create /api/devis → sends admin notification email on macon devis request
- Contact.tsx: make inputs controlled, call /api/contact on submit
- MaconClient.tsx DevisForm: add controlled state + submit handler calling /api/devis, add success/error states
- /api/candidature: add admin notification email alongside candidate confirmation
- /api/admin/candidatures/[id]/reject: fetch candidate info + send rejection email

All routes read ADMIN_EMAIL env var for admin notifications (fallback to RESEND_FROM_EMAIL).

https://claude.ai/code/session_01PzA98VhLMmsHpzs7gnLHGs
2026-02-23 07:36:00 +00:00
Claude
c18bc4f6fd feat: ajouter la photo de Cyprien dans l'admin et la page maçon
- lib/site-images.ts : nouvelle clé macon_photo_cyprien (url vide par
  défaut, l'admin upload la vraie photo)
- app/macon/page.tsx : remplace le placeholder SVG par un <img> conditionnel
  — affiche l'image quand la clé est renseignée, conserve le placeholder
  texte "Photo de Cyprien (sur le chantier)" tant qu'aucune photo n'est
  uploadée

https://claude.ai/code/session_01PzA98VhLMmsHpzs7gnLHGs
2026-02-19 11:34:42 +00:00
Claude
eb0c2150e5 fix: résoudre le cache Next.js qui bloquait la mise à jour des images
- app/macon/page.tsx + app/paysagiste/page.tsx : ajout de
  export const revalidate = 60 pour activer l'ISR (les pages étaient
  générées statiquement à la build, getSiteImages() n'était jamais
  rappelé entre deux déploiements)
- app/api/admin/site-images/route.ts : appel de revalidatePath() après
  chaque PUT réussi pour purger immédiatement le cache de la page
  concernée (macon_, paysagiste_ → leur page démo, sinon → /)
  Résultat : la page se met à jour dans la seconde qui suit la sauvegarde
  dans l'admin, sans attendre le délai de 60s

https://claude.ai/code/session_01PzA98VhLMmsHpzs7gnLHGs
2026-02-19 11:28:39 +00:00
Claude
51bc7e1103 feat: répertorier toutes les images des démos dans l'admin
- lib/site-images.ts : ajout de 21 nouvelles clés d'images couvrant
  les démos Maçon et Paysagiste (héro, sliders avant/après nommés
  "photo gauche slider N" / "photo droite slider N", cards services,
  photo équipe, galerie 8 photos, CTA) ; renommage des labels accueil
  pour les distinguer clairement
- app/macon/page.tsx : composant rendu async, images.macon_hero et
  images.macon_slider{1,2,3}_{gauche,droite} remplacent les URLs Unsplash
- app/paysagiste/page.tsx : composant rendu async, tableau realisations
  déplacé à l'intérieur pour utiliser images.*, toutes les 6 balises
  <img> hardcodées (héro, services, savoir-faire, équipe, CTA, galerie)
  remplacées par les clés images.*

https://claude.ai/code/session_01PzA98VhLMmsHpzs7gnLHGs
2026-02-19 06:48:11 +00:00
Claude
db0adf6315 feat: complete restructure of macon demo page with 8 SEO-optimized sections
- Hero: full-screen background image, H1 targeting Orchies/Cysoing/Saint-Amand,
  4.9/5 Google badge, dual CTA (devis + appeler)
- Réassurance: 3 blocks (décennale, devis gratuit, intervention rapide)
- Services: 4 detailed cards (extension, maçonnerie générale, rénovation, extérieur)
  with rich SEO keyword content (IPN, rejointoiement, dalle béton, etc.)
- Avant/Après: slider with project legends and local city names
- Zone d'intervention: OpenStreetMap centered on Saméon + SEO-rich city list
  (Orchies, Cysoing, Saint-Amand, Landas, Beuvry, Nomain, Genech, Templeuve)
- Qui suis-je: Cyprien's bio with trust points (interlocuteur unique, zéro
  sous-traitance, chantier propre)
- FAQ: 3-question accordion (délai devis, décennale, gravats)
- Smart form: 3 project type buttons (Extension, Rénovation, Petits Travaux)
  then contact details form
- Floating mobile CTA: "Appeler maintenant" button visible only on mobile
- Footer SEO: NAP coordinates, expertise links, legal

https://claude.ai/code/session_01V8YAjpqRQ3bfBYsABYsEgo
2026-02-18 17:21:07 +00:00
Claude
a057f1901f feat: add favicon, structured data & SEO optimization for Google sitelinks
- Add SVG favicon (H logo navy+orange) for all sizes (32, 180, 192, 512)
- Add web manifest (site.webmanifest) for PWA compatibility
- Add theme-color meta tag (#1B2A4A navy)
- Add 3 structured data schemas: LocalBusiness, WebSite, SiteNavigationElement
- WebSite schema enables Google to show site name + search box
- SiteNavigationElement signals main pages for sitelinks display
- Add canonical URLs to all pages (macon, paysagiste, plombier, legal pages)
- Add metadata to pages missing it (mentions-legales, confidentialite, cgv)
- Add candidature/layout.tsx for metadata on client component page
- Optimize sitemap with consistent BASE_URL and candidature/cgv pages
- Add telephone, email, opening hours to LocalBusiness schema

https://claude.ai/code/session_01V8YAjpqRQ3bfBYsABYsEgo
2026-02-16 19:34:36 +00:00
9cb49af079 Fix French accents and improve button styles 2026-02-16 20:25:57 +01:00
Claude
e94a03f302 fix: professional tone + real photos on demo pages
- Hero: replace aggressive "Arrêtez de perdre des chantiers" with
  professional "Un site à la hauteur de votre savoir-faire"
- Macon: rewrite hero as client-facing (artisan's real site),
  add Unsplash before/after photos to MagicReveal sliders
- Paysagiste: rewrite hero "Transformez votre extérieur" instead of
  "Ne vendez pas des travaux", add real photos to gallery
- Plombier: rewrite hero "Votre plombier réactif et transparent"
  instead of "Convaincre en 3 secondes chrono"
- MagicReveal: now accepts avantImage/apresImage URLs and renders
  real photos with the interactive slider

https://claude.ai/code/session_01H2aRGDaKgarPvhay2HxN6Y
2026-02-16 05:34:40 +00:00
Claude
9025986e66 feat: rebuild 3 demo pages with interactive features + local SEO pages
- Rebuild /macon with cert badge popups, before/after slider, intelligent
  form with urgency detection
- Rebuild /paysagiste with filterable gallery, seasonal banner, WhatsApp
  floating button, devis form
- Rebuild /plombier with sticky call bar, 3-step diagnostic wizard,
  transparent tariffs, zone map
- Add MagicReveal component (interactive before/after slider)
- Update Navbar with real phone number (06 04 40 81 57)
- Update DemosLive cards with new titles and subtitles
- Create sitemap.ts targeting local SEO zones (Douai, Orchies,
  Valenciennes, Saint-Amand, Arleux, Denain)
- Create LocalSeoPage template + 6 city-specific landing pages

https://claude.ai/code/session_01H2aRGDaKgarPvhay2HxN6Y
2026-02-15 22:10:14 +00:00
Claude
a845b47316 feat: refonte complète landing page - nouveau copywriting + 3 démos
- SEO: nouveau title/description optimisé artisans BTP Nord (59)
- Navbar: CTA téléphone cliquable + menu simplifié
- Hero: fond sombre, H1 percutant "aussi solide que vos ouvrages"
- Nouvelle section Problématique (identification pain points)
- System: redesign sombre "Dossier de Confiance" avec 3 piliers tech
- Démos Live: 3 cards vers /macon, /paysagiste, /plombier
- FAQ: nouvelles questions orientées objections (Facebook, site gratuit)
- Footer: SEO avec expertises + zone d'intervention étendue
- /macon: galerie Avant/Après + bouton Urgence Fuite
- /paysagiste: design épuré + filtrage Création vs Entretien
- /plombier: tarifs clairs + formulaire diagnostic rapide

https://claude.ai/code/session_01H2aRGDaKgarPvhay2HxN6Y
2026-02-15 19:14:01 +00:00