Merci beaucoup de l'intérêt que vous portez à mon problème.
Je vais vous expliquer plus en détail mon projet.
C'est un projet de recherche scientifique. Il s'agit de la détections de rayons cosmiques ( particules extraterrestre qui arrivent dans l'atmosphère terrestre à des énergies faramineuses ( des centaines de fois ce que nous sommes capable de produire sur terre )). En entrant dans l'atmosphère, ces particules se désintègrent en une gerbe de sous particules. C'est le résultat de cette désintégration que nous détectons avec nos détecteur. Plusieurs de ces détecteurs sont actuellement en construction. Il seront, à terme, répartis dans tout le bassin parisien.
Le but de mon projet est de collecter toutes les mesures de ces différents détecteurs dans une base de donnée commune, afin de pouvoir analyser leurs résultats. Cette base est hébergée par un serveur free.
Les bases de données free ne sont pas accéssible depuis l'extérieur. Pour y transférer les données, il est nécéssaire de transiter par un script PHP.
Le logiciel pilotant le détecteur sera écrit en Python (il est en cour de conception). Celui-ci rassemblera les mesures dans un fichier XML. Il y a plusieurs mesures par secondes ( caractérisé par 5 variables ), il est donc impossible les envoyer directement. De plus, s'il y a des ruptures temporaires de connexion...
Toutes les heures, le logiciel Python devra expédier l'ensemble des mesures stockés dans le XML vers un script PHP, afin qu'il les stocke dans la base de donnée.
La première solution que nous ayons trouvé était l'envoi des variables une par une. Celle-ci ne s'est pas révélé assez performante. Nous en étions donc à nous demander comment envoyer le fichier XML vers un répertoire du serveur, comme le ferait un formulaire HTML, pour le traiter ensuite avec PHP. ( nous ne voulons pas utiliser le protocole FTP pour des raisons de sécurité )
Vous nous avez donné une excellente idée en nous parlant de flux XML. A vrai dire, nous n'y avions pas pensé. Le problème est que nous avons aucune idée de comment le gérer, ni en python, ni en PHP. J'ai commencé à me renseigner sur le RSS, mais sans succès.
La solution de l'envoi en hexa décimal me paraît interressante. Néanmoins, Apache ne dispose-t'il pas de fonctions appropriés pour gérer les transfert d'information au format XML ?
Voilà notre problème. Vous avez l'air de bien connaitre le domaine. Pouvez vous nous donner des pistes ?
Je me suis pas mal renseigné sur les sockets. Cet outil m'à l'air très puissant. Le problème, c'est que nous avons aucune idée de la manière de concevoir des requêtes appropriés.
Encore merci
Cyrille
Partager