Bonjour à tous, et j'espère être dans le bon forum, sinon n'hésitez pas à me le dire.
Je souhaite créer une sorte de SIG, qui n'aura rien de géographique, mais le but est d'utiliser les outils des SIG pour afficher des schémas (par exemple, schémas électriques "draps de lit") sous forme "slippy map".
Ce que j'espère, c'est pouvoir faire cela sans trop de programmation. Installer et configurer un serveur apache, cela ne me fait pas peur, mais du développement en C++, je ne suis pas cap !
Je vous donne déjà le contexte et les contraintes :
- projet d'envergure "PME",
- 10 à 50 utilisateurs instantanés,
- la "carte", au niveau de zoom maximum ferait de l'ordre de 50 tuiles de large sur 30 de haut (je parle en tuiles de 256x256),
- j'imagine 4 niveaux de zoom,
- la "carte" est en 2D, et j'ai la chance que mon schéma soit plan, et non une projection de sphère, donc pas de Mercator dans l'équation !
- l'idée est aussi d'afficher des méta-données, dont certaines seraient issues d'une base commune (par exemple, tous les matériels en panne sont entourés en rouge), d'autres seraient propres à chaque utilisateur (par exemple, un utilisateur met un marqueur sur tous les matériels sur lesquels il travaille),
- les méta-données sont affichées, ou non, au gré des utilisateurs sur le principe des calques.
Ensuite ce que je connais des SIG, depuis [rien-la-semaine-dernière] jusqu'à aujourd'hui :
1) Il faut des tuiles,
2) Il faut un serveur de tuiles,
3) Il faut un [machin] qui fait le "rendu",
4) Il faut un outil intégré au browser, qui sait demander ce qu'il faut au serveur quand on tourne la molette pour zoomer, ou qu'on fait glisser la petite main pour déplacer la carte,
5) Il faut aussi [quelque chose] capable d'afficher les marqueurs et autres métadonnées au bon endroit,
6) Il faut encore [un truc] qui affiche les calques à la demande.
Alors bien sûr, je ne me rends sans doute pas compte de l'énormité de la tâche (et c'est bien mieux comme ça !), mais voilà ce que j'imagine, et dites-moi si je me trompe.
- Pour (1), soit prendre un png de mon schéma global, et le couper en tuiles de 256x256, soit faire des tuiles vectorielles en svg, ce qui semble être mieux dans mon cas.
- (2) n'a pas l'air très compliqué, et compte tenu du temps de réponse attendu divisé par le nombre d'utilisateurs, cela pourrait même être un simple serveur de fichiers. En effet, selon le principe du stockage http://.../zoom/ligne/colonne.png, je pense qu'on pourrait le remplacer par une ressource réseau Windows du genre R:\\...\zoom\ligne\colonne.png
- Pour (3), j'ai un peu de mal à synthétiser tout ce que j'ai trouvé sur le web. J'ai beaucoup tourné autour d'OSM et je n'ai pas bien compris le rôle de Mapnik et du SGBD relationnel PostgrSQL. Dans mon cas, les mises à jour sont rares et les tuiles peu nombreuses, donc je subodore que beaucoup de contraintes des SIG "mondiaux" disparaissent d'un coup. Est-il possible d'imaginer que (4) communique directement avec (2) qui renvoie "bêtement" les tuiles demandées ?
- Pour (4), c'est là que je compte sur la puissance d'adaptation des outils existants. J'ai beaucoup vu de références à OpenLayers et à Leaflet, et je suppose que ces outils sont déjà installés/accessibles sans qu'on s'en rende compte, puisque tout utilisateur est actuellement capable de naviguer sur google maps et OSM.org sans comprendre ce qu'il y a derrière. Donc je suppose qu'en modifiant la configuration de quelque chose, on sera capable de connecter l'utilisateur à mon serveur de tuiles.
- (5) et (6) ne font peut-être qu'un ? Là encore, est-ce Openlayers (ou Leaflet) qui permet d'effectuer ce travail ? D'autre part, comment sont stockées les méta-données communes (SGBD ?) et comment sont stockées les méta-données personnelles ? Mystère !
Alors voilà, évidemment je ne demande pas à être "pris par la main" du début à la fin (déjà si vous êtes arrivés au bout de ce texte, vous avez du courage !), mais si vous pouvez me donner quelques pistes de recherche, des directions à suivre, des conseils de base qui m'évitent de perdre du temps bêtement, cela m'évitera d'aller dans des impasses. Notamment sur les outils, il me faut du "simple", du "licence libre", et du "vivant", que je n'aille pas perdre mon temps avec une technologie en voie de disparition...
Merci d'avance pour votre aide !
Liens sociaux