Bon je vais essayer de faire simple ! (pas gagné !)
le projet :
créer une interface web pour le logiciel R (prog évolué de statistiques) complétement guidée à destination des biologistes qui comprennent/connaissent pas R afin d’analyser leurs zolis petites puces à ADN
Actuel:
php lance en ligne de commande via exec() (sytème linux) le logiciel avec comme paramètre un fichier txt contenant les instructions R. Chargement au début des instructions des résultats déjà obtenus à l’étape d’avant et sauvegarde à la fin des nouveaux résultats.
j’ai aussi essayé de faire quelquechose avec proc_open() mais l’essai n’a pas été concluant …
Problème:
le chargement des données existante peut devenir super long, comme on en a besoin pour chaque étapes pas moyen de passer outre, -> entre 1 à 5 mn par page rien que pour recharger les données
Désir:
la possibilité de garder le logiciel en “tache de fond” et pouvoir lui envoyer des commandes au fur et à mesure de la navigation entre les pages comme ça plus besoin de charger les données, juste de faire les nouveaux calculs
Merci d’avance de votre aide si vous voyez une solution à ce problème sinon ben dites le moi aussi pour qu’on puisse prendre une décision !
en php seul y’a pas moyen (enfin ça m’a pas l’air trivial). M’enfin j’ai pas la panacée universelle, y’a ptet quelqu’un qui va pouvoir te sortir un truc de derrière les fagots B)
a grand coup d’ajax c’est pas possible ? mais sinon, ca a pas l’air super adapté php, c’est un client lourd qu’il te faudrait (de loin comme ca a premiere vue)
Client lourd ? tu veux dire coder dans un langage quelconque pour obtenir un exécutable ?
Et puis sinon je vais essayer ajax … éventuellement si quelqu’un a un tuto qui poutre à mort … ceux que j’avais trouvé n’était pas forcément ultimes …
merci
Non mais si le logiciel est pas prevu pour des appels asynchrones c’est mort, surtout en php qui base presque tout sur la notion de requete. C’est effectivement un client lourd qu’il te faudrait (et pas dans un langage quelconque, dans un langage facile a utiliser B))