conseil choix technique svp

conseil choix technique svp - Divers - Programmation

Marsh Posté le 23-04-2007 à 16:58:18    

Bonjour,
 
J'aurai besoin de conseils sur les techniques de programmation.
 
Je suis en train de monter un projet pour la petite société ou je travaille. Mon activité consiste à analyser des données avec excel et quelques macro, actuellement, la chaine de mesure est compliquée, couteuse et souvent en rade. Les données proviennent de capteurs en continu qui mesurent un process, hauteur et vitesse de déplacement par exemple.
Je voudrai récupérer toutes la chaine de mesure à mon compte, que les capteurs envoient directement leur données à un serveur web et que l'archivage, le classement et l'analyse se fasse un maximum en ligne. Le volume de données est de l'ordre de 1 mesure par minute (1440/jour), pour une 100taines de mesures).
En outre il faudrait également que le serveur puissent réagir rapidement à des alarmes, en faisant clignoter des points sur la page d'accueil (comme sur un superviseur) et envoie des mails, sms, etc...
 
Je ne suis pas programmeur à la base, j'ai quelques notions issues d'une application php/mysql, qui est en fait l'embryon de ce projet. La sécurité sera un paramètre important mais pas crucial (c'est pas des données bancaires). Plus ça sera simple mieux ça sera.
 
1 - J'ai pensé à une application php/xml/css (je crois qu'on dit ajax !?) couplée à une base mysql. J'ai fait quelque test en svg, c'est assez pratique pour moi, le php génère du svg et on envoie que du texte (pour l'instant je génère des graphiques png avec jpgraph). Pensez vous que cela soit un bon choix ?
 
2 - En svg, ou autre, est-ce possible d'avoir des images réactives où l'on peut sélectionner une zone à la souris et que cela sélectionne les valeurs correspondantes dans la base. Puis avoir un menu contextuel : Je sélectionne les points, et je choisis une action : effacer, remplacer par d'autre, etc.. ?
 
3 - Si vous connaisez des exemples n'hésitez pas à envoyer l'adresse

Reply

Marsh Posté le 23-04-2007 à 16:58:18   

Reply

Marsh Posté le 24-04-2007 à 11:55:12    

Pour les images svg, c'est à toi de voir. Ca demandera moins de puissance au serveur mais encore faut il que les navigateurs soient capable de comprendre convenablement ce format d'image.
 
Réponses :
1) ajax c'est :
- un langage au niveau du navigateur : en général du javascript , parfois un activex, du java (java <> javascript) ou de l'actionscript (le langage des flash)
- des fichiers statique ou dynamique (créé à la demande par du php, de l'asp, ...) envoyé par le serveur. Ce sont normalement des fichiers xml mais certains utilisent des fichiers textes basique.
Les css n'ont rien à voir avec de l'ajax vu que les css sont fait pour modifier la façon dont les éléments sont affiché dans la page alors que l'ajax permet de récupérer des données sur le serveur (ou de lui en envoyer) sans rafraichir toute la page.
 
2) Les "images réactives où l'on peut sélectionner une zone ", c'est au niveau html que ca se gére. La balise "map" (de mémoire c'est le bon nom mais je ne l'utilise jamais) permet de décrire les zones de l'image qui devront se comporter comme des liens. Le probléme, c'est que si tu utilise le format svg, tu risques d'avoir un petit décalage entre les zones que tu indiques et l'image affiché vu que le svg n'est pas un format d'image qui décrit le résultat final pixel par pixel.
Pour l'affichage du menu regarde du côté de javascript. Je pense que c'est encore le plus simple vu que ca sera couplé à une balise "map". Pour l'exécution des actions, appelle une nouvelle page, ca sera le plus simple vu que tu débutes.
 
Personellement, si j'avais à faire ce genre de projet, je ferais un programme windows/linux/autre classique. Ca aurait au moins l'avantage de ne pas nécessiter l'action d'un programme externe (le navigateur) pour que tout s'exécute comme il faut. Autre avantage d'un programme classique : t'auras l'alerte affiché à l'écran dés que l'alerte tombe et non pas 20 ou 30 secondes plus tard. En plus de ça, le php est soumis à un "timeout" donc si pour x raison une étape prend trop de temps, tu risques de "perdre" une alerte (par exemple tu pourais ne pas recevoir de mail)
Pour la base de donnée que tu utilises un programme classique ou que tu le fasses sous forme de site web, mysql sera largement sufisant pour gérer le stockage des données.
 
Pour la sécurité, tu as tord de la négliger. Même si ton application n'est qu'une application de surveillance, elle a surement un role critique. Par conséquent vous ne pouvez pas vous permettre de perdre une journée à réinstaller un serveur (sous peine de ne plus avoir de surveillance pendant 24 heures) par ce qu'un petit malin est tombé sur une faille ce qui a mis le boxon partout. Certe, si votre serveur n'est pas relié à un réseau munis d'accés à internet, vous n'aurez pas besoin de crypter tous les échanges mais il y a quand même un niveau minimum de sécurité à mettre en place : trop de société s'en sont déjà mordus les doigts.
 
PS : Pour le coup de la sécurité, j'ai bossé dans une boite qui ne s'en était pas préocupé pour un des outils interne à la boite. Résultat,  pendant une semaine seuls les informaticiens ont pu bosser et ils ne bossaient que sur la remise en route du systéme et la récupération des données.

Reply

Marsh Posté le 25-04-2007 à 10:27:39    

merci omega2 pour ta longue réponse.
 
ok pour l'ajax, j'y était presque ;).
 
Ce n'est pas des données cruciales, si les alertes on un peu de retard, ce n'est pas bien grave. C'est par exemple une hauteur de rivière, si la rivière atteint une certaine cote on envoie une alarme. c'est pas à une minute près.
 
Le site web c'est justement l'intérêt du truc, c'est plus simple pour le client niveau maintenance informatique et ça permet de mutualiser l'application. et surtout, les entrées-sorties du réseau avec les capteurs et téléphones qui ne passe pas par le réseau du client.
 
Par image réactive ce n'est pas ce que je voulais dire, je connais la balise map avec des zone aera. Dans mon idée les mesures s'affichent, c'est une suite de points avec des coordonnées. il faudrait que le client puissent choisir les points qui l'intéressent par une sélection à la souris, que cette zone de point se grise et qu'on puisse agir dessus. Par exemple si les mesures sont supposées fausses, le client selectionne les points, clic sur un bouton "efface", les valeurs dans le base sont remplacé par "NULL", puis l'image se rafraichi pour afficher une courbe sans ces points. Je ferais des dessin si ce n'est pas clair.

Reply

Marsh Posté le 25-04-2007 à 11:34:21    

Pour le coup des points, je doute que SVG puisse faire l'affaire.
Tu peux par contre le faire en Flash ou en Java, mais ça va faire autant de dev en plus.
 
Le plus simple, c'est d'afficher le relevé des valeurs sous forme tablulaire en dessous du graph (ou dans une popup quand on clic sur le graph) et leur donner la main sur ce tableau.

Reply

Marsh Posté le 26-04-2007 à 08:21:46    

il faudrait alors trouver une astuce pour sélectionner un grand nombre de point au milieu d'une liste, mais l'idée du tableau est pas mal.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed