{"id":51076,"date":"2026-06-30T17:00:10","date_gmt":"2026-06-30T09:00:10","guid":{"rendered":"https:\/\/pcbcool.com\/?p=51076"},"modified":"2026-06-30T17:14:07","modified_gmt":"2026-06-30T09:14:07","slug":"esp32-wifimanager-tutorial","status":"publish","type":"post","link":"https:\/\/pcbcool.com\/fr\/technical-guides\/esp32-wifimanager-tutorial\/","title":{"rendered":"Tutoriel ESP32 WiFiManager pour la configuration WiFi"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"51076\" class=\"elementor elementor-51076\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-246cdd62 e-flex e-con-boxed e-con e-parent\" data-id=\"246cdd62\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-603a1569 e-con-full e-flex e-con e-child\" data-id=\"603a1569\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c032a0 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"5c032a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Si vous avez d\u00e9j\u00e0 exp\u00e9di\u00e9 un projet ESP32 avec des identifiants WiFi cod\u00e9s en dur, vous savez d\u00e9j\u00e0 ce qui va suivre. Cela fonctionne tr\u00e8s bien sur votre banc de test, connect\u00e9 \u00e0 votre r\u00e9seau domestique, puis il est exp\u00e9di\u00e9 \u00e0 un client, dans un autre b\u00e2timent, ou un autre pays, et soudain, il devient une brique jusqu'\u00e0 ce que quelqu'un le re-flash. C'est l'un des probl\u00e8mes les plus courants dans le d\u00e9veloppement de produits IoT, et c'est aussi l'un des plus \u00e9vitables. C'est pr\u00e9cis\u00e9ment le probl\u00e8me que WiFiManager a \u00e9t\u00e9 con\u00e7u pour r\u00e9soudre.<\/p><p>Alors, entrons dans le vif du sujet : qu'est-ce que c'est, comment cela fonctionne-t-il r\u00e9ellement en coulisses, et comment pouvez-vous le faire fonctionner dans votre propre projet ESP32, en commen\u00e7ant par une v\u00e9rification d'installation rapide et en progressant vers le type d'installation que vous souhaiteriez r\u00e9ellement d\u00e9ployer.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1815ebe wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"1815ebe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Pourquoi les identifiants cod\u00e9s en dur ne suffisent pas<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c5aee4 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"5c5aee4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Nous avons tous \u00e9crit cette ligne \u00e0 un moment donn\u00e9 :<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed1372d elementor-widget elementor-widget-code-highlight\" data-id=\"ed1372d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-cpp line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-cpp\">\n\t\t\t\t\tWiFi.begin(&quot;MyHomeNetwork&quot;, &quot;password123&quot;);\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e8e92e color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"1e8e92e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Et pour bricoler sur l'\u00e9tabli, il n'y a rien de mal \u00e0 cela. Mais le moment o\u00f9 votre projet doit quitter l'\u00e9tabli, cette approche commence \u00e0 causer de r\u00e9els probl\u00e8mes :<\/p><ul><li>Aucune flexibilit\u00e9 pour celui qui l'utilise. Celui qui d\u00e9ploie l'appareil doit conna\u00eetre le SSID et le mot de passe exacts avant m\u00eame de le flasher, sinon vous aurez besoin d'un acc\u00e8s physique ult\u00e9rieurement juste pour modifier un param\u00e8tre.<\/li><li>Cela repr\u00e9sente un risque de s\u00e9curit\u00e9. Les identifiants cod\u00e9s en dur dans le firmware se trouvent l\u00e0 en texte clair, pr\u00eats \u00e0 \u00eatre d\u00e9couverts par quiconque d\u00e9sassemblerait le binaire.<\/li><li>Cela ne passe pas \u00e0 l'\u00e9chelle. Vous avez dix unit\u00e9s destin\u00e9es \u00e0 dix sites diff\u00e9rents ? Cela implique dix compilations de micrologiciels diff\u00e9rentes, ou une quantit\u00e9 consid\u00e9rable de reconfigurations manuelles.<\/li><\/ul><p>Ce que nous voulons vraiment, c'est que l'appareil demande simplement \u00e0 l'utilisateur final ses informations WiFi, les enregistre et se reconnecte automatiquement \u00e0 chaque d\u00e9marrage sans que nous ayons jamais \u00e0 toucher au code. C'est la lacune que WiFiManager comble, et il le fait tr\u00e8s bien.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f356964 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"f356964\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Qu'est-ce que WiFiManager<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bfaa1ba color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"bfaa1ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>WiFiManager est une biblioth\u00e8que open-source, initialement \u00e9crite par tzapu et maintenant maintenue par tablatronix, qui offre \u00e0 votre projet ESP32 (ou ESP8266) un moyen autonome et bas\u00e9 sur le web pour configurer le WiFi. Au lieu de coder en dur les identifiants, l'appareil d\u00e9marre en mode Point d'Acc\u00e8s, diffuse son propre petit r\u00e9seau WiFi et propose une page web simple o\u00f9 l'utilisateur peut choisir son r\u00e9seau dans une liste scann\u00e9e et saisir le mot de passe.<\/p><p>Une fois que l'utilisateur clique sur \"Enregistrer\", WiFiManager \u00e9crit les identifiants dans la m\u00e9moire flash et tente de s'y connecter. Par la suite, \u00e0 chaque d\u00e9marrage de l'appareil, il essaie d'abord les identifiants enregistr\u00e9s et ne revient au mode configuration que si la connexion \u00e9choue. L'ensemble de ce sch\u00e9ma est appel\u00e9 portail captif, et vous l'avez tr\u00e8s certainement d\u00e9j\u00e0 rencontr\u00e9 : c'est le m\u00eame m\u00e9canisme qui affiche une page de connexion d\u00e8s que vous vous connectez au WiFi d'un h\u00f4tel ou d'un a\u00e9roport.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa4fdf8 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"aa4fdf8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Comment fonctionne ESP32 WiFiManager<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e255cf wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"1e255cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-default wd-title-style-default wd-title-size-medium text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h3 class=\"woodmart-title-container title wd-fontsize-xl\">Le Fondement : Modes WiFi ESP32<\/h3> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-279172c color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"279172c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>La radio 2,4\u00a0GHz de l'ESP32 peut fonctionner selon trois modes diff\u00e9rents\u00a0:<\/p><ul><li><em>Mode Station (STA) :<\/em> L'ESP32 agit comme un client WiFi normal, se connectant \u00e0 votre routeur tout comme votre ordinateur portable ou votre t\u00e9l\u00e9phone.<\/li><li><em>Mode Point d'Acc\u00e8s (AP) :<\/em> L'ESP32 cr\u00e9e son propre r\u00e9seau, permettant ainsi \u00e0 d'autres appareils de s'y connecter directement.<\/li><li><em>Mode Double (AP+STA) :<\/em> et c'est l\u00e0 que cela devient astucieux\u00a0\u2014 l'ESP32 peut diffuser son propre r\u00e9seau tout en analysant ou en se connectant simultan\u00e9ment \u00e0 un autre routeur.<\/li><\/ul><p>Lorsque l'appareil d\u00e9marre dans un nouvel emplacement sans identifiants enregistr\u00e9s, WiFiManager le bascule en mode AP et commence \u00e0 diffuser un SSID \u2013 quelque chose comme ESP32-Setup. Cela permet \u00e0 votre t\u00e9l\u00e9phone d'acc\u00e9der \u00e0 l'appareil : un pont direct vers le mat\u00e9riel avant qu'il n'ait jamais touch\u00e9 Internet.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b7bcab elementor-widget elementor-widget-image\" data-id=\"8b7bcab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"187\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-400x187.jpg\" class=\"wd-lazy-fade attachment-medium size-medium wp-image-51081\" alt=\"Un point d&#039;acc\u00e8s ESP32 (AP) pour serveur Web\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-400x187.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-1300x607.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-768x359.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-1536x718.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-18x8.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-600x280.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server-150x70.jpg 150w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/an-ESP32-Access-PointAP-for-Web-Server.jpg 1770w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7605974 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"7605974\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-default wd-title-style-default wd-title-size-medium text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h3 class=\"woodmart-title-container title wd-fontsize-xl\">L'Interception : redirection DNS<\/h3> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45cf4f8 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"45cf4f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Alors, votre t\u00e9l\u00e9phone a rejoint le r\u00e9seau de l'ESP32. Comment pouvons-nous l'acheminer vers la page de configuration sans qu'une personne ait \u00e0 saisir manuellement une adresse IP ? Nous piratons le DNS.<\/p><p>Normalement, lorsque vous tapez une URL dans votre navigateur, un serveur DNS la traduit en une adresse IP en arri\u00e8re-plan. Pendant sa phase de configuration, l'ESP32 ex\u00e9cute son propre micro-serveur DNS \u2013 sauf qu'au lieu de r\u00e9pondre correctement, il r\u00e9pond \u00e0 chaque requ\u00eate avec sa propre adresse, g\u00e9n\u00e9ralement 192.168.4.1. Peu importe que votre t\u00e9l\u00e9phone demande google.com ou autre chose ; la r\u00e9ponse est toujours \u201c moi \u201d.\u201d<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4ffaa9 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"c4ffaa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-default wd-title-style-default wd-title-size-medium text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h3 class=\"woodmart-title-container title wd-fontsize-xl\">Le Pi\u00e8ge : Les Portails Captifs<\/h3> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c70f62 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"2c70f62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Cette astuce DNS est pr\u00e9cis\u00e9ment ce qui rend la magie du portail captif possible. Vous l'avez d\u00e9j\u00e0 vue, probablement sans vous en rendre compte : en vous connectant au Wi-Fi d'un a\u00e9roport ou d'un h\u00f4tel.<\/p><p>Les t\u00e9l\u00e9phones et ordinateurs portables modernes v\u00e9rifient automatiquement, au moment o\u00f9 ils se connectent \u00e0 un nouveau r\u00e9seau, si ce r\u00e9seau n\u00e9cessite une connexion. Les appareils Apple, par exemple, interrogent discr\u00e8tement une adresse sp\u00e9cifique en arri\u00e8re-plan pour le savoir. \u00c9tant donn\u00e9 que notre ESP32 intercepte chaque requ\u00eate DNS, il capte \u00e9galement cette v\u00e9rification en arri\u00e8re-plan. Au lieu de la r\u00e9ponse attendue, il renvoie notre page de configuration HTML personnalis\u00e9e. Le syst\u00e8me d'exploitation du t\u00e9l\u00e9phone le voit et ouvre une fen\u00eatre de navigateur sur-le-champ. Personne n'a \u00e0 chercher une adresse IP ; elle s'affiche directement.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5eeacac wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"5eeacac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-default wd-title-style-default wd-title-size-medium text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h3 class=\"woodmart-title-container title wd-fontsize-xl\">Mise en attente : Stockage non volatil (NVS)<\/h3> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84781cf color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"84781cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Une fois que quelqu'un saisit ses d\u00e9tails WiFi et clique sur \u201c Enregistrer \u201d, l'ESP32 a besoin d'un moyen de s'en souvenir, m\u00eame apr\u00e8s la coupure de courant.<\/p><p>Les anciennes cartes s'appuyaient sur l'EEPROM pour cela, mais l'ESP32 utilise quelque chose de plus r\u00e9cent appel\u00e9 NVS, ou Non-Volatile Storage. Pensez-y comme \u00e0 un simple magasin cl\u00e9-valeur, log\u00e9 dans sa propre partition d\u00e9di\u00e9e de m\u00e9moire flash.<\/p><p>Le SSID et le mot de passe sont enregistr\u00e9s en tant que cha\u00eenes de caract\u00e8res sous des cl\u00e9s sp\u00e9cifiques. Lors du prochain d\u00e9marrage de l'appareil, le firmware v\u00e9rifie d'abord la NVS et, s'il trouve des donn\u00e9es valides, il saute toute la proc\u00e9dure de point d'acc\u00e8s et se connecte silencieusement en mode Station. Pas de portail, pas de tracas, juste un d\u00e9marrage normal.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd420fe wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"dd420fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-default wd-title-style-default wd-title-size-medium text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h3 class=\"woodmart-title-container title wd-fontsize-xl\">Contraintes professionnelles : consid\u00e9rations relatives \u00e0 la m\u00e9moire<\/h3> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f58ed5 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"1f58ed5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Voici une comparaison utile : c'est un peu comme appliquer les r\u00e8gles de conception pour la fabrication \u00e0 la disposition d'un circuit imprim\u00e9 pour \u00e9conomiser de l'espace sur la carte. Vous devez g\u00e9rer la m\u00e9moire de votre micrologiciel de la m\u00eame mani\u00e8re minutieuse.<\/p><p>Faire fonctionner simultan\u00e9ment un point d'acc\u00e8s, un serveur web et un serveur DNS consomme une part importante de la RAM de l'ESP32. Laisser ces services actifs une fois que vous \u00eates d\u00e9j\u00e0 connect\u00e9 prive votre application r\u00e9elle de la m\u00e9moire dont elle pourrait avoir besoin.<\/p><p>La meilleure approche pour tout \u00e9l\u00e9ment entrant en production consiste \u00e0 d\u00e9sactiver ces services de configuration d\u00e8s que vous avez \u00e9tabli une connexion r\u00e9ussie. Arr\u00eatez les serveurs web et DNS, lib\u00e9rez leurs ressources une fois que `autoConnect()` a retourn\u00e9, et r\u00e9cup\u00e9rez ainsi la m\u00e9moire pour les activit\u00e9s v\u00e9ritablement importantes : \u00e9chantillonnage des capteurs, ex\u00e9cution de l'inf\u00e9rence, gestion de l'alimentation, tout ce dont votre projet a besoin.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0b0bbd wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"d0b0bbd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Comment installer WiFiManager sur ESP32<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f108f4 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"0f108f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Si vous utilisez l'IDE Arduino ou PlatformIO, l'installation est sans douleur.<\/p><p>IDE Arduino : ouvrez le gestionnaire de biblioth\u00e8ques (Croquis &gt; Inclure la biblioth\u00e8que &gt; G\u00e9rer les biblioth\u00e8ques), recherchez \u201cWiFiManager by tzapu\u201d et installez la derni\u00e8re version, actuellement 2.0.17.<\/p><ol><li>Cliquez sur le gestionnaire de biblioth\u00e8ques<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9e8694e elementor-widget elementor-widget-image\" data-id=\"9e8694e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1816\" height=\"1051\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide.jpg\" class=\"wd-lazy-fade attachment-full size-full wp-image-51085\" alt=\"Gestionnaire de biblioth\u00e8que dans l&#039;IDE Arduino\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide.jpg 1816w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-400x231.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-1300x752.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-768x444.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-1536x889.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-18x10.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-600x347.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Clicking-library-manager-in-Arduino-ide-150x87.jpg 150w\" sizes=\"auto, (max-width: 1816px) 100vw, 1816px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43aac5e color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"43aac5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ol start=\"2\"><li>Tapez WiFiManager et installez WiFiManager par tzapu<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5fa9a46 elementor-widget elementor-widget-image\" data-id=\"5fa9a46\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1825\" height=\"1051\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager.jpg\" class=\"wd-lazy-fade attachment-full size-full wp-image-51086\" alt=\"Installation du gestionnaire Wi-Fi\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager.jpg 1825w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-400x230.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-1300x749.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-768x442.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-1536x885.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-18x10.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-600x346.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Installing-WiFi-Manager-150x86.jpg 150w\" sizes=\"auto, (max-width: 1825px) 100vw, 1825px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8d8f7f color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"a8d8f7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Avant de commencer \u00e0 c\u00e2bler des param\u00e8tres personnalis\u00e9s et la persistance NVS, il est judicieux de confirmer d'abord que le strict minimum fonctionne. La biblioth\u00e8que fournit un exemple qui fait pr\u00e9cis\u00e9ment cela, recherchez Fichier &gt; Exemples &gt; WiFiManager &gt; Basic.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cd265a elementor-widget elementor-widget-image\" data-id=\"6cd265a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1830\" height=\"1080\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code.jpg\" class=\"wd-lazy-fade attachment-full size-full wp-image-51087\" alt=\"Essai de code de base\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code.jpg 1830w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-400x236.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-1300x767.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-768x453.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-1536x906.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-18x12.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-600x354.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Trying-basic-code-150x89.jpg 150w\" sizes=\"auto, (max-width: 1830px) 100vw, 1830px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1ed5921 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"1ed5921\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Connectez-vous \u00e0 cela, et en supposant qu'il n'y ait pas de r\u00e9seau enregistr\u00e9, votre t\u00e9l\u00e9phone devrait imm\u00e9diatement proposer de rejoindre \u201c ESP32-Setup \u201d et la page de configuration devrait appara\u00eetre imm\u00e9diatement. Une fois que vous aurez confirm\u00e9 que cela fonctionne, vous serez pr\u00eat \u00e0 construire la version compl\u00e8te.<\/p><p>Une chose \u00e0 savoir : il existe une poign\u00e9e de forks de WiFiManager dans l'\u00e9cosyst\u00e8me, certains avec des correctifs suppl\u00e9mentaires sp\u00e9cifiques \u00e0 l'ESP32 int\u00e9gr\u00e9s. Ainsi, si vous rencontrez des probl\u00e8mes de compatibilit\u00e9 sur un c\u0153ur ESP32 plus r\u00e9cent, il convient de v\u00e9rifier exactement quel fork vous avez r\u00e9ellement r\u00e9cup\u00e9r\u00e9.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d49e4bb wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"d49e4bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Mise en place d'un WiFiManager ESP32 pr\u00eat pour la production<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c60726 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"6c60726\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Un appel `autoConnect()` simple est id\u00e9al pour prouver le concept, mais un d\u00e9ploiement r\u00e9el n\u00e9cessite g\u00e9n\u00e9ralement un peu plus : des champs personnalis\u00e9s tels qu'une adresse de serveur MQTT, un moyen d'effacer les identifiants enregistr\u00e9s sans re-clignoter le module, et un d\u00e9lai d'expiration raisonnable pour que l'appareil ne reste pas ind\u00e9finiment en mode configuration, ce qui consommerait la batterie.<\/p><p>Voici un sch\u00e9ma complet qui g\u00e8re les trois, construit autour de trois \u00e9l\u00e9ments travaillant ensemble.<\/p><ul><li>Gestion de la m\u00e9moire. Au lieu de diss\u00e9miner les lectures et \u00e9critures de la m\u00e9moire flash dans toute la fonction setup(), nous les avons regroup\u00e9es dans des fonctions d'assistance loadConfig() et saveConfig(). De cette fa\u00e7on, il est imm\u00e9diatement \u00e9vident, d'un seul coup d'\u0153il, quelles parties du code acc\u00e8dent au stockage persistant.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a86d5e elementor-widget elementor-widget-image\" data-id=\"3a86d5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1300\" height=\"757\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-1300x757.jpg\" class=\"wd-lazy-fade attachment-large size-large wp-image-51094\" alt=\"Code de gestion de la m\u00e9moire\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-1300x757.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-400x233.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-768x447.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-1536x894.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-18x10.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-600x349.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code-150x87.jpg 150w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/Memory-management-code.jpg 1806w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc2e84b color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"dc2e84b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>Le m\u00e9canisme de secours. Avant de toucher au WiFi, nous v\u00e9rifions d'abord un bouton de r\u00e9initialisation physique. Ceci est plus important qu'il n'y para\u00eet : si la pile WiFi venait \u00e0 se bloquer ult\u00e9rieurement, un utilisateur sans autre recours aurait besoin d'une voie de sortie garantie. La v\u00e9rification des surcharges mat\u00e9rielles avant toute chose signifie que ce chemin ne pourra jamais \u00eatre bloqu\u00e9 par ce qui vient apr\u00e8s :<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc22e07 elementor-widget elementor-widget-image\" data-id=\"fc22e07\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1300\" height=\"443\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-1300x443.jpg\" class=\"wd-lazy-fade attachment-large size-large wp-image-51095\" alt=\"Code de trappe de secours\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-1300x443.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-400x136.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-768x262.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-1536x524.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-18x6.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-600x205.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code-150x51.jpg 150w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/escape-hatch-code.jpg 1800w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-566ac57 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"566ac57\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>Le flux de configuration. Le flux lui-m\u00eame est agr\u00e9able et lin\u00e9aire : charger ce qui est sauvegard\u00e9, le transmettre au portail comme valeurs par d\u00e9faut, tenter de se connecter, et cette partie est importante : \u00e9crire uniquement dans la m\u00e9moire flash si l'utilisateur a effectivement modifi\u00e9 quelque chose. Il est inutile de gaspiller un cycle d'\u00e9criture flash pour r\u00e9enregistrer ce qui \u00e9tait d\u00e9j\u00e0 l\u00e0 :<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b969a2d elementor-widget elementor-widget-image\" data-id=\"b969a2d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1300\" height=\"753\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-1300x753.jpg\" class=\"wd-lazy-fade attachment-large size-large wp-image-51096\" alt=\"Flux de configuration 1 Code\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-1300x753.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-400x232.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-768x445.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-1536x889.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-18x10.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-600x347.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code-150x87.jpg 150w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-1-Code.jpg 1815w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99dc2fb elementor-widget elementor-widget-image\" data-id=\"99dc2fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1300\" height=\"762\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-1300x762.jpg\" class=\"wd-lazy-fade attachment-large size-large wp-image-51097\" alt=\"Flux de configuration 2 Code\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-1300x762.jpg 1300w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-400x235.jpg 400w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-768x450.jpg 768w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-1536x901.jpg 1536w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-18x12.jpg 18w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-600x352.jpg 600w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code-150x88.jpg 150w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/06\/setup-flow-2-Code.jpg 1796w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64e3adf color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"64e3adf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>En combinant le tout, vous obtenez un flux d'approvisionnement complet et autonome : il v\u00e9rifie un r\u00e9initialisation manuelle, charge ce qui est d\u00e9j\u00e0 enregistr\u00e9, permet \u00e0 l'utilisateur de le visualiser et de le remplacer via un portail captif, se connecte, et ne conserve que ce qui a effectivement chang\u00e9. Aucun service cloud, aucune application compagnon et rien en dehors de l'appareil lui-m\u00eame.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-186dc58 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"186dc58\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Pi\u00e8ges courants de ESP32 WiFiManager<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10a65b6 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"10a65b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Quelques \u00e9l\u00e9ments posent souvent probl\u00e8me avec WiFiManager et m\u00e9ritent d'\u00eatre signal\u00e9s avant que vous ne les rencontriez vous-m\u00eame :<\/p><ul><li>Le portail captif n'appara\u00eet pas toujours automatiquement. Certaines versions d'Android et les t\u00e9l\u00e9phones g\u00e9r\u00e9s par l'entreprise retardent ou d\u00e9sactivent cette d\u00e9tection. Affichez toujours l'adresse IP du portail (192.168.4.1 par d\u00e9faut) sur la console s\u00e9rie, afin que quelqu'un puisse y acc\u00e9der manuellement si le pop-up ne s'affiche jamais.<\/li><li>autoConnect() bloque par d\u00e9faut. Tant que l'appareil reste en mode AP, le reste de votre code setup() ne s'ex\u00e9cutera pas. Si vous avez besoin que d'autres actions se produisent pendant le provisionnement, envisagez plut\u00f4t le mode non bloquant de WiFiManager.<\/li><li>Les NVS peuvent \u00eatre corrompus apr\u00e8s une mise \u00e0 jour du c\u0153ur. La mise \u00e0 jour du c\u0153ur Arduino ESP32 d\u00e9cale parfois la disposition de la partition NVS, et les anciens identifiants commencent \u00e0 \u00eatre lus comme des donn\u00e9es incoh\u00e9rentes. Une r\u00e9initialisation propre des NVS, ou un appel d\u00e9fensif \u00e0 `resetSettings()` lors d'une connexion \u00e9chou\u00e9e, est plus s\u00fbr que de supposer que les anciennes donn\u00e9es sont toujours valides.<\/li><li>Prot\u00e9gez votre point d'acc\u00e8s par mot de passe. Par d\u00e9faut, ce r\u00e9seau de configuration est compl\u00e8tement ouvert. Toute personne \u00e0 proximit\u00e9 peut s'y connecter et voir ou modifier vos param\u00e8tres WiFi. Passez un mot de passe comme deuxi\u00e8me argument \u00e0 autoConnect() et cette porte se ferme.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e54692 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"2e54692\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Le WiFiManager est-il adapt\u00e9 \u00e0 votre projet ESP32<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7406d41 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"7406d41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Pour la plupart des projets grand public et des produits commerciaux en petites s\u00e9ries, WiFiManager atteint un juste milieu tr\u00e8s appr\u00e9ciable : aucune d\u00e9pendance externe, un flux de configuration que les gens comprennent d\u00e9j\u00e0 \u00e0 partir du WiFi des h\u00f4tels et des a\u00e9roports, et \u00e0 peine quelques lignes de code \u00e0 int\u00e9grer.<\/p><p>Cependant, cela ne convient pas \u00e0 toutes les situations. Pour les d\u00e9ploiements industriels sans t\u00eate, imaginons un appareil fix\u00e9 \u00e0 un mur sans \u00e9cran et sans acc\u00e8s physique facile, il est probablement pr\u00e9f\u00e9rable d'opter pour un r\u00e9seau de repli cod\u00e9 en dur, compl\u00e9t\u00e9 par une voie de provisionnement \u00e0 distance via BLE ou une API backend, plut\u00f4t que de compter sur quelqu'un pour s'approcher et connecter son t\u00e9l\u00e9phone au point d'acc\u00e8s de l'appareil. Et si vous travaillez d\u00e9j\u00e0 avec ESP-IDF plut\u00f4t qu'avec Arduino, il est int\u00e9ressant de comparer cela au provisionnement WiFi natif d'Espressif, qui ajoute un provisionnement bas\u00e9 sur BLE \u00e0 c\u00f4t\u00e9 de l'approche habituelle SoftAP\/portail captif et s'int\u00e8gre g\u00e9n\u00e9ralement plus naturellement dans une base de code IDF existante.<\/p><p>Cependant, pour tout ce qui se situe entre les projets de fabrication, les petites startups mat\u00e9rielles, le probl\u00e8me \u201c cet appareil doit fonctionner chez dix clients diff\u00e9rents sans dix builds de firmware diff\u00e9rents \u2019, WiFiManager reste l'une des m\u00e9thodes les plus simples et les plus \u00e9prouv\u00e9es pour r\u00e9soudre le provisionnement WiFi sur l'ESP32.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4762e36 wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"4762e36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">Pens\u00e9es finales<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19391ec color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"19391ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ceci conclut ce tutoriel ESP32 WiFiManager. Une fois la configuration de base op\u00e9rationnelle, les identifiants WiFi cod\u00e9s en dur ne devraient plus faire partie de votre flux de d\u00e9ploiement ESP32.<\/p>\n<p>Si vous rencontrez des probl\u00e8mes lors de la cr\u00e9ation d'un produit IoT bas\u00e9 sur ESP32, vous pouvez toujours discuter de votre projet avec <a href=\"https:\/\/pcbcool.com\/fr\/\">PCBCool<\/a>. Nous avons \u00e9galement r\u00e9cemment lanc\u00e9 un <a href=\"https:\/\/pcbcool.com\/fr\/quote\/\">Syst\u00e8me de devis en ligne<\/a>, ce qui facilite l'obtention de devis pour les projets de PCB et de PCBA tant pour les entreprises que pour les fabricants. Si vous avez un projet connexe, n'h\u00e9sitez pas \u00e0 l'essayer.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-574f1fd6 e-flex e-con-boxed e-con e-parent\" data-id=\"574f1fd6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c60c6b5 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"5c60c6b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-underlined wd-title-size-large text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h2 class=\"woodmart-title-container title wd-fontsize-xxl\">FAQ<\/h2> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-138a87ec e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"138a87ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7feee959 e-con-full e-flex e-con e-child\" data-id=\"7feee959\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-22e96f85 elementor-widget elementor-widget-wd_accordion\" data-id=\"22e96f85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div class=\"wd-accordion wd-style-shadow wd-titles-left wd-opener-pos-left wd-opener-style-arrow\" data-state=\"all_closed\">\n\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"wd-accordion-item\">\n\t\t\t\t\t<div class=\"wd-accordion-title wd-role-btn\" data-accordion-index=\"0\" tabindex=\"0\">\n\t\t\t\t\t\t<div class=\"wd-accordion-title-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\tPourquoi le nombre de couches a-t-il un tel impact sur le co\u00fbt des circuits imprim\u00e9s ?\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<span class=\"wd-accordion-opener\"><\/span>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"wd-accordion-content wd-entry-content\" data-accordion-index=\"0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p>La raison principale est que chaque couche ajout\u00e9e rend le processus de fabrication plus difficile \u00e0 contr\u00f4ler. Plus il y a de couches, plus il y a de risques de d\u00e9fauts dans les couches internes, de probl\u00e8mes d'alignement, de difficult\u00e9s de laminage et de rebut.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2b32d82c e-con-full e-flex e-con e-child\" data-id=\"2b32d82c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a272c7d elementor-widget elementor-widget-wd_accordion\" data-id=\"a272c7d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div class=\"wd-accordion wd-style-shadow wd-titles-left wd-opener-pos-left wd-opener-style-arrow\" data-state=\"all_closed\">\n\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"wd-accordion-item\">\n\t\t\t\t\t<div class=\"wd-accordion-title wd-role-btn\" data-accordion-index=\"0\" tabindex=\"0\">\n\t\t\t\t\t\t<div class=\"wd-accordion-title-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\tPourquoi les conceptions BGA exigent-elles un contr\u00f4le de fabrication de PCB plus strict ?\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<span class=\"wd-accordion-opener\"><\/span>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"wd-accordion-content wd-entry-content\" data-accordion-index=\"0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p>Les pastilles BGA sont petites et espac\u00e9es de pr\u00e8s, de sorte que de petites erreurs de fabrication peuvent facilement devenir des probl\u00e8mes d'assemblage.<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46d73f7c elementor-widget elementor-widget-shortcode\" data-id=\"46d73f7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t<link rel=\"stylesheet\" id=\"elementor-post-38934-css\" href=\"https:\/\/pcbcool.com\/wp-content\/uploads\/elementor\/css\/post-38934.css?ver=1783499573\" type=\"text\/css\" media=\"all\">\n\t\t\t\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"38934\" class=\"elementor elementor-38934\" data-elementor-post-type=\"cms_block\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-33bcad2 e-flex e-con-boxed e-con e-parent\" data-id=\"33bcad2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c2f6cd0 e-con-full e-flex e-con e-child\" data-id=\"c2f6cd0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-819b8cd e-con-full e-flex e-con e-child\" data-id=\"819b8cd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-abdf582 elementor-widget elementor-widget-image\" data-id=\"abdf582\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"250\" src=\"https:\/\/pcbcool.com\/wp-content\/themes\/woodmart\/images\/lazy.svg\" data-src=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/01\/Sam-K.jpg\" class=\"wd-lazy-fade attachment-full size-full wp-image-38937\" alt=\"Sam K\" srcset=\"\" data-srcset=\"https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/01\/Sam-K.jpg 250w, https:\/\/pcbcool.com\/wp-content\/uploads\/2026\/01\/Sam-K-150x150.jpg 150w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2cd26df e-con-full e-flex e-con e-child\" data-id=\"2cd26df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-836541e wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"836541e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-default wd-title-style-default wd-title-size-default text-left\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<div class=\"woodmart-title-container title wd-fontsize-l\">Sam K | Ing\u00e9nieur Syst\u00e8mes Embarqu\u00e9s<\/div> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7fc678a e-con-full e-flex e-con e-child\" data-id=\"7fc678a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0e97d99 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"0e97d99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Sam K travaille sur des syst\u00e8mes \u00e9lectroniques embarqu\u00e9s, avec un accent particulier sur la conception mat\u00e9rielle, le d\u00e9veloppement de circuits imprim\u00e9s (PCB), la programmation de firmware, et l'int\u00e9gration syst\u00e8me. Il soutient \u00e9galement l'optimisation des performances et contribue \u00e0 transformer les id\u00e9es de produits \u00e9lectroniques en solutions fiables et concr\u00e8tes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-092f191 elementor-widget elementor-widget-html\" data-id=\"092f191\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"custom-btn-wrapper\">\r\n  <a href=\"https:\/\/pcbcool.com\/fr\/author\/sam-k\/\" class=\"custom-btn\">Lire plus d'articles de Sam K \u2192<\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>L'ESP32 WiFiManager est une biblioth\u00e8que qui aide les appareils ESP32 \u00e0 configurer leur connexion WiFi sans identifiants cod\u00e9s en dur. Ce tutoriel explique comment l'installer \u00e9tape par \u00e9tape.<\/p>","protected":false},"author":11,"featured_media":51106,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Tutoriel ESP32 WiFiManager : Configuration WiFi sans codage en dur | PCBCool","description":"L'ESP32 WiFiManager est une biblioth\u00e8que qui aide les appareils ESP32 \u00e0 configurer leur connexion WiFi sans identifiants cod\u00e9s en dur. Ce tutoriel explique comment l'installer \u00e9tape par \u00e9tape."},"footnotes":""},"categories":[113],"tags":[120],"post_folder":[],"class_list":["post-51076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-guides","tag-esp32"],"_links":{"self":[{"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/posts\/51076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/comments?post=51076"}],"version-history":[{"count":5,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/posts\/51076\/revisions"}],"predecessor-version":[{"id":51105,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/posts\/51076\/revisions\/51105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/media\/51106"}],"wp:attachment":[{"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/media?parent=51076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/categories?post=51076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/tags?post=51076"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/pcbcool.com\/fr\/wp-json\/wp\/v2\/post_folder?post=51076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}