{"id":20025,"date":"2026-09-14T21:18:16","date_gmt":"2026-09-14T21:18:16","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/hardware-amusant-construire-pistolet-controle-email\/"},"modified":"2026-09-14T21:18:16","modified_gmt":"2026-09-14T21:18:16","slug":"hardware-amusant-construire-pistolet-controle-email","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/","title":{"rendered":"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Chez Mailgun, nous sponsorisons (ou participons \u00e0) peu de conf\u00e9rences. En fait, \u00e0 ce jour, nous n&rsquo;en avons sponsoris\u00e9 qu&rsquo;une seule\u00a0:\u00a0<a href=\"https:\/\/us.pycon.org\/2013\/\" target=\"_tabs\" rel=\"noopener noreferrer\">PyCon<\/a>. Nous faisons une exception pour la PyCon car elle nous a toujours sembl\u00e9 \u00eatre la conf\u00e9rence id\u00e9ale pour Mailgun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Premi\u00e8rement, et c&rsquo;est le plus important, Mailgun est principalement d\u00e9velopp\u00e9 avec\u00a0<a href=\"http:\/\/www.python.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Python<\/a>. Deuxi\u00e8mement, la conf\u00e9rence est d\u00e9pourvue du baratin pr\u00e9sent dans la plupart des autres \u00e9v\u00e9nements. Elle offre chaque ann\u00e9e un contraste admirable avec le SXSW. Elle se concentre sur la cr\u00e9ation de projets et sur le d\u00e9veloppement de Python. Nous n&rsquo;avons pas encore particip\u00e9 au SXSW, mais nous mettons un point d&rsquo;honneur \u00e0 sponsoriser la PyCon chaque ann\u00e9e.<\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-8495\"><p class=\"h5 m-0\" id=\"toc-title-8495\">Table des mati\u00e8res<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#se-preparer-pour-la-pycon\">Se pr\u00e9parer pour la PyCon<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#aller-au-dela-de-la-phase-dideation\">Aller au-del\u00e0 de la phase d&rsquo;id\u00e9ation<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#upverter-concretise-lidee\">Upverter concr\u00e9tise l&rsquo;id\u00e9e<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#la-regle-des-80-20-pointe-le-bout-de-son-nez\">La r\u00e8gle des 80\/20 pointe le bout de son nez<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Se pr\u00e9parer pour la PyCon<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cette ann\u00e9e, nous voulions faire quelque chose d&rsquo;un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. Il est difficile de rivaliser avec la bi\u00e8re gratuite de HP, mais nous nous sommes dit que si nous proposions quelque chose dans l&rsquo;esprit de la conf\u00e9rence, nous pourrions attirer l&rsquo;attention au-del\u00e0 des chasseurs de t-shirts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons r\u00e9fl\u00e9chi \u00e0 quelques id\u00e9es de goodies \u00e0 commander, mais cela ne nous emballait pas vraiment. Ce qui nous a enthousiasm\u00e9s, c&rsquo;\u00e9tait de construire un v\u00e9ritable Mailgun physique. Nous avons eu l&rsquo;id\u00e9e de construire une tourelle automatis\u00e9e d\u00e9clench\u00e9e par l&rsquo;envoi d&rsquo;un email via Mailgun. Cela nous a permis de d\u00e9montrer un cas d&rsquo;usage (bien que tr\u00e8s obscur) de Mailgun et, comme l&rsquo;a mentionn\u00e9 l&rsquo;une des personnes qui a visit\u00e9 notre stand, cela a permis de \u00ab\u00a0<i>faire entrer le logiciel dans le monde physique<\/i>\u00a0\u00bb.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aller au-del\u00e0 de la phase d&rsquo;id\u00e9ation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nous sommes partis sur l&rsquo;id\u00e9e d&rsquo;utiliser un lanceur de paintball. Apr\u00e8s une v\u00e9rification rapide aupr\u00e8s de l&rsquo;organisation de la conf\u00e9rence, nous avons r\u00e9alis\u00e9 que notre \u00e9quipe juridique n&rsquo;appr\u00e9cierait peut-\u00eatre pas l&rsquo;id\u00e9e. Nous avons donc finalement opt\u00e9 pour un pistolet Nerf. Les personnes participantes pouvaient d\u00e9clencher le pistolet en envoyant un email \u00e0 une\u00a0<a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/api-routes.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Route Mailgun<\/a>. La Route Mailgun acceptait l&#8217;email et envoyait une requ\u00eate POST \u00e0 un service web, qui donnait ensuite au pistolet le signal de tirer. Si le pistolet touchait une cible, la personne gagnait un t-shirt. Il fallait m\u00e9riter son t-shirt sur le stand de Mailgun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le premier grand obstacle \u00e9tait que nous ne sommes pas des sp\u00e9cialistes du mat\u00e9riel et que nous n&rsquo;avions pas beaucoup de temps pour trouver une solution. Heureusement, nous connaissions des membres de YC qui pouvaient nous aider,\u00a0<a href=\"http:\/\/upverter.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Upverter<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3990\" width=\"392\" height=\"128\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/upverter.jpg\" alt=\"upverter\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/upverter.jpg 392w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/upverter-300x98.jpg 300w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Upverter propose des outils d&rsquo;ing\u00e9nierie bas\u00e9s sur le cloud et disposait d&rsquo;un vaste r\u00e9seau d&rsquo;experts et d&rsquo;expertes en mat\u00e9riel. Nous leur avons demand\u00e9 de nous pr\u00eater main-forte. Nous leur avons laiss\u00e9 beaucoup de libert\u00e9 quant \u00e0 la conception et aux mat\u00e9riaux, et en quelques jours, ils avaient mis en place un\u00a0<a href=\"http:\/\/upverter.com\/challenges\/mailgun-automated-sentry-2013\/\" target=\"_tabs\" rel=\"noopener noreferrer\">concours pour construire le \u00ab\u00a0Mailgun\u00a0\u00bb<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Upverter concr\u00e9tise l&rsquo;id\u00e9e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En quelques semaines, Upverter a re\u00e7u trois propositions, dont cette proposition gagnante\u00a0<a href=\"http:\/\/upverter.com\/turbolaser\/b2dcbe7535207960\/Nerf-Herder-Sentry-Gun\/\" target=\"_tabs\" rel=\"noopener noreferrer\">design<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un r\u00e9sum\u00e9 du processus de conception par Upverter\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons opt\u00e9 pour le Nerf Vulcan Rapid Fire EBF-25 car il disposait d&rsquo;un mode enti\u00e8rement automatique. Une fois le pistolet choisi, les exigences ont \u00e9t\u00e9 publi\u00e9es\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9velopper le mat\u00e9riel et le logiciel pour faire pivoter le pistolet \u00e0 l&rsquo;aide d&rsquo;un servomoteur et le faire tirer gr\u00e2ce \u00e0 un relais.<\/li>\n\n\n\n<li>Des points bonus \u00e9taient accord\u00e9s pour l&rsquo;utilisation de Python, puisque la d\u00e9monstration aurait lieu lors d&rsquo;un \u00e9v\u00e9nement d\u00e9di\u00e9 \u00e0 Python.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La conception finale utilisait un Raspberry Pi faisant tourner un serveur web Flask. Mailgun a \u00e9t\u00e9 utilis\u00e9 pour envoyer des requ\u00eates POST \u00e0 ce serveur, ce qui d\u00e9clenchait les tirs du pistolet. D&rsquo;autres requ\u00eates POST pouvaient d\u00e9marrer et arr\u00eater l&rsquo;action de rotation du pistolet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;\u00a0<a href=\"https:\/\/github.com\/sarfata\/pi-blaster\/\" target=\"_tabs\" rel=\"noopener noreferrer\">biblioth\u00e8que pi-blaster pour le PWM<\/a>\u00a0a \u00e9t\u00e9 utilis\u00e9e pour contr\u00f4ler les servomoteurs et s&rsquo;assurer que la synchronisation sur la broche de d\u00e9clenchement ne tirait qu&rsquo;une seule fl\u00e9chette.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le code source de ce projet est\u00a0<a href=\"https:\/\/github.com\/turbolaser\/nerfer\" target=\"_tabs\" rel=\"noopener noreferrer\">disponible sur GitHub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La conception m\u00e9canique utilisait un tr\u00e9pied comme support, ainsi qu&rsquo;un m\u00e9canisme d&rsquo;engrenage simple permettant au servomoteur de faire pivoter le pistolet. Il pivotait en continu, tirant une fl\u00e9chette \u00e0 la r\u00e9ception d&rsquo;un email. Le tir \u00e9tait g\u00e9r\u00e9 par le m\u00e9canisme d&rsquo;origine du pistolet, en utilisant un relais pour simuler le signal de d\u00e9clenchement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La r\u00e8gle des 80\/20 pointe le bout de son nez<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le pistolet et le reste du mat\u00e9riel sont arriv\u00e9s le mardi pr\u00e9c\u00e9dant la PyCon, en grande partie assembl\u00e9s et pr\u00eats \u00e0 l&#8217;emploi. Cependant, en r\u00e9fl\u00e9chissant plus en d\u00e9tail \u00e0 la fa\u00e7on dont cela allait concr\u00e8tement fonctionner, nous avons r\u00e9alis\u00e9 qu&rsquo;il nous restait encore quelques d\u00e9fis \u00e0 relever.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1) Comment automatiser la cible\u00a0? Nous pouvions installer une cible quelconque et simplement regarder si elle \u00e9tait touch\u00e9e, mais c&rsquo;\u00e9tait plut\u00f4t nul. Il aurait fallu que quelqu&rsquo;un reste assis \u00e0 surveiller, sans compter les distractions possibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2) Il nous fallait une file d&rsquo;attente pour les participations. Plusieurs personnes risquaient d&rsquo;envoyer des emails presque en m\u00eame temps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3) Il nous fallait un moyen d&rsquo;indiquer aux personnes leur position dans la file d&rsquo;attente et l&rsquo;identit\u00e9 des gagnants et gagnantes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4) L&rsquo;acc\u00e8s au r\u00e9seau risquait d&rsquo;\u00eatre compliqu\u00e9 sur le lieu de la conf\u00e9rence. L&rsquo;adresse IP du Raspberry Pi ne serait peut-\u00eatre pas accessible publiquement, rendant impossible l&rsquo;envoi d&rsquo;une requ\u00eate HTTP POST.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme pour la plupart des projets, les derniers 20\u00a0% comportaient de nombreux d\u00e9tails \u00e0 r\u00e9gler. Malheureusement, nous n&rsquo;avions que deux jours.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Heureusement, Anton, l&rsquo;un de nos brillants ing\u00e9nieurs qui venait d&rsquo;arriver de Russie, est pass\u00e9 \u00e0 l&rsquo;action. Voici l&rsquo;architecture du syst\u00e8me qu&rsquo;il a con\u00e7ue.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-49\" width=\"1296\" height=\"752\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/MG-Infographics-Growth-Chart.png\" alt=\"chart\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/MG-Infographics-Growth-Chart.png 1296w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/MG-Infographics-Growth-Chart-300x174.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/MG-Infographics-Growth-Chart-768x446.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/MG-Infographics-Growth-Chart-1024x594.png 1024w\" sizes=\"(max-width: 1296px) 100vw, 1296px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Anton a configur\u00e9 un serveur web et d\u00e9velopp\u00e9 une application pour r\u00e9soudre la plupart de ces probl\u00e8mes. L&rsquo;application web devait placer les participations dans une file d&rsquo;attente, puis afficher celle-ci ainsi que les gagnants et gagnantes dans un navigateur. Il nous suffisait alors de connecter un \u00e9cran \u00e0 n&rsquo;importe quel ordinateur pour montrer aux personnes le statut de leur participation. De plus, l&rsquo;application web permettait au Raspberry Pi d&rsquo;interroger le serveur web pour r\u00e9cup\u00e9rer les participations, au lieu de devoir accepter des requ\u00eates POST.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3991\" width=\"490\" height=\"367\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/anton.jpeg\" alt=\"anton\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/anton.jpeg 490w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/anton-300x225.jpeg 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un \u00e9clair de g\u00e9nie, Anton a eu l&rsquo;id\u00e9e d&rsquo;utiliser une tablette Android comme cible. L&rsquo;acc\u00e9l\u00e9rom\u00e8tre de l&rsquo;appareil d\u00e9tecterait un impact et enverrait ensuite une requ\u00eate POST \u00e0 l&rsquo;application web. Cela pr\u00e9sentait l&rsquo;avantage suppl\u00e9mentaire de pouvoir afficher le logo de Mailgun \u00e0 l&rsquo;\u00e9cran en guise de cible.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3992\" width=\"275\" height=\"450\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/mailgun.png\" alt=\"mailgun\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/mailgun.png 275w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/mailgun-183x300.png 183w\" sizes=\"(max-width: 275px) 100vw, 275px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Anton a \u00e9galement ajout\u00e9 quelques finitions sympathiques, comme le bo\u00eetier de protection en Lego autour du Raspberry Pi.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3994\" width=\"337\" height=\"446\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/lego.jpeg\" alt=\"lego\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/lego.jpeg 337w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/lego-227x300.jpeg 227w\" sizes=\"(max-width: 337px) 100vw, 337px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le pistolet a rencontr\u00e9 un franc succ\u00e8s lors de la conf\u00e9rence. Nous avons enregistr\u00e9 plus de 400 participations et r\u00e9compens\u00e9 de nombreuses personnes. C&rsquo;\u00e9tait peut-\u00eatre trop facile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De plus, le pistolet offrait l&rsquo;avantage de nous permettre de nous amuser lors des moments de creux pendant les conf\u00e9rences. Voici Anton, affichant un sourire diabolique en passant le pistolet en mode automatique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, toute cette installation \u00e9tait un peu une\u00a0<a href=\"http:\/\/www.rubegoldberg.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">machine de Rube Goldberg<\/a>\u00a0bricol\u00e9e, mais c&rsquo;\u00e9tait vraiment amusant&#8230; et c&rsquo;est bien l\u00e0 l&rsquo;esprit de la PyCon.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chez Mailgun, nous sponsorisons (ou participons \u00e0) peu de conf\u00e9rences. En fait, \u00e0 ce jour, nous n&rsquo;en avons sponsoris\u00e9 qu&rsquo;une seule\u00a0: la PyCon. Nous faisons une exception pour la PyCon car elle nous a toujours sembl\u00e9 \u00eatre la conf\u00e9rence id\u00e9ale pour Mailgun.<\/p>\n","protected":false},"author":13,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[19],"class_list":["post-20025","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-dev-life"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013 - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Cette ann\u00e9e, nous voulions faire quelque chose d&#039;un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. En savoir plus \u2013\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013 - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Cette ann\u00e9e, nous voulions faire quelque chose d&#039;un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. En savoir plus \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/\",\"name\":\"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013 - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2026-09-14T21:18:16+00:00\",\"description\":\"Cette ann\u00e9e, nous voulions faire quelque chose d'un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. En savoir plus \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/hardware-amusant-construire-pistolet-controle-email\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Des API d\u2019emails transactionnels puissantes qui vous permettent d'envoyer, de recevoir et de suivre des emails, con\u00e7ues pour les d\u00e9veloppeurs. En savoir plus d\u00e8s aujourd'hui !\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013 - Transactional Email API Service For Developers | Mailgun","description":"Cette ann\u00e9e, nous voulions faire quelque chose d'un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. En savoir plus \u2013","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/","og_locale":"fr_FR","og_type":"article","og_title":"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013 - Transactional Email API Service For Developers | Mailgun","og_description":"Cette ann\u00e9e, nous voulions faire quelque chose d'un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. En savoir plus \u2013","og_url":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/","url":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/","name":"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013 - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2026-09-14T21:18:16+00:00","description":"Cette ann\u00e9e, nous voulions faire quelque chose d'un peu plus int\u00e9ressant que de simplement venir avec des t-shirts et des autocollants. Nous voulions nous d\u00e9marquer un peu. En savoir plus \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/hardware-amusant-construire-pistolet-controle-email\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/fr\/blog\/"},{"@type":"ListItem","position":3,"name":"Hardware amusant\u00a0: construire un pistolet contr\u00f4l\u00e9 par email pour la PyCon 2013"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/fr\/#website","url":"https:\/\/www.mailgun.com\/fr\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Des API d\u2019emails transactionnels puissantes qui vous permettent d'envoyer, de recevoir et de suivre des emails, con\u00e7ues pour les d\u00e9veloppeurs. En savoir plus d\u00e8s aujourd'hui !","publisher":{"@id":"https:\/\/www.mailgun.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/fr\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/20025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/20025\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/media\/3952"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/media?parent=20025"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog_category?post=20025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}