Bonjour à toutes et tous,

je suis actuellement en train de développer une application web qui se greffe sur un système de monitoring réseau, et j'aimerai avoir si possible vôtre avis sur ma logique conceptuelle.

Pour faire simple j'ai une base de données ou les données sont rafraîchit très régulièrement. Je dois mettre en place une carte qui affiche les informations de la DB.

Exemple: Imaginons plusieurs ordinateurs connecté via un switch, on aurait une carte comme ceci: Nom : enterprise-private-network-maps.png
Affichages : 3057
Taille : 255,8 Ko (exemple tiré d'internet).

Pour chaque élément relié entre eux les liens changent de couleur et des tooltips affichent des informations en temps réel à chaque passage sur l'élément...

J'avais déjà fais une première version assez simpliste mais trop de problème de lenteur donc je dois faire une refonte. Je récupérais les informations en php en me connectant en directe a la DB, je passais tout au javascript et c’était javascript qui s'occupait de tous créer et faire le rafraîchissement (je sais c'est sale et ça ralentit le client).

Niveau logique, j'ai changé pas mal de choses:

Pour créer une carte comme celle si (créée dynamiquement) je me base sur un service REST json qui structure les informations de la DB, je fais des appels php pour créer les informations statique (menu, création de l'en-tete, etc...).

La carte est composée de 2 parties, si on est un utilisateur admin on peut créer et modifier une carte existante déplacer les éléments, en supprimer, etc.
Si on est pas admin on peut afficher les cartes donc comme sur la photos et simplement voir le rafraîchissement des éléments en temps réel (si un problème apparaît le lien change de couleur, ...).

J'ai quelques petits soucis:

Le premier: Quand je créer la carte dynamiquement pour positionner les éléments j'utilise jquery (drag and drop et resizable), donc je fais un appel ajax en jquery vers mon service json et je récupère les informations que j'ai besoin pour les positionner sur la carte. (est-ce une bonne façon de le faire ou avez-vous une meilleur solution).

Le deuxième: Quand je sauvegarde la carte (les positions des éléments), pour le moment j'ai un bouton sauvegarder et quand j’appuie dessus je sauvegarde tous les tableaux des éléments (tableaux jquery et appel ajax pour sauvegarder) en DB. Mais cette façon de faire n'est pas très propres car si on quitte pendant la sauvegarde ou que le navigateur plante on perd la carte ou alors simplement si on quitte le navigateur sans sauvegarder on perd tous.
Je me penche sur les session je me dis que ce serait un bon compromis sauver en session au fur et a mesure.

Le troisième: Pour faire le rafraîchissement d'information pour un simple utilisateur , j'utilisais une librairie jquery qui s'occupait de déclencher une fonction toutes les 2 minutes, et qui lançait les fonctions de rafraîchissement, sauf que mon navigateur surchargeait très souvent comme énormément d'information et parfois il plantait. Exemple rafraichissement de 300 éléments et 1000 liens.

Si quelqu'un a une idée qu'il n'hésite pas, je vous remercie d'avance pour vôtre aide en tous cas.