Aide-mémoire : Déploiement Netlify (Vue 3 + Vite) avec Formulaire Netlify

  1. Créer ton projet :
    npm create vite@latest mon-projet -- --template vue
    cd mon-projet
    npm install
  2. Configurer vue-router :
    npm install vue-router
  3. Dans ton router :
    Utiliser createWebHistory (pas hash) :
    createRouter({ history: createWebHistory(), routes })
  4. Créer le formulaire :
    Exemple :
    <form name="contact" method="POST" data-netlify="true">
        <input type="hidden" name="form-name" value="contact" />
        <input type="text" name="nom" required />
        <input type="email" name="email" required />
        <textarea name="message" required></textarea>
        <button type="submit">Envoyer</button>
      </form>
      
  5. Créer un fichier _redirects à la racine de public/ (ou ajouter dans dist/ après build) :
    /* /index.html 200
  6. Si tu préfères, un netlify.toml :
    [build]
        publish = "dist"
        command = "npm run build"
      
      [[redirects]]
        from = "/*"
        to = "/index.html"
        status = 200
      
  7. Déployer :
    - Pousser ton repo sur GitHub
    - Lier le repo dans Netlify
    - Build command : npm run build
    - Publish directory : dist
  8. Vérifier :
    - Ton formulaire fonctionne (Netlify détecte automatiquement)
    - Les routes fonctionnent (pas de 404 en navigation directe)

⚠ Points d’attention :

  • Toujours un _redirects ou netlify.toml sinon tes routes plantent en direct
  • Chaque champ de formulaire doit avoir un name
  • Pas besoin d’activer/désactiver la détection de formulaire manuellement
  • Si tu ajoutes des inputs : ajoute le name