﻿﻿{"id":2295,"date":"2026-02-08T10:26:00","date_gmt":"2026-02-08T09:26:00","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/gitforms-vos-formulaires-de-contact-stockes-directement-dans-github-issues\/"},"modified":"2026-02-08T10:26:00","modified_gmt":"2026-02-08T09:26:00","slug":"gitforms-vos-formulaires-de-contact-stockes-directement-dans-github-issues","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/gitforms-vos-formulaires-de-contact-stockes-directement-dans-github-issues\/","title":{"rendered":"GitForms &#8211; Vos formulaires de contact stock\u00e9s directement dans GitHub Issues"},"content":{"rendered":"<p>Int\u00e9grer un formulaire de contact sur un petit projet ou un MVP, c&#8217;est souvent la plaie. Soit on s&#8217;emb\u00eate avec un backend d\u00e9di\u00e9, soit on finit par payer un abonnement chez Typeform ou FormSpree parce qu&#8217;on a d\u00e9pass\u00e9 le quota gratuit en trois jours.<\/p>\n<p>Et c&#8217;est L\u00c0 qu&#8217;intervient <strong><br \/>\n<a href=\"https:\/\/gitforms-landing.vercel.app\/\">GitForms<\/a><br \/>\n<\/strong>.<\/p>\n<p>Le concept est tout b\u00eate mais fallait y penser. En fait l&#8217;id\u00e9e c&#8217;est d&#8217;utiliser les <strong>GitHub Issues<\/strong> comme base de donn\u00e9es pour vos formulaires comme \u00e7a, au lieu de stocker les messages dans une DB SQL ou NoSQL obscure, chaque soumission de formulaire cr\u00e9e automatiquement une nouvelle <em>issue<\/em> dans le d\u00e9p\u00f4t GitHub de votre choix.<\/p>\n<p>Pratique, non ?<\/p>\n<p>C\u00f4t\u00e9 technique, c&#8217;est du solide puisqu&#8217;on est sur du <strong>Next.js 14<\/strong>, du <strong>TypeScript<\/strong> et du <strong>Tailwind CSS<\/strong>. Et pour le mettre en place, c&#8217;est vraiment l&#8217;affaire de 5 minutes&#8230; vous clonez le repo, vous g\u00e9n\u00e9rez un token GitHub, et vous d\u00e9ployez \u00e7a sur Vercel, Netlify ou m\u00eame via Docker. Et hop, vous avez un formulaire fonctionnel avec des notifications par email automatiques (merci le syst\u00e8me de notifs de GitHub).<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/gitforms-formulaires-contact-github-issues\/gitforms-formulaires-contact-github-issues-2.png\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>L&#8217;outil est super personnalisable, vous pouvez changer les couleurs, les textes et m\u00eame ajouter des langues en bidouillant simplement des fichiers JSON, sans m\u00eame avoir \u00e0 toucher au code source. C&#8217;est id\u00e9al pour ceux qui veulent un truc propre et rapide sans sortir la carte bleue toutes les cinq minutes.<\/p>\n<p>Attention quand m\u00eame, car niveau <strong>RGPD<\/strong>, ne croyez pas que c&#8217;est magique. Certes, c&#8217;est auto-h\u00e9bergeable, mais vos donn\u00e9es transitent par GitHub. Il faudra donc veiller \u00e0 ce que votre d\u00e9p\u00f4t soit <strong>priv\u00e9<\/strong> si vous collectez des donn\u00e9es personnelles, histoire de ne pas afficher les emails de vos prospects \u00e0 la vue de tous. Notez aussi que GitHub a des limites de taux (<em>rate limits<\/em>) pour la cr\u00e9ation d&#8217;issues, donc si vous recevez 10 000 messages par jour, \u00e7a risque de coincer.<\/p>\n<p>Enfin, un petit mot sur la licence, le projet semble \u00eatre sous <strong>CC BY-NC-SA 4.0<\/strong> ce qui veut dire qu&#8217;il est parfait pour vos projets perso ou vos tests, mais pour un usage purement commercial, il faudra peut-\u00eatre v\u00e9rifier si \u00e7a colle avec vos besoins.<\/p>\n<p>Bref, si vous cherchez une solution simple, propre et qui exploite intelligemment les outils que vous utilisez d\u00e9j\u00e0, jetez un \u0153il \u00e0 GitForms. C&#8217;est open source et \u00e7a d\u00e9panne bien pour les petits projets qui n&#8217;ont pas besoin d&#8217;une artillerie lourde.<\/p>\n<p>\n<a href=\"https:\/\/github.com\/Luigigreco\/gitforms\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Int\u00e9grer un formulaire de contact sur un petit projet ou un MVP, c&#8217;est souvent la plaie. Soit on s&#8217;emb\u00eate avec un backend d\u00e9di\u00e9, soit on finit par payer un abonnement chez Typeform ou FormSpree parce qu&#8217;on a d\u00e9pass\u00e9 le quota gratuit en trois jours. Et c&#8217;est L\u00c0 qu&#8217;intervient GitForms . Le concept est tout b\u00eate mais fallait y penser. En fait l&#8217;id\u00e9e c&#8217;est d&#8217;utiliser les GitHub Issues comme base de donn\u00e9es pour vos formulaires comme \u00e7a, au lieu de stocker les messages dans une DB SQL ou NoSQL obscure, chaque soumission de formulaire cr\u00e9e automatiquement une nouvelle issue dans le d\u00e9p\u00f4t GitHub de votre choix. Pratique, non ? C\u00f4t\u00e9 technique, c&#8217;est du solide puisqu&#8217;on est sur du Next.js 14, du TypeScript et du Tailwind CSS. Et pour le mettre en place, c&#8217;est vraiment l&#8217;affaire de 5 minutes&#8230; vous clonez le repo, vous g\u00e9n\u00e9rez un token GitHub, et vous d\u00e9ployez \u00e7a sur Vercel, Netlify ou m\u00eame via Docker. Et hop, vous avez un formulaire fonctionnel avec des notifications par email automatiques (merci le syst\u00e8me de notifs de GitHub). L&#8217;outil est super personnalisable, vous pouvez changer les couleurs, les textes et m\u00eame ajouter des langues en bidouillant simplement des fichiers JSON, sans m\u00eame avoir \u00e0 toucher au code source. C&#8217;est id\u00e9al pour ceux qui veulent un truc propre et rapide sans sortir la carte bleue toutes les cinq minutes. Attention quand m\u00eame, car niveau RGPD, ne croyez pas que c&#8217;est magique. Certes, c&#8217;est auto-h\u00e9bergeable, mais vos donn\u00e9es transitent par GitHub. Il faudra donc veiller \u00e0 ce que votre d\u00e9p\u00f4t soit priv\u00e9 si vous collectez des donn\u00e9es personnelles, histoire de ne pas afficher les emails de vos prospects \u00e0 la vue de tous. Notez aussi que GitHub a des limites de taux (rate limits) pour la cr\u00e9ation d&#8217;issues, donc si vous recevez 10 000 messages par jour, \u00e7a risque de coincer. Enfin, un petit mot sur la licence, le projet semble \u00eatre sous CC BY-NC-SA 4.0 ce qui veut dire qu&#8217;il est parfait pour vos projets perso ou vos tests, mais pour un usage purement commercial, il faudra peut-\u00eatre v\u00e9rifier si \u00e7a colle avec vos besoins. Bref, si vous cherchez une solution simple, propre et qui exploite intelligemment les outils que vous utilisez d\u00e9j\u00e0, jetez un \u0153il \u00e0 GitForms. C&#8217;est open source et \u00e7a d\u00e9panne bien pour les petits projets qui n&#8217;ont pas besoin d&#8217;une artillerie lourde. Source<\/p>\n","protected":false},"author":1,"featured_media":2296,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2295","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2295"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2296"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}