1
0

index.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta
  7. name="description"
  8. content="Carte mondiale interactive des destinations de voyage et des niveaux d'autorisation pour les militaires de la Gendarmerie."
  9. />
  10. <meta name="theme-color" content="#1f2328" />
  11. <meta
  12. name="robots"
  13. content="noindex, nofollow, noarchive, nosnippet, noimageindex, notranslate"
  14. />
  15. <meta
  16. name="googlebot"
  17. content="noindex, nofollow, noarchive, nosnippet, noimageindex"
  18. />
  19. <meta
  20. name="bingbot"
  21. content="noindex, nofollow, noarchive, nosnippet, noimageindex"
  22. />
  23. <meta property="og:locale" content="fr_FR" />
  24. <meta property="og:type" content="website" />
  25. <meta
  26. property="og:title"
  27. content="Carte des destinations de voyage - Militaires de la Gendarmerie"
  28. />
  29. <meta
  30. property="og:description"
  31. content="Consultez une carte du monde interactive avec catégories d'autorisation, recherche pays et détails de procédure."
  32. />
  33. <meta property="og:url" content="https://git.goutfer.fr/benjamin/CarteVoyageGie" />
  34. <meta property="og:site_name" content="CarteVoyageGie" />
  35. <meta property="og:image" content="./favicon.svg" />
  36. <meta name="twitter:card" content="summary" />
  37. <meta
  38. name="twitter:title"
  39. content="Carte des destinations de voyage - Militaires de la Gendarmerie"
  40. />
  41. <meta
  42. name="twitter:description"
  43. content="Carte du monde interactive avec niveaux d'autorisation et détails par pays."
  44. />
  45. <meta name="twitter:image" content="./favicon.svg" />
  46. <link rel="icon" type="image/svg+xml" href="./favicon.svg" />
  47. <link rel="shortcut icon" href="./favicon.svg" />
  48. <title>Carte du monde interactive</title>
  49. <link rel="stylesheet" href="styles.css" />
  50. </head>
  51. <body>
  52. <main class="app">
  53. <header class="map-header">
  54. <h1>Carte des destinations de voyage</h1>
  55. <p>Militaires de la Gendarmerie</p>
  56. </header>
  57. <button
  58. id="open-mobile-country-list"
  59. class="mobile-country-button"
  60. type="button"
  61. aria-label="Ouvrir la recherche de pays"
  62. >
  63. 🔍
  64. </button>
  65. <button
  66. id="toggle-mobile-legend"
  67. class="mobile-legend-button"
  68. type="button"
  69. aria-controls="category-legend"
  70. aria-expanded="false"
  71. >
  72. Légende
  73. </button>
  74. <aside class="country-sidebar" aria-label="Liste des pays">
  75. <h3>Pays</h3>
  76. <input
  77. id="country-search"
  78. class="country-search"
  79. type="search"
  80. placeholder="Rechercher un pays..."
  81. autocomplete="off"
  82. />
  83. <p id="country-list-count" class="country-list-count"></p>
  84. <ul id="country-list" class="country-list"></ul>
  85. </aside>
  86. <div id="map" class="map" role="img" aria-label="Carte du monde interactive"></div>
  87. <section id="category-legend" class="legend" aria-live="polite"></section>
  88. <p class="map-footer">
  89. Création MDC GOUTFER Benjamin -
  90. <a
  91. href="https://git.goutfer.fr/benjamin/CarteVoyageGie"
  92. target="_blank"
  93. rel="noopener noreferrer"
  94. aria-label="En savoir plus"
  95. >En savoir plus</a
  96. >
  97. </p>
  98. </main>
  99. <div id="map-tooltip" class="map-tooltip" aria-hidden="true"></div>
  100. <div
  101. id="country-list-modal"
  102. class="country-list-modal"
  103. aria-hidden="true"
  104. role="dialog"
  105. aria-modal="true"
  106. aria-labelledby="country-list-modal-title"
  107. >
  108. <div class="country-list-modal-content">
  109. <div class="country-list-modal-head">
  110. <h2 id="country-list-modal-title">Rechercher un pays</h2>
  111. <button
  112. id="close-country-list-modal"
  113. class="close"
  114. aria-label="Fermer la recherche de pays"
  115. >
  116. ×
  117. </button>
  118. </div>
  119. <input
  120. id="country-search-mobile"
  121. class="country-search"
  122. type="search"
  123. placeholder="Rechercher un pays..."
  124. autocomplete="off"
  125. />
  126. <p id="country-list-count-mobile" class="country-list-count"></p>
  127. <ul id="country-list-mobile" class="country-list"></ul>
  128. </div>
  129. </div>
  130. <div id="country-modal" class="modal" aria-hidden="true" role="dialog" aria-modal="true" aria-labelledby="modal-title">
  131. <div class="modal-content">
  132. <button id="close-modal" class="close" aria-label="Fermer la fenêtre">×</button>
  133. <h2 id="modal-title">Pays sélectionné</h2>
  134. <p id="country-name"></p>
  135. <p id="country-category" class="country-category"></p>
  136. <div id="country-data" class="country-data"></div>
  137. </div>
  138. </div>
  139. <script src="https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"></script>
  140. <script src="https://cdn.jsdelivr.net/npm/d3-geo-projection@4/dist/d3-geo-projection.min.js"></script>
  141. <script src="script.js"></script>
  142. </body>
  143. </html>