MyKTAMap
Une application web pour visualiser, annoter et exploiter un plan souterrain — carrière, catacombe, bâtiment, site industriel — à partir d’une simple image haute résolution. 100 % hors-ligne, gratuite, sans GPS, sans pistage.
🧭 De quoi s’agit-il ?
MyKTAMap est née d’un besoin simple : avoir dans la poche une carte souterraine fiable, hors-ligne, et qui ne fuite pas. Pas un app store qui réclame l’accès à tes contacts pour afficher un plan. Pas un site qui te traque dès le premier clic. Pas un cloud qui décide demain de revendre tes traces.
Juste un fichier .zip qui contient le plan, ouvert dans un onglet de navigateur, qui fonctionne sans réseau et te laisse entièrement le contrôle. Techniquement, l’app s’appuie sur Leaflet en projection plane (L.CRS.Simple) : une carte interactive bâtie sur ton image, sans aucune coordonnée GPS.
Elle s’adresse à celles et ceux qui descendent — cataphiles, spéléos amateurs, urbexeurs prudents, secouristes formés au milieu souterrain, chercheurs en patrimoine. Elle ne remplace ni les plans papier annotés, ni les sorties guidées par les anciens, ni la mémoire collective : elle vient en complément, comme un calque numérique posé sur ces savoirs.
🔒 La philosophie
- 🌐 100 % hors-ligne par défaut — une fois le plan chargé, l’app tourne sans réseau. En avion, dans le métro, ou à 30 m sous terre.
- 🛡️ Zéro télémétrie — aucun service tiers ne te suit. Le seul appel externe possible est la mise à jour du code (et tu peux le couper). Tout est vérifiable dans l’Audit réseau intégré.
- 📦 Tes données t’appartiennent — annotations, photos, mesures sont stockées localement dans le navigateur. Exportables à tout moment, effaçables en deux clics.
- 🤝 Code ouvert — licence
CC BY-NC-SA 4.0, auditable. Pas de boîte noire, pas de marketing. - ⚖️ Discrétion = respect — l’app ne contient aucun plan par défaut. À chacun de charger les siens, et de ne pas les diffuser hors du cercle de confiance.
.zip.🧩 Ce que l’application sait faire
🗺️ Lire le plan
Image HD, calques et icônes dynamiques, recherche unifiée (nom, ID, tag, état), coordonnées GPS optionnelles dans les popups, mode multi-niveau pour les carrières à étages.
✏️ Annoter
Points d’intérêt avec tags personnalisés et photos, zones polygonales (eau, remblais, effondrement, inaccessible), structures (piliers, murs, fronts de taille), mesures de distance et de surface.
🛣️ Tracer & éditer
Tracés Principal / Secondaire / Chemin, jonctions inter-niveaux, suppression granulaire (dernier point / dernier tracé / tout), Undo / Redo, éditeur de données JSON sous forme de tableau.
🧭 Se repérer
Tracker de position (capteurs inertiels), boussole, recalage manuel, heatmap de densité de passage, replay de session, navigation calée sur les tracés.
🗺️ Calculer un itinéraire
Plus court chemin (Dijkstra) sur le réseau de tracés, multi-niveau natif, contournement des zones inaccessibles, mode « Je suis perdu » et recherche de la sortie la plus proche.
🚨 Mode Secours
Coordination d’une opération de recherche : équipes, phases, suivi terrain temps réel, partage par QR code hors-réseau, rapport et PDF de briefing pour les secours externes.
🌍 Vue OSM
Superposition du plan souterrain sur la cartographie OpenStreetMap (géoréférencement 2 ancres), opt-in explicite, cache de tuiles hors-ligne. Idéal pour situer une entrée en surface.
📖 Mode Histoire
Une note libre (Markdown) et un PDF documentaire attachés au plan : contexte historique, récits, archives — embarqués dans l’export de session.
📤 Exporter & partager
Session JSON, image PNG/JPG avec légende positionnable, PDF imprimable (A0→A4), KMZ géolocalisé (Google Earth, OsmAnd, Locus, Avenza) et GPX.
🏗️ Créer un plan
Générateur de ZIP, démarrage sur image vierge, gestion dynamique des tags et icônes, conversion en tuiles « V2 » pour les très grosses images, datalayers importables en un clic.
🔐 Rester discret
PWA installable et 100 % hors-ligne, mode incognito, code PIN / Face ID local, code d’accès communautaire, kill-switch anti-fuite des plans, alertes de sécurité diffusables.
🐳 S’auto-héberger
Paquet Docker (Nginx + TLS auto-signé) pour faire tourner ta propre instance en une commande, multi-plateforme, avec tes propres plans.
📋 État des fonctionnalités
| Fonctionnalité | État |
|---|---|
| Affichage de plan HD + calques + icônes dynamiques | ✅ |
| Points d’intérêt, tags personnalisés, photos | ✅ |
| Zones, structures, tracés, mesures distance/surface | ✅ |
| Mode multi-niveau (carrières à étages) | ✅ |
| Itinéraires (Dijkstra) + sortie d’urgence | ✅ |
| Mode Secours (équipes, phases, QR, PDF briefing) | ✅ |
| Vue OSM géoréférencée (opt-in) | ✅ |
| Exports PNG / JPG / PDF / KMZ / GPX | ✅ |
| Multilingue FR / EN / ES | ✅ |
| PWA hors-ligne (Service Worker) + installation iOS/Android/PC | ✅ |
| Mode incognito, PIN / Face ID, kill-switch anti-fuite | ✅ |
| Self-host Docker | ✅ |
| Mode performance (tiling des images volumineuses) | ✅ |
| Aide IA, statistiques de session, indicateur de batterie | ✅ |
| Tracker de position par capteurs (sans GPS) | ⚠️ Expérimental |
🚀 Les grandes étapes
v1.47 — Nouveau loader
Écran de démarrage repensé autour d’une rose des vents vectorielle, plus épurée et nette, jusque dans l’icône de l’application.
Multilingue FR / EN / ES
Toute l’interface traduite, avec sélecteur de langue et bascule à chaud.
Mode Secours complet
D’un simple « je suis perdu » à une vraie console de coordination de recherche : équipes, phases, suivi temps réel, partage QR hors-réseau, rapports et PDF de briefing pour les pompiers.
Vue OSM & géoréférencement
Le plan souterrain projeté sur la carte du monde réel, en opt-in, avec mise en cache hors-ligne.
Multi-niveau & itinéraires
Carrières à étages, jonctions inter-niveaux, calcul du plus court chemin et de la sortie la plus proche.
Mode Histoire & exports avancés
Documenter un plan (note + PDF) et l’exporter en PNG, PDF imprimable, KMZ géolocalisé ou GPX.
Self-host Docker
Faire tourner sa propre instance privée en une commande.
Le journal détaillé, version par version, est consultable dans la documentation intégrée à l’application (modale 📖 Documentation).
🛠️ Sous le capot
MyKTAMap repose entièrement sur des briques open-source : Leaflet (moteur cartographique), JSZip (archives .zip), jsPDF (PDF imprimables), html2canvas (capture pour le briefing secours), OpenStreetMap & ses contributeurs (Vue OSM, attribution ODbL respectée), et l’algorithme de Dijkstra (1959) pour les itinéraires. Le tout en HTML/CSS/JavaScript vanilla, sans framework ni bundler — une PWA qui tient dans un onglet.
🤝 Participer au projet
Pour rejoindre le projet et obtenir l’accès au dépôt GitHub, envoie-moi un message privé sur Instagram. Beta-testeurs terrain, retours d’usage et contributions bienvenus.
Co-développée avec l’assistance de Claude (Anthropic). Aucune donnée n’est collectée — ces lieux appartiennent à leur histoire, leur préservation dépend de la discrétion de ceux qui les fréquentent.