MyKTAMap Project

**Pour participer au projet et avoir accès au GitHub merci de m’envoyer un message sur Instagram.

Demande de participation au projet (MP via Instagram)

🧭 Introduction générale

MyKTAMap est une application web permettant de visualiser, annoter et exploiter un plan (carrière souterraine, bâtiment, site industriel…) à partir d’une image haute résolution.

L’outil repose sur Leaflet en projection simple (L.CRS.Simple), ce qui permet de travailler sur une carte personnalisée sans coordonnées GPS.

🧩 Fonctionnalités principales

FonctionnalitéÉtat
Affichage du plan (image haute résolution)✅ Disponible
Gestion de calques et d’icônes dynamiques✅ Disponible
Ajout de points d’intérêt (modale + tags custom)✅ Disponible
Mesure de distances✅ Disponible
Tracé de routes (Principal / Secondaire / Chemin)✅ Disponible
Suppression granulaire (dernier point / dernier tracé / tout)✅ Disponible
Export / import JSON de session✅ Disponible
Import de plan via ZIP✅ Disponible
Convertisseur JSON (editor ↔ data)✅ Disponible
Générateur de plan ZIP avec gestion des tags✅ Disponible
Modification d’un plan existant✅ Disponible
Mode performance (tiling JPEG volumineux)✅ Disponible
Application PWA — mode standalone iOS✅ Disponible
Mode hors-connexion (Service Worker)✅ Disponible
Panneau de logs de débogage✅ Disponible
Déplacement simulé via capteurs mobile⚠️ Expérimental

Mises à Jour de l’Application

🗓️ 04/05/2026 — Recherche, Ajustements et Graphismes

  • 🚀 Nouvelle recherche de points optimisée :
    • Trouvez rapidement des points par leur nom, ID, tag, description ou état.
    • Bouton 🔍 « Rechercher un point » ajouté dans la barre latérale.
    • Recherche instantanée avec correction des accents et insensible à la casse.
    • Tri par pertinence pour des résultats plus précis.
    • Affichage détaillé des résultats (image miniature, ID, nom, couche, tags, coordonnées).
    • Navigation clavier facile (↑/↓, Entrée, Échap).
    • Le système enregistre les points par signature de plan pour une meilleure performance.
    • Au clic sur un résultat : vue instantanée sur le point, popup affichée, cercle d’entourage temporaire.
  • 🎨 Couleurs ajustées pour les zones :
    • La couleur des remblais a été modifiée pour un meilleur contraste (#3a3a44 bordure / #5a5a68 remplissage).
    • L’icône du groupe « Zones » a été mis à jour pour mieux représenter la couleur des remblais (🟫 → ⬛).
  • ✨ Éditeur de tableau JSON interactif :
    • Nouveau bouton 📊 « Éditer un fichier JSON » pour modifier des données sous forme de tableau.
    • Détection automatique du format et des colonnes.
    • Édition directe dans les cellules avec validation des types (chiffres pour coordonnées, etc.).
    • IDs en lecture seule (cellule grisée).
    • Signalement visuel des coordonnées hors limites.
    • Sélection d’étiquettes (tags) multiple avec aperçu des icônes.
    • Recherche et tri dans le tableau.
    • Aperçu des modifications sur la carte.
    • Avertissement pour les fichiers de plus de 1000 lignes.
    • Options d’enregistrement flexibles : télécharger, remplacer le calque ou la session.
    • Confirmation avant de quitter si des modifications ne sont pas enregistrées.
  • 💧 Ajout des zones « Eau » :
    • Nouveau type de zone représenté par l’icône 🟦.
    • Ordre d’affichage des zones : Eau → Remblais → Effondrement.
    • Synchronisation des zones sur toutes les vues et exports.
  • 🌐 Améliorations de la page d’accueil :
    • Boutons supplémentaires : 🏗️ « Générer un plan » et 🌐 « Charger le plan serveur ».
  • 📐 Calibrage d’échelle corrigé.
  • 📦 Suppression de l’onglet « Fichiers séparés » dans le chargeur (uniquement ZIP).

🗓️ 03/05/2026 — Exportation Avancée, Zones et Refonte de l’Interface

  • 🖼️ Export de plan avancé :
    • Nouveau module ⚡ « Exporter » avec deux modes : Rapide et 🎨 Avancé.
    • Mode Avancé : choix précis des calques, annotations à inclure.
    • Légende intégrée et positionnable (4 coins ou via sélection sur carte 🎯).
    • 3 styles de légende (Opaque, Semi-transparent, Filigrane) et 3 tailles (Compact, Standard, Large).
    • Export en PNG ou JPEG (90% qualité), résolutions variées.
    • Aperçu via mini-canvas.
    • Le bouton 🖼️ ouvre désormais une modale d’exportation.
  • 🗺️ Nouveau module Zones :
    • Permet de dessiner des zones polygonales (remblais, effondrement, eau).
    • Groupe 🛣️ « Tracés » dans la barre latérale avec sous-actions : 🟫 Remblais, 🟥 Effondrement, 🟦 Eau, ✅ Fermer, 🧹 Effacer.
    • Aperçu pendant le tracé et fermeture facilitée.
    • Préservation des zones dans les exports et sessions.
  • ✨ Refonte graphique de l’interface :
    • Barre latérale réorganisée en 9 groupes d’accordéon (claquage vertical exclusif).
    • Ordre des groupes : Aide 📚, Paramètres ⚙️, Charger ⬇️, Créer/Modifier 🏗️, Enregistrer ⬆️, Tracker 🧭, Mesure 📐, Édition 📌, Tracés 🛣️.
    • Paramètres et Créer/Modifier sont des boutons directs.
    • Mode actif clairement indiqué (couleur, icône).
    • Modale d’importation de session 📥 en plein écran avec aperçu du contenu.
    • Bouton 🎯 de calibrage d’échelle dans les Paramètres ⚙️.
    • Amélioration de l’affichage mobile en paysage.
  • 📱 Icône PWA pour iOS.
  • ➕ Modale d’ajout de point en plein écran.
  • 🏷️ Création de tags dynamique lors de l’ajout de points.
  • 🏷️ Option « Aucun tag » disponible.
  • 📌 Légende refondue et améliorée.
  • 🧹 Suppression granulaire d’éléments (mesures, points, tracés).
  • ✅ Nouvelles fonctions API pour la suppression.
  • 💡 Sécurisation de creerIcones().

🗓️ 02/05/2026 — Mode Hors-Ligne, Générateur et Gestion dynamique des Icônes

  • 📴 Service Worker réactivé : Mode hors-ligne fonctionnel via sw.js.
  • 📦 Générateur de plan ZIP amélioré :
    • Onglet « Modifier existant » pour importer un ZIP et générer un nouveau ZIP modifié.
    • Gestionnaire d’icônes et de tags dynamique.
  • ✏️ Mode ajout de point utilise maintenant la liste de tags dynamique.
  • ✨ Refonte de choisirIcone() et getIconForPoint() pour supporter tous les tags personnalisés.
  • 📦 Suppression du mode « Fichiers séparés » du chargeur (uniquement ZIP).
  • 🚗 Correction de l’icône véhicule à l’export (dimensions désormais correctes).

🗓️ 30/04/2026 — Optimisation des Performances et Détection d’Erreurs

  • ✨ Correction de collisions pour les cartes downscalées.
  • 🚀 Mode performance : Limite MAX_WORK_DIM à 8192px (pour Safari iOS).
  • 🐛 Détection de canvas noir avec nouvelle tentative (pour Safari iOS).
  • 🎨 Création de Blob URL fraîches dans _imageVersCanvasReduit pour éviter la révocation prématurée.
  • 👀 Mode performance affiché en lecture seule dans les Paramètres ⚙️ (modifiable au chargement).

🗓️ 27/04/2026 — Refonte d’Architecture et Mode Performance

  • 🏗️ Refonte complète de l’architecture : Fusion de index.html et import.html en une seule page PWA.
  • 🔄 Suppression des modules d’importation dédiés.
  • ✨ Unification des fichiers config.jsmap.jsmain.js pour gérer les deux modes (serveur + import navigateur).
  • ⚡ Ajout du mode performance (tiling) pour les plans JPEG volumineux sur Safari iOS (tiling.js).
  • ⚙️ Préférences utilisateur persistantes (mode performance, debug motion) séparées du plan.
  • 🐛 Panneau de logs de débogage intégré dans ⚙️.
  • ⚡ Optimisation des collisions avec cache en mémoire.
  • 🔵 Chargement des marqueurs par lots de 50 via requestAnimationFrame.
  • 🛤️ Routes embarquées dans les calques de données JSON (roads[]).
  • ℹ️ Métadonnées PWA ajoutées.
  • 🐛 debug.js : Capture silencieuse des logs.

🗓️ 26/04/2026 — Documentation, Convertisseur JSON et Générateur ZIP

  • 📚 Documentation utilisateur séparée (README_USER.md).
  • 🏠 Aide, Légende, Réglages en modales plein écran.
  • 🔄 Ajout du convertisseur JSON bidirectionnel (éditeur ↔ données).
  • 📦 Ajout du générateur de plan ZIP (createConf.js).
  • ✨ Refonte graphique de l’interface (charte dark cohérente).
  • 🗂️ Import de plan via archive ZIP.
  • ⚙️ Normalisation des formats JSON dans utils.js.
  • ✅ Gestion des modes exclusifs (un seul mode actif à la fois).
  • 🔄 Bouton « vider le cache » avec double confirmation.

🗓️ 25/04/2026 — Documentation Intégrée et Cache

  • 📖 Documentation intégrée à l’interface (README + README_USER).
  • 🔄 Bouton « vider le cache » ajouté dans les réglages.
  • 📱 Correction du responsive design pour l’interface mobile.

🗓️ 22/04/2026 — Mode Import Local

  • 📁 Ajout du mode import local (chargement d’un plan depuis le navigateur sans serveur).

🗓️ 19/04/2026 — Téléchargement, Tracé de Routes et Tracker Amélioré

  • 💾 Bouton « télécharger » intègre désormais tous les calques visibles.
  • 🛤️ Ajout du tracé de routes : Principal / Secondaire / Chemin.
  • 🔄 Interface mise à jour avec import/export global de session JSON.
  • 🧭 Correction du tracker : Intégration de la boussole (alpha, beta, gamma).

Laisser un commentaire