{"id":25710,"date":"2023-01-19T00:00:00","date_gmt":"2023-01-19T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/refonte-application-mailgun-partie-deux\/"},"modified":"2026-09-22T13:44:25","modified_gmt":"2026-09-22T13:44:25","slug":"refonte-application-mailgun-partie-deux","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/","title":{"rendered":"Plong\u00e9e au c\u0153ur de l&rsquo;application Mailgun\u00a0: 2e partie \u2013 Une ex\u00e9cution triomphante"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Lorsque nous avons entam\u00e9 la refonte de l&rsquo;application Mailgun il y a de cela trois longues ann\u00e9es, nous avons consacr\u00e9 une bonne partie de notre temps aux preuves de concept, \u00e0 la planification et aux tests. <b>Notre objectif ultime\u00a0?<\/b> Cr\u00e9er une exp\u00e9rience applicative qui met en valeur les diff\u00e9rents produits de notre gamme, permet de naviguer facilement entre eux et garantit leur support de mani\u00e8re efficace gr\u00e2ce \u00e0 une infrastructure unique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;envergure de ce projet \u00e9tait telle qu&rsquo;il nous a fallu plus d&rsquo;un article pour d\u00e9crire les raisons de cette refonte, notre m\u00e9thode, les le\u00e7ons que nous en avons tir\u00e9es et ce que l&rsquo;impl\u00e9mentation de cette nouvelle technologie signifie pour notre avenir. Dans la premi\u00e8re partie de cette aventure \u00e9pique, \u00ab\u00a0<a href=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/reconstruction-de-l-application-mailgun-partie-une\/\" target=\"_tabs\" rel=\"noopener noreferrer\">1re partie\u00a0: d&rsquo;excellentes id\u00e9es<\/a>\u00a0\u00bb, nous vous avons fait remonter le temps pour observer notre processus. Nous avons partag\u00e9 avec vous nos r\u00e9flexions et les raisons de cette initiative, et nous vous avons pr\u00e9sent\u00e9 les  <a href=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/reconstruction-de-l-application-mailgun-partie-une\/\" target=\"_tabs\" rel=\"noopener noreferrer\">d\u00e9fis<\/a>  auxquels nous savions que nous allions \u00eatre confront\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 pr\u00e9sent, dans la \u00ab\u00a02e partie\u00a0: une ex\u00e9cution triomphante\u00a0\u00bb, nous vous emmenons dans les coulisses pour vous montrer comment nous avons impl\u00e9ment\u00e9 ce projet, comment nos \u00e9quipes ont collabor\u00e9 et le r\u00f4le que le design a jou\u00e9 dans notre r\u00e9flexion.\u00a0 Il y a du drame, il y a des migrations&#8230; et probablement un peu trop de r\u00e9f\u00e9rences \u00e0 la science-fiction. Rejoignez-nous pour l&rsquo;aventure.<\/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-8668\"><p class=\"h5 m-0\" id=\"toc-title-8668\">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=\"#un-bref-rappel-des-evenements\">Un bref rappel des \u00e9v\u00e9nements<\/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=\"#module-federation\">Module Federation<\/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=\"#collaborer-avec-lequipe-de-design-pour-concevoir-le-processus-dinscription\">Collaborer avec l&rsquo;\u00e9quipe de design pour concevoir le processus d&rsquo;inscription<\/a><a class=\"scrollme link-body-color\" href=\"#definir-le-perimetre-du-design\">D\u00e9finir le p\u00e9rim\u00e8tre du design<\/a><a class=\"scrollme link-body-color\" href=\"#dans-lesprit-du-design\">Dans l&rsquo;esprit du design<\/a><a class=\"scrollme link-body-color\" href=\"#remplacer-les-ressources-visuelles-pour-saligner-sur-limage-de-marque\">Remplacer les ressources visuelles pour s&rsquo;aligner sur l&rsquo;image de marque<\/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=\"#levolution-de-portal\">L&rsquo;\u00e9volution de Portal<\/a><a class=\"scrollme link-body-color\" href=\"#boucle-de-feedback\">Boucle de feedback<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#soyez-excellents-les-uns-envers-les-autres-et-creez-des-choses-cool\">Soyez excellents les uns envers les autres et cr\u00e9ez des choses cool<\/a><a class=\"scrollme link-body-color\" href=\"#generique-de-fin\">G\u00e9n\u00e9rique de fin<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Un bref rappel des \u00e9v\u00e9nements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La volont\u00e9 de mettre \u00e0 jour l&rsquo;application Mailgun a \u00e9t\u00e9 motiv\u00e9e par les limites de notre ancienne infrastructure, en particulier avec notre  <a href=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/reconstruction-de-l-application-mailgun-partie-une\/\" target=\"_tabs\" rel=\"noopener noreferrer\">organisation en polyrepo<\/a>, o\u00f9 chaque projet front-end avait son propre d\u00e9p\u00f4t, m\u00eame si de nombreux projets r\u00e9p\u00e9taient les m\u00eames t\u00e2ches. Qu&rsquo;est-ce que cela impliquait pour nos \u00e9quipes\u00a0? Pour commencer, localiser un code sp\u00e9cifique ou trouver des bugs \u00e9tait \u00e0 peu pr\u00e8s aussi simple que pour Deckard de traquer des r\u00e9plicants rebelles dans une ville dystopique surpeupl\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>La gestion de plusieurs d\u00e9p\u00f4ts avec des fonctionnalit\u00e9s redondantes ralentit les temps de r\u00e9ponse et \u00e9puise les ressources. <\/b>Notre solution\u00a0? Nous r\u00e9organiser vers une structure monorepo modulaire. Pour reprendre les termes de <i>Blade Runner<\/i>, au lieu de traquer des r\u00e9plicants \u00e0 travers une ville tentaculaire, nous allions naviguer au sein d&rsquo;une m\u00e9gastructure unique o\u00f9 les projets sont organis\u00e9s en modules et o\u00f9 les r\u00e9plicants peuvent \u00eatre recherch\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce plan d&rsquo;action n\u00e9cessiterait l&rsquo;impl\u00e9mentation de nouveaux outils dans notre stack, une nouvelle interface utilisateur et la gestion de grandes quantit\u00e9s de code existant. Si vous nous permettez de paraphraser, \u00ab\u00a0L&rsquo;homme a trouv\u00e9 son \u00e9gal\u00a0\u00bb&#8230; et c&rsquo;est d\u00e9sormais le probl\u00e8me de l&rsquo;\u00e9quipe d&rsquo;ing\u00e9nierie.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4053\" width=\"856\" height=\"1082\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM.png\" alt=\"Mailgun team members as Blade Runner characters\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM.png 856w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM-237x300.png 237w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM-768x971.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM-810x1024.png 810w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Module Federation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;une des premi\u00e8res \u00e9tapes de la configuration de notre nouvelle application a consist\u00e9 \u00e0 trouver un moyen de r\u00e9utiliser autant que possible notre ancien syst\u00e8me afin de ne pas avoir \u00e0 tout reconstruire. Mais nous ne voulions pas continuer \u00e0 supporter toutes nos anciennes d\u00e9pendances obsol\u00e8tes. <b>Nous devions trouver une m\u00e9thode pour empaqueter notre code existant sans qu&rsquo;il ne soit rejet\u00e9 par la nouvelle infrastructure.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/module-federation\" target=\"_tabs\" rel=\"noopener noreferrer\">Module Federation<\/a> est un moyen de d\u00e9finir un morceau de code (notre ancienne application dans son ensemble, dans ce cas) comme un actif unique et importable qui peut soit \u00eatre autonome, soit \u00eatre configur\u00e9 pour partager des actifs avec le consommateur. <b>Module Federation a apport\u00e9 une solution en nous permettant de rempaqueter le code existant afin qu&rsquo;il puisse \u00eatre exploit\u00e9 par la nouvelle plateforme<\/b>, sans pour autant compromettre toutes les nouvelles fonctionnalit\u00e9s que nous avions pr\u00e9vues. La majeure partie de notre \u00e9quipe de d\u00e9veloppement pouvait continuer \u00e0 corriger des bugs et \u00e0 mettre \u00e0 jour notre ancienne base de code, et la nouvelle application en b\u00e9n\u00e9ficierait automatiquement\u00a0!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour y parvenir, nous devions cr\u00e9er un middleware de routage d\u00e9claratif qui nous permettrait de diriger le trafic entre l&rsquo;ancienne et la nouvelle application. Nous allons progressivement porter l&rsquo;ancien code vers la nouvelle plateforme, mais d&rsquo;ici l\u00e0, cette solution de routage par page nous permettra de lancer de nouvelles fonctionnalit\u00e9s sans perdre de temps, et sans avoir \u00e0 tout r\u00e9\u00e9crire d&rsquo;un coup. Comme nous avions d\u00e9j\u00e0 d\u00e9fini les r\u00e8gles, il serait plus facile de modifier et de maintenir le routage au sein de notre application.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4085\" width=\"1440\" height=\"864\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress.png\" alt=\"A progress chart illustrating the steps we needed to take from creating the new app &apos;Portal&apos; (\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress.png 1440w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress-300x180.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress-768x461.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress-1024x614.png 1024w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Outre les composants de migration \u00e0 grande \u00e9chelle, nous devions \u00e9galement r\u00e9fl\u00e9chir \u00e0 la migration et \u00e0 l&rsquo;adaptation des processus existants centr\u00e9s sur des fonctionnalit\u00e9s qui devaient continuer \u00e0 fonctionner de mani\u00e8re famili\u00e8re pour l&rsquo;utilisateur dans la nouvelle application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Collaborer avec l&rsquo;\u00e9quipe de design pour concevoir le processus d&rsquo;inscription<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jusqu&rsquo;\u00e0 pr\u00e9sent, nous avons mis en lumi\u00e8re certains \u00e9l\u00e9ments globaux tels que le stockage et la gestion des ressources. Mais ce projet consistait en une refonte compl\u00e8te de l&rsquo;application Mailgun, qui contenait d\u00e9j\u00e0 des processus fonctionnels destin\u00e9s \u00e0 la client\u00e8le qu&rsquo;il nous fallait soit prot\u00e9ger, soit am\u00e9liorer. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le processus d&rsquo;inscription \u00e0 l&rsquo;application est un bon exemple de la fa\u00e7on dont nous avons d\u00fb \u00e9valuer les mod\u00e8les actuels, collaborer entre les \u00e9quipes et impl\u00e9menter notre nouvelle stack. Lors du d\u00e9coupage d&rsquo;un projet en vue d&rsquo;une action, nous nous posons toujours quelques questions\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>1. Comment d\u00e9terminons-nous et planifions-nous actuellement les donn\u00e9es\u00a0?<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Strat\u00e9gie\u00a0: <\/b>documenter la logique actuelle d&rsquo;inscription et de cr\u00e9ation de compte pour le processus Mailgun existant. Cela nous aiderait \u00e0 archiver nos anciens processus, mais aussi \u00e0 analyser pr\u00e9cis\u00e9ment comment nous allions modifier le syst\u00e8me actuel pour jeter les bases de notre mise \u00e0 jour.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>2. Quelles sont les \u00e9tapes pour passer de notre it\u00e9ration actuelle \u00e0 l&rsquo;\u00e9tat souhait\u00e9\u00a0?<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Strat\u00e9gie\u00a0: <\/b>une fois nos actions document\u00e9es et planifi\u00e9es, nous devions am\u00e9liorer notre base de connaissances. Nous nous sommes concentr\u00e9s sur l&rsquo;apprentissage des conventions et des capacit\u00e9s du framework React que nous utiliserions pour activer le rendu c\u00f4t\u00e9 serveur et des fonctionnalit\u00e9s suppl\u00e9mentaires afin d&rsquo;am\u00e9liorer notre efficacit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>3. Quel travail est attendu de la part des autres \u00e9quipes\u00a0?<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Strat\u00e9gie\u00a0:<\/b> concevoir l&rsquo;interface utilisateur. Comme nous fusionnions effectivement deux produits autonomes en une suite de produits partageant une m\u00eame infrastructure, nous devions concevoir l&rsquo;interface utilisateur en m\u00eame temps que nous apportions des modifications aux produits. Cela signifiait que la majorit\u00e9 des mises \u00e0 jour seraient \u00e9galement des refontes graphiques.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9finir le p\u00e9rim\u00e8tre du design<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Notre objectif principal \u00e9tait de distinguer nos produits (Mailgun et Mailgun Optimize) sans cr\u00e9er deux infrastructures distinctes pour les supporter. Vous pourriez vous demander pourquoi les s\u00e9parer\u00a0? Pourquoi ne pas simplement fusionner les produits, ce serait plus facile, non\u00a0? Eh bien, pas vraiment. Nos produits ont des objectifs tr\u00e8s sp\u00e9cifiques, et le fait qu&rsquo;un utilisateur ou une utilisatrice en adopte un ne signifie pas qu&rsquo;il faut tous les adopter. De plus, l&rsquo;<b>objectif ultime<\/b> de cette refonte \u00e9tait de d\u00e9velopper une infrastructure capable de supporter l&rsquo;ajout de nouveaux produits \u00e0 l&rsquo;avenir, sans compromettre les fonctionnalit\u00e9s du backend ni compliquer la navigation du point de vue de notre base d&rsquo;utilisateurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La solution\u00a0? Design. Cela impliquait de d\u00e9finir de nouvelles normes pour nos applications Mailgun et Mailgun Optimize en mati\u00e8re d&rsquo;illustrations, de couleurs de marque et de formatage de texte. Il fallait \u00e9galement aligner l&rsquo;\u00e9quipe marketing sur la fa\u00e7on dont nous parlons de nos produits et de leur synergie.<\/p>\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> Nous savions que les normes que nous d\u00e9finirions serviraient de base \u00e0 l&rsquo;ajout de nouveaux produits et de nouvelles fonctionnalit\u00e9s \u00e0 l&rsquo;avenir.<\/div>\r\n    <\/div>\r\n\n\n\n<h3 class=\"wp-block-heading\">Dans l&rsquo;esprit du design<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque nous avons commenc\u00e9 \u00e0 concevoir le processus de design, <b>nous devions prendre en compte les zones partag\u00e9es de l&rsquo;application par rapport aux zones sp\u00e9cifiques. <\/b>Des fonctionnalit\u00e9s telles que la facturation et le processus d&rsquo;inscription seraient des espaces partag\u00e9s, par opposition aux zones ind\u00e9pendantes de l&rsquo;interface utilisateur qui serviraient nos produits individuels.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons commenc\u00e9 en 2021 par examiner la section de facturation et par nous concentrer sur la logique qui permettrait aux utilisateurs de disposer d&rsquo;un seul compte de facturation prenant en charge la gestion et la personnalisation de plusieurs produits. Cela a donn\u00e9 le ton sur la fa\u00e7on dont nous allions avancer et analyser des fonctionnalit\u00e9s telles que la facturation ou notre processus d&rsquo;inscription sous l&rsquo;angle de la convergence de plusieurs produits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons identifi\u00e9 l&rsquo;ensemble des points de contact qui d\u00e9pendraient soit d&rsquo;un espace partag\u00e9, soit d&rsquo;un espace sp\u00e9cifique aux produits au sein de l&rsquo;application. Cela incluait des \u00e9l\u00e9ments tels qu&rsquo;une navigation \u00e0 gauche qui serait propre \u00e0 chaque produit et int\u00e9grerait des param\u00e8tres sp\u00e9cifiques, tout en veillant \u00e0 ce que les espaces partag\u00e9s de l&rsquo;application suivent les m\u00eames mod\u00e8les.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"quote hub-quote longform-spacings d-flex flex-column rounded-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 shadow-sm bg-primary\" data-theme=\"light\">\r\n\r\n        <div class=\"quote-logo mb-3\">\r\n                            <svg height=\"40\" class=\"quote-icon quote-icon-color\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/custom-icons\/quotes-right.svg\"><\/svg>\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-6dafffea38b0af48d060d6b9da99a0cf\">\r\n            Nous avons men\u00e9 de nombreuses recherches sur la concurrence, mais aussi sur les tendances g\u00e9n\u00e9rales en mati\u00e8re de mod\u00e8les de design, afin de voir comment le passage d&rsquo;un produit \u00e0 l&rsquo;autre au sein d&rsquo;une m\u00eame application se faisait aujourd&rsquo;hui et ce qui \u00e9tait pertinent pour la barre de navigation sup\u00e9rieure.        <\/blockquote>\r\n\r\n                    <div class=\"d-flex gap-3 mt-5\">\r\n                                    <div>\r\n                        <img decoding=\"async\" width=\"72\" height=\"72\" class=\"rounded-lg quote-author\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/nicki_snyder.jpeg\" alt=\"Photo de Nicki Snyder\">\r\n                    <\/div>\r\n                                <div class=\"d-flex flex-column align-self-center fs-sm\">\r\n                    <cite class=\"mb-0 fw-bold text-accent fst-normal\" aria-describedby=\"quote-block-6dafffea38b0af48d060d6b9da99a0cf\">\r\n                        Nicki Snyder                    <\/cite>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, nous avons examin\u00e9 les \u00e9l\u00e9ments du parcours utilisateur afin de pouvoir <b>cartographier la structure du design<\/b> et les palettes de couleurs qui aideraient \u00e0 optimiser l&rsquo;exp\u00e9rience utilisateur. Deux questions nous ont guid\u00e9s\u00a0:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Quel parcours un utilisateur emprunterait-il d\u00e9sormais en naviguant dans une seule application au lieu de deux applications distinctes\u00a0?<\/li>\n\n\n\n<li>Comment pr\u00e9voyions-nous de g\u00e9rer et d&rsquo;ajuster le flux de design autour d&rsquo;une fonctionnalit\u00e9 particuli\u00e8re au sein de la nouvelle application\u00a0?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons cr\u00e9\u00e9 des designs qui variaient les couleurs et le placement pour diriger les utilisateurs vers des interactions au sein de l&rsquo;application, puis nous avons effectu\u00e9 des tests utilisateurs pour observer et valider les parcours utilisateurs. O\u00f9 les utilisateurs naviguaient-ils\u00a0? Que nous apprenaient les mouvements de leur souris sur leurs \u00e9ventuelles h\u00e9sitations\u00a0? Que s&rsquo;attendaient-ils \u00e0 voir\u00a0?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 partir de ces tests utilisateurs, nous avons pu affiner les \u00e9l\u00e9ments de design afin d&rsquo;optimiser la navigation de mani\u00e8re intuitive pour nos utilisateurs. Ensuite, une <b>exp\u00e9rience en version b\u00eata<\/b> a \u00e9t\u00e9 lanc\u00e9e pour une s\u00e9lection d&rsquo;utilisateurs, ce qui nous a permis de recueillir des informations issues de sessions utilisateurs et d&rsquo;instances r\u00e9elles pour nous guider sur ce qui fonctionnait et ce qui devait encore \u00eatre ajust\u00e9.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4091\" width=\"2075\" height=\"845\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app.png\" alt=\"A screen shot of the new app user interface illustrating the design unity and product specific navigation menu.\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app.png 2075w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-1536x626.png 1536w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-2048x834.png 2048w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-300x122.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-768x313.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-1024x417.png 1024w\" sizes=\"(max-width: 2075px) 100vw, 2075px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Remplacer les ressources visuelles pour s&rsquo;aligner sur l&rsquo;image de marque<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le changement des ressources visuelles relevait pour moiti\u00e9 de la navigation et pour moiti\u00e9 de l&rsquo;unification. Personnaliser les menus de navigation avec la palette de couleurs de notre marque peut sembler \u00eatre un besoin purement esth\u00e9tique, mais nous savions que nous \u00e9tions en train de cr\u00e9er le th\u00e8me qui permettrait \u00e0 l&rsquo;avenir de distinguer nos produits au sein d&rsquo;un espace partag\u00e9.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"quote hub-quote longform-spacings d-flex flex-column rounded-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 shadow-sm bg-primary\" data-theme=\"light\">\r\n\r\n        <div class=\"quote-logo mb-3\">\r\n                            <svg height=\"40\" class=\"quote-icon quote-icon-color\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/custom-icons\/quotes-right.svg\"><\/svg>\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-84c5321774eb0a4259151ac8398abb6f\">\r\n            Nous avons cr\u00e9\u00e9 une structure de navigation \u00e9volutive non seulement pour Mailgun et Mailgun Optimize, mais aussi pour nos futurs produits d&#8217;email.        <\/blockquote>\r\n\r\n                    <div class=\"d-flex gap-3 mt-5\">\r\n                                    <div>\r\n                        <img decoding=\"async\" width=\"72\" height=\"72\" class=\"rounded-lg quote-author\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/nicki_snyder.jpeg\" alt=\"Photo de Nicki Snyder\">\r\n                    <\/div>\r\n                                <div class=\"d-flex flex-column align-self-center fs-sm\">\r\n                    <cite class=\"mb-0 fw-bold text-accent fst-normal\" aria-describedby=\"quote-block-84c5321774eb0a4259151ac8398abb6f\">\r\n                        Nicki Snyder                    <\/cite>\r\n                                            <span class=\"mb-0 text-body-color\">direction du design d&rsquo;exp\u00e9rience produit<\/span>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Les ic\u00f4nes de produits permettraient une reconnaissance de marque ind\u00e9pendante, sans cr\u00e9er la confusion que pourrait engendrer l&rsquo;affichage des logos complets. Cela nous donnerait \u00e9galement l&rsquo;occasion de d\u00e9velopper la notori\u00e9t\u00e9 des autres produits de notre portefeuille en cr\u00e9ant des liens vers eux \u00e0 partir de leurs ic\u00f4nes. En ajoutant une zone <b>Explorer<\/b> au sein de l&rsquo;application o\u00f9 les utilisateurs peuvent passer d&rsquo;un produit \u00e0 l&rsquo;autre, nous pourrions favoriser les ventes crois\u00e9es aupr\u00e8s des utilisateurs et faire conna\u00eetre l&rsquo;ensemble de notre suite de produits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et enfin, en tant qu&rsquo;\u00e9quipe, nous avons pens\u00e9 qu&rsquo;il serait vraiment g\u00e9nial d&rsquo;avoir un nouveau look rafra\u00eechissant pour accompagner cette nouvelle technologie afin d&rsquo;amplifier l&rsquo;impact de toutes nos nouvelles cr\u00e9ations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L&rsquo;\u00e9volution de Portal<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les applications ne peuvent pas rester fig\u00e9es, et <b>Portal<\/b> \u00e9voluera au fil du temps. C&rsquo;\u00e9tait tout l&rsquo;int\u00e9r\u00eat de construire quelque chose avec une logique et une infrastructure con\u00e7ues pour \u00e9voluer. Alors, quels sont les \u00e9l\u00e9ments qui devraient changer en premier\u00a0?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Affiner l&rsquo;architecture de d\u00e9ploiement\u00a0:<\/strong> dans \u00ab\u00a0<a href=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/reconstruction-de-l-application-mailgun-partie-une\/\" target=\"_tabs\" rel=\"noopener noreferrer\">1re partie\u00a0: d&rsquo;excellentes id\u00e9es<\/a>\u00a0\u00bb, nous avons \u00e9voqu\u00e9 le volume de code que nous avons \u00e9crit au cours de la derni\u00e8re d\u00e9cennie (des milliers de lignes), et tout comme il faudra du temps pour porter progressivement ce code, il faudra du temps pour mettre hors service nos anciens processus de d\u00e9ploiement. Cela signifiait que nous devions concevoir <b>Portal<\/b> pour qu&rsquo;il fonctionne avec deux processus de d\u00e9ploiement, nos anciens processus et notre nouvelle compilation utilisant Cockpit, ce qui fut la t\u00e2che la plus facile au monde&#8230; <i>C&rsquo;\u00e9tait un vrai cauchemar, deux processus de d\u00e9ploiement\u00a0! Mais nous ne manquons pas d&rsquo;ambition.<\/i><\/li>\n\n\n\n<li><strong>G\u00e9rer plusieurs bases de code\u00a0:<\/strong> \u00e0 mesure que nous travaillons pour porter progressivement notre code, nous continuerons \u00e0 devoir g\u00e9rer plusieurs bases de code et \u00e0 transf\u00e9rer le code de diff\u00e9rents ensembles de produits avant de pouvoir tout unifier.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Boucle de feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Portal <\/b>est pass\u00e9 par les tests utilisateurs et la version b\u00eata, nous avons donc pu d\u00e9tecter et corriger tous les bugs \u2013 phrase que l&rsquo;\u00e9quipe d&rsquo;ing\u00e9nierie n&rsquo;a jamais prononc\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La refonte de l&rsquo;application a \u00e9t\u00e9 r\u00e9alis\u00e9e pour servir nos utilisateurs tout en facilitant la vie de nos \u00e9quipes en interne qui la g\u00e8rent. Nous int\u00e9grons donc les retours issus d&rsquo;observations et de commentaires tant internes qu&rsquo;externes. Nous sommes partis avec l&rsquo;intention qu&rsquo;aucun processus ne soit d\u00e9t\u00e9rior\u00e9, et que la mise \u00e0 jour de l&rsquo;application ne priorise pas un processus au d\u00e9triment de la qualit\u00e9 d&rsquo;un autre. Et nous sommes convaincus que tout est aussi bien, voire mieux, que dans notre ancienne version.<\/p>\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> Si quelque chose ne vous semble pas normal dans l&rsquo;application, ou si vous voulez simplement nous dire bonjour, n&rsquo;h\u00e9sitez pas \u00e0 <a href='https:\/\/www.mailgun.com\/fr\/contact\/support\/'>contacter notre \u00e9quipe.<\/a> Nous ne nous contentons pas de vous \u00e9couter, nous sommes attentifs \u00e0 vos retours.<\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Soyez excellents les uns envers les autres et cr\u00e9ez des choses cool<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comment conclure un article alors que le projet est toujours en cours\u00a0? L&rsquo;application Mailgun n&rsquo;est sortie que r\u00e9cemment de sa version b\u00eata et nous apportons r\u00e9guli\u00e8rement des am\u00e9liorations mineures tout en planifiant des d\u00e9ploiements plus importants qui s&rsquo;appuieront sur cette refonte initiale. Bill et Ted diraient de rester excellents les uns avec les autres et de continuer \u00e0 faire la f\u00eate. En termes d&rsquo;ing\u00e9nierie, cela signifie que nous allons de l&rsquo;avant et que nous it\u00e9rons.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">G\u00e9n\u00e9rique de fin<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce projet marque une \u00e9tape majeure dans la s\u00e9paration visuelle de nos produits Mailgun et Mailgun Optimize au sein de notre application. Il marque \u00e9galement un tournant technologique et une nouvelle approche de notre d\u00e9veloppement front-end. Au-del\u00e0 du simple aspect esth\u00e9tique, nous avons mis l&rsquo;accent sur les performances afin que nos versions restent petites et agiles. Les changements introduits par cette refonte sont le fruit d&rsquo;un travail d&rsquo;\u00e9quipe exceptionnel qui nous permettra de nous affranchir de notre ancien monolithe front-end.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous n&rsquo;aurions pas pu y parvenir sans l&rsquo;aide de notre \u00e9quipe incroyablement talentueuse, et nous ne voulions pas terminer cette s\u00e9rie sans lui adresser nos remerciements particuliers.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>\u00c9quipe Core UI<\/b>\u00a0: Nando Pe\u00f1a, Matt Leong, Matthew Prestlien<\/li>\n\n\n\n<li><b>\u00c9quipe Growth<\/b>\u00a0: Keith Cruz, Ryan Little, Jorge Miramontes, Mazen Abdul<\/li>\n\n\n\n<li><b>\u00c9quipe Mailgun Optimize<\/b>\u00a0: David Ortiz, Dannon Gilbert, Jeffrey Jurgajtis, Peter Trinder<\/li>\n\n\n\n<li><b>\u00c9quipe Mailgun<\/b>\u00a0: Celeste Rance, Jonathan Kruse, Iqbal Singh, Levi Trejo, John Badali, Chris Farmer, Nicki Snyder (design)<\/li>\n\n\n\n<li><b>Sponsor ex\u00e9cutif<\/b>\u00a0: Josh Odom<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ce projet a commenc\u00e9 comme une initiative locale au sein de Mailgun et s&rsquo;est d\u00e9velopp\u00e9 pour susciter l&rsquo;engouement de toutes les \u00e9quipes. Aujourd&rsquo;hui, notre application mise \u00e0 jour offre des exp\u00e9riences de haut niveau pour les utilisateurs <i>et <\/i>une exp\u00e9rience am\u00e9lior\u00e9e pour l&rsquo;\u00e9quipe de d\u00e9veloppement. Mais nous n&rsquo;avons pas termin\u00e9. Nous n&rsquo;avons jamais termin\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><i>Vous souhaitez passer en coulisses et suivre nos aventures au fil de nos prochains d\u00e9ploiements\u00a0? Inscrivez-vous \u00e0 notre newsletter pour ne rien manquer.<\/i><\/p>\n\n\n    <div data-content-type=\"longform\" class=\"longform-spacings\">\r\n        <div class=\"cta bg-primary rounded-lg px-5 py-6 p-md-7 px-md-6\">\r\n                    <div class=\"form-subscription\">\r\n                            <div class=\"h4 mb-3\">\r\n                    Tenez-moi au courant ! Recevez d&rsquo;excellentes ressources dans votre bo\u00eete de r\u00e9ception chaque semaine.                <\/div>\r\n                                    <form accept-charset=\"UTF-8\" action=\"\" enctype=\"multipart\/form-data\" data-form-subscription method=\"POST\" style=\"max-width: 400px;\">\r\n                <div class=\"row justify-content-between align-items-top g-2\">\r\n                    <div class=\"col-10\">\r\n                        <input type=\"email\" name=\"email\" class=\"form-control\" placeholder=\"Email\" autocomplete=\"email\" required>\r\n                        <div data-fs=\"error\" role=\"alert\" class=\"invalid-feedback\">\r\n                            Please complete this required field.                        <\/div>\r\n                    <\/div>\r\n                                            <div class=\"col-12 order-last mt-3 fs-xxs\" data-fs=\"acceptance\" style=\"display:none;\">\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-terms-5132\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-5132\" class=\"form-check-label text-body-color\">\r\n                                        J&rsquo;ai lu et j&rsquo;accepte les conditions d&rsquo;utilisation.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-privacy-5190\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-5190\" class=\"form-check-label text-body-color\">\r\n                                        J&rsquo;ai lu et j&rsquo;accepte la politique de confidentialit\u00e9.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                                                    <\/div>\r\n                    \r\n                                            <div class=\"col-12 order-last fs-xxs mb-0 mt-2 text-body-color\">\r\n                            Envoyez-moi la newsletter Mailjet. J&rsquo;accepte express\u00e9ment de recevoir la newsletter et je sais que je peux facilement me d\u00e9sabonner \u00e0 tout moment.                        <\/div>\r\n                    \r\n                    <div class=\"col-2\">\r\n                        <button type=\"submit\" value=\"Submit\" aria-label=\"Submit\" class=\"btn btn-secondary btn-icon\">\r\n                            <svg aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/layout\/chevron-right.svg\"><\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <input type=\"hidden\" name=\"formSubscriptionRecaptchaToken\" data-fs=\"recaptcha-token\">\r\n                <input type=\"hidden\" name=\"customListID\" value=\"\">\r\n\r\n            <\/form>\r\n            <div data-fs=\"message-success\" style=\"display: none;\">\r\n                <p class=\"mb-0 mt-2 text-body-color\">\r\n                    D\u00e9couvrez la newsletter de Mailjet chaque mois dans votre bo\u00eete de r\u00e9ception.                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>La refonte de l&rsquo;application Mailgun a \u00e9t\u00e9 un projet colossal et une aventure incroyable. Nous vous emmenons dans les coulisses de nos \u00e9crans pour une plong\u00e9e en deux parties d\u00e9taillant le comment et le pourquoi de cette r\u00e9alisation. Dans la partie 1, nous avons r\u00e9pondu \u00e0 la question : Pourquoi reconstruire ? Dans la partie 2, nous plongeons dans la mise en \u0153uvre et l&rsquo;ex\u00e9cution.<\/p>\n","protected":false},"author":17,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[19],"class_list":["post-25710","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>Refonte de l&#039;application Mailgun pour plusieurs produits\u00a0: 2e partie - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Avoir une id\u00e9e est une chose, l&#039;ex\u00e9cuter en est une autre. D\u00e9couvrez la 2e partie de la refonte de notre application, o\u00f9 nos \u00e9quipes collaborent pour concr\u00e9tiser notre vision.\" \/>\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\/refonte-application-mailgun-partie-deux\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Refonte de l&#039;application Mailgun pour plusieurs produits\u00a0: 2e partie - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Avoir une id\u00e9e est une chose, l&#039;ex\u00e9cuter en est une autre. D\u00e9couvrez la 2e partie de la refonte de notre application, o\u00f9 nos \u00e9quipes collaborent pour concr\u00e9tiser notre vision.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-22T13:44:25+00:00\" \/>\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=\"11 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\\\/refonte-application-mailgun-partie-deux\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/refonte-application-mailgun-partie-deux\\\/\",\"name\":\"Refonte de l'application Mailgun pour plusieurs produits\u00a0: 2e partie - 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\\\/refonte-application-mailgun-partie-deux\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/refonte-application-mailgun-partie-deux\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2023-01-19T00:00:00+00:00\",\"dateModified\":\"2026-09-22T13:44:25+00:00\",\"description\":\"Avoir une id\u00e9e est une chose, l'ex\u00e9cuter en est une autre. D\u00e9couvrez la 2e partie de la refonte de notre application, o\u00f9 nos \u00e9quipes collaborent pour concr\u00e9tiser notre vision.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/refonte-application-mailgun-partie-deux\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/refonte-application-mailgun-partie-deux\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/dev-life\\\/refonte-application-mailgun-partie-deux\\\/#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\\\/refonte-application-mailgun-partie-deux\\\/#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\":\"Plong\u00e9e au c\u0153ur de l\u2019application Mailgun\u00a0: 2e partie \u2013 Une ex\u00e9cution triomphante\"}]},{\"@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":"Refonte de l'application Mailgun pour plusieurs produits\u00a0: 2e partie - Transactional Email API Service For Developers | Mailgun","description":"Avoir une id\u00e9e est une chose, l'ex\u00e9cuter en est une autre. D\u00e9couvrez la 2e partie de la refonte de notre application, o\u00f9 nos \u00e9quipes collaborent pour concr\u00e9tiser notre vision.","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\/refonte-application-mailgun-partie-deux\/","og_locale":"fr_FR","og_type":"article","og_title":"Refonte de l'application Mailgun pour plusieurs produits\u00a0: 2e partie - Transactional Email API Service For Developers | Mailgun","og_description":"Avoir une id\u00e9e est une chose, l'ex\u00e9cuter en est une autre. D\u00e9couvrez la 2e partie de la refonte de notre application, o\u00f9 nos \u00e9quipes collaborent pour concr\u00e9tiser notre vision.","og_url":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-22T13:44:25+00:00","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":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/","url":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/","name":"Refonte de l'application Mailgun pour plusieurs produits\u00a0: 2e partie - 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\/refonte-application-mailgun-partie-deux\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2023-01-19T00:00:00+00:00","dateModified":"2026-09-22T13:44:25+00:00","description":"Avoir une id\u00e9e est une chose, l'ex\u00e9cuter en est une autre. D\u00e9couvrez la 2e partie de la refonte de notre application, o\u00f9 nos \u00e9quipes collaborent pour concr\u00e9tiser notre vision.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/blog\/dev-life\/refonte-application-mailgun-partie-deux\/#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\/refonte-application-mailgun-partie-deux\/#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":"Plong\u00e9e au c\u0153ur de l\u2019application Mailgun\u00a0: 2e partie \u2013 Une ex\u00e9cution triomphante"}]},{"@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\/25710","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\/17"}],"version-history":[{"count":2,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/25710\/revisions"}],"predecessor-version":[{"id":25761,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/25710\/revisions\/25761"}],"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=25710"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog_category?post=25710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}