﻿{"id":13897,"date":"2025-05-22T10:00:00","date_gmt":"2025-05-22T08:00:00","guid":{"rendered":"https:\/\/www.sigterritoires.fr\/?p=13897"},"modified":"2025-05-19T23:12:40","modified_gmt":"2025-05-19T21:12:40","slug":"leaflet-et-responsive","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/","title":{"rendered":"Leaflet et responsive"},"content":{"rendered":"\n<p>A l&rsquo;issue du cours d&rsquo;introduction <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/tutoriel-leaflet\/\">Leaflet<\/a>, le mini-projet de fin ressemblait \u00e0 la carte suivante:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"329\" data-attachment-id=\"13898\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/carte_leaflet_sur_pc\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?fit=1678%2C862&amp;ssl=1\" data-orig-size=\"1678,862\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"carte_leaflet_sur_pc\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?fit=640%2C329&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?resize=640%2C329&#038;ssl=1\" alt=\"\" class=\"wp-image-13898\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?resize=1024%2C526&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?resize=300%2C154&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?resize=768%2C395&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?resize=1536%2C789&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?w=1678&amp;ssl=1 1678w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_pc.jpg?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p>Avec une carte affichant des donn\u00e9es geojson, une mini-carte et un titre. Cette capture d&rsquo;\u00e9cran a \u00e9t\u00e9 r\u00e9alis\u00e9e sur un PC et semble correcte. <\/p>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenu <\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#1_Assurez-vous_que_la_carte_occupe_tout_lecran_sans_debordement\" >1. Assurez-vous que la carte occupe tout l\u2019\u00e9cran sans d\u00e9bordement<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#2_Rendre_le_header_responsive\" >2. Rendre le header responsive<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#3_Empecher_la_carte_de_se_masquer_derriere_le_header\" >3. Emp\u00eacher la carte de se masquer derri\u00e8re le header<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#4_Assurez-vous_que_la_carte_redimensionne_bien\" >4. Assurez-vous que la carte redimensionne bien<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#La_mini-carte\" >La mini-carte<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#Solution_1_Cacher_la_MiniMap_sur_les_petits_ecrans_CSS_media_query\" >Solution 1 : Cacher la MiniMap sur les petits \u00e9crans (CSS media query)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#Solution_2_Forcer_la_MiniMap_a_se_replier_automatiquement_sur_mobile\" >Solution 2 : Forcer la MiniMap \u00e0 se replier automatiquement sur mobile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#Solution_3_Reduire_sa_taille_sur_petit_ecran\" >Solution 3 : R\u00e9duire sa taille sur petit \u00e9cran<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#Recommandation\" >Recommandation<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/#Resultat_final\" >R\u00e9sultat final<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p>Mais, qu&rsquo;est-ce que cela donnerait sur un mobile? <\/p>\n\n\n\n<p>La r\u00e9ponse, la voil\u00e0:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"461\" height=\"1024\" data-attachment-id=\"13899\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/carte_leaflet_sur_mobile\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?fit=1080%2C2400&amp;ssl=1\" data-orig-size=\"1080,2400\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"carte_leaflet_sur_mobile\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?fit=461%2C1024&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?resize=461%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-13899\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?resize=461%2C1024&amp;ssl=1 461w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?resize=135%2C300&amp;ssl=1 135w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?resize=768%2C1707&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?resize=691%2C1536&amp;ssl=1 691w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?resize=922%2C2048&amp;ssl=1 922w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?w=1080&amp;ssl=1 1080w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/a><\/figure>\n\n\n\n<p>Le rendu n&rsquo;apparait pas si convenable!<\/p>\n\n\n\n<p>Comme toute la gestion de la page est r\u00e9alis\u00e9e en local, m\u00eame si la carte est fournie \u00e0 travers un serveur qui adapte les pages aux diff\u00e9rentes tailles d&rsquo;\u00e9cran (mobiles, tablettes, ordinateurs), ce n&rsquo;est que le cadre de la carte qui sera adapt\u00e9 et pas son contenu.<\/p>\n\n\n\n<p>Il faut donc prendre en charge cette adaptation dans le code Leaflet de la page.<\/p>\n\n\n\n<p>Pour cela il faut principalement agir sur quatre aspects:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Assurez-vous_que_la_carte_occupe_tout_lecran_sans_debordement\"><\/span><strong>1. Assurez-vous que la carte occupe tout l\u2019\u00e9cran sans d\u00e9bordement<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#map { height: 100vh; }<\/code><\/pre>\n\n\n\n<p>Mais attention, ce style peut <strong>cacher la barre du haut (header)<\/strong> sur mobile. Voici une meilleure approche :<\/p>\n\n\n\n<p><strong> Solution recommand\u00e9e :<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<pre class=\"wp-block-code\"><code>html, body {\n  margin: 0;\n  padding: 0;\n  height: 100%;\n}\n\n#map {\n  position: absolute;\n  top: 70px; \/* Hauteur de ton header *\/\n  bottom: 0;\n  left: 0;\n  right: 0;\n}<\/code><\/pre>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<p>Il faudra ajuste le top selon la hauteur r\u00e9elle du header.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Rendre_le_header_responsive\"><\/span><strong>2. Rendre le header responsive<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ajoutez dans le CSS :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>header {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  gap: 10px;\n  flex-wrap: wrap;\n  position: absolute;\n  z-index: 1000;\n  top: 10px;\n  left: 50%;\n  transform: translateX(-50%);\n  background: rgba(255, 255, 255, 0.9);\n  padding: 10px 20px;\n  border-radius: 8px;\n  box-shadow: 0 2px 6px rgba(0,0,0,0.2);\n  max-width: 90%;\n}\n\n.logo {\n  height: 40px; \/* Ajustable selon ta pr\u00e9f\u00e9rence *\/\n  max-width: 100%;\n}\n\n.title-group {\n  display: flex;\n  flex-direction: column;\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Empecher_la_carte_de_se_masquer_derriere_le_header\"><\/span><strong>3. Emp\u00eacher la carte de se masquer derri\u00e8re le header<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Assurez-vous que le header est <strong>absolu<\/strong> et <strong>au-dessus de la carte<\/strong>, comme par exemple (z-index: 1000), et que la carte commence juste <strong>en dessous du header<\/strong>.<\/p>\n\n\n\n<p>Si vous pr\u00e9f\u00e8rez un header <strong>fixe au-dessus<\/strong> et que la carte prend le reste de l\u2019espace :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>body, html {\n&nbsp; margin: 0;\n&nbsp; padding: 0;\n&nbsp; height: 100%;\n&nbsp; display: flex;\n&nbsp; flex-direction: column;\n}\nheader {\n&nbsp; flex: 0 0 auto;\n}\n#map {\n&nbsp; flex: 1 1 auto;\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Assurez-vous_que_la_carte_redimensionne_bien\"><\/span><strong>4. Assurez-vous que la carte redimensionne bien<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ajoutez dans le script Leaflet :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>window.addEventListener('resize', function () {\n&nbsp; map.invalidateSize();\n});<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"La_mini-carte\"><\/span>La mini-carte<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Un probl\u00e8me fr\u00e9quent est que la MiniMap de Leaflet peut devenir g\u00eanante sur les petits \u00e9crans. Voici <strong>trois solutions compl\u00e9mentaires<\/strong> que vous pouvez mettre en place.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Solution_1_Cacher_la_MiniMap_sur_les_petits_ecrans_CSS_media_query\"><\/span><strong>Solution 1 : Cacher la MiniMap sur les petits \u00e9crans (CSS media query)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ajoutez ce bloc <strong>CSS<\/strong> dans le &lt;style&gt; :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@media screen and (max-width: 600px) {\n&nbsp; .leaflet-control-minimap {\n&nbsp;&nbsp;&nbsp; display: none !important;\n&nbsp; }\n}<\/code><\/pre>\n\n\n\n<p>Cela <strong>masque compl\u00e8tement la MiniMap<\/strong> si la largeur de l\u2019\u00e9cran est inf\u00e9rieure \u00e0 600 pixels (vous pouvez ajuster ce seuil).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Solution_2_Forcer_la_MiniMap_a_se_replier_automatiquement_sur_mobile\"><\/span><strong>Solution 2 : Forcer la MiniMap \u00e0 se replier automatiquement sur mobile<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Modifiez les options dans le code JS :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const miniMap = new L.Control.MiniMap(baseLayerMini, {\n&nbsp; toggleDisplay: true,\n&nbsp; minimized: window.innerWidth &lt; 600&nbsp; \/\/ r\u00e9duite par d\u00e9faut si petit \u00e9cran\n}).addTo(map);<\/code><\/pre>\n\n\n\n<p>Cela la rend <strong>minimis\u00e9e par d\u00e9faut sur mobile<\/strong>, mais l\u2019utilisateur peut l\u2019ouvrir.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Solution_3_Reduire_sa_taille_sur_petit_ecran\"><\/span><strong>Solution 3 : R\u00e9duire sa taille sur petit \u00e9cran<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Si vous pr\u00e9f\u00e8rez la laisser visible mais <strong>plus petite<\/strong>, ajoutez ceci dans le CSS :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@media screen and (max-width: 600px) {\n&nbsp; .leaflet-control-minimap {\n&nbsp;&nbsp;&nbsp; width: 100px !important;\n&nbsp;&nbsp;&nbsp; height: 100px !important;\n&nbsp; }\n&nbsp; .leaflet-control-minimap .leaflet-container {\n&nbsp;&nbsp;&nbsp; width: 100px !important;\n&nbsp;&nbsp;&nbsp; height: 100px !important;\n&nbsp; }\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Recommandation\"><\/span><strong>Recommandation<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pour une <strong>exp\u00e9rience utilisateur fluide<\/strong>, la <strong>solution 1 (masquer)<\/strong> ou 2 (<strong>replier automatiquement<\/strong>) est souvent pr\u00e9f\u00e9rable sur mobile, car les \u00e9crans sont trop petits pour afficher deux cartes efficacement.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Resultat_final\"><\/span>R\u00e9sultat final<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Si le rendu sur PC reste inchang\u00e9, avec ces modifications le rendu sur mobile est le suivant:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"461\" height=\"1024\" data-attachment-id=\"13900\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/leaflet-et-responsive\/carte_leaflet_responsive_sur_mobile\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?fit=1080%2C2400&amp;ssl=1\" data-orig-size=\"1080,2400\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"carte_leaflet_responsive_sur_mobile\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?fit=461%2C1024&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?resize=461%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-13900\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?resize=461%2C1024&amp;ssl=1 461w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?resize=135%2C300&amp;ssl=1 135w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?resize=768%2C1707&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?resize=691%2C1536&amp;ssl=1 691w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?resize=922%2C2048&amp;ssl=1 922w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_responsive_sur_mobile.jpg?w=1080&amp;ssl=1 1080w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>A l&rsquo;issue du cours d&rsquo;introduction Leaflet, le mini-projet de fin ressemblait \u00e0 la carte suivante: Avec une carte affichant des donn\u00e9es geojson, une mini-carte et un titre. Cette capture d&rsquo;\u00e9cran a \u00e9t\u00e9 r\u00e9alis\u00e9e sur un PC&hellip;<\/p>\n","protected":false},"author":1,"featured_media":13899,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2929],"tags":[412,3190,3188,3152,374],"class_list":["post-13897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webmapping","tag-leaflet","tag-mobile-fr","tag-pc","tag-responsive","tag-tablette"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/05\/carte_leaflet_sur_mobile.jpg?fit=1080%2C2400&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-3C9","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/13897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=13897"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/13897\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media\/13899"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=13897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=13897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=13897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}