IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Programme Java avec R en standalone


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Programme Java avec R en standalone
    Bonjour,

    J'ai développé une interface Java pour un programme servant à traiter des images en 3D provenant d'IRM pour un projet et pour étendre cette application, j'aimerais utiliser le langage R pour faire des statistiques sur les images et les résultats des calculs.

    L'application est en standalone et pour l'instant ne requiert aucune installation, la JVM est inclut dans l'archive et il suffit de lancer (cliquer) sur un petit script pour lancer le programme et il faut que cela continue à fonctionner simplement même avec l'ajout de R. Elle fonctionne uniquement sur Linux et Mac (aucune version Windows n'est prévu) avec une version pour tous les Linux et une pour Mac.

    Y-a-t-il une solution pour intégrer l'interpréteur de R et quelques packages (j'utilise par exemple oro.nifti pour les traitements d'images d'IRM) dans l'archive de l'application pour pouvoir lancer des scripts R ? Par exemple, un bouton de l'interface appelle telle fonction R sur les données.
    Je sais qu'il existe des API java mais le soucis est qu'elles n'ont pas toutes les fonctions de R d'implémentées (l'application étant amenée à évoluer et donc utiliser plus de fonctions, si l'une d'elle n'est pas dans l'API ...) et passent par java ce qui risque de ralentir le calcul.
    Il serait donc plus simple a priori d'interpréter les commandes directement avec R.

    On peut toujours proposer une installation mais elle doit être totalement automatique et fonctionner pour tous les linux et les mac avec seulement 2 versions de l'application.

    J'ai cherché un moment avant d'écrire ici mais je n'ai rien trouvé de probant ...

    Merci d'avance.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour Tolhsadum,

    Je reformule pour savoir si j'ai bien compris. Pour simplifier, tu as une application Java et tu veux y intégrer R.

    Pour cela, tu peux comme tu le dis toi même installer R pour faire des traitements en appelant R à partir de Java.

    Mais, il existe peut être une autre solution à trouver en reprenant des bibliothèques Java qui fond du traitement de données ou statistiques et faire ainsi tes traitements en Java. Ce qui semble être plus léger comme solution.

    Bien Cordialement.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Bonjour dev_ggy,

    Oui c'est bien ça que je veux faire, pour la deuxième solution, le soucis c'est que je ne suis pas arrêté sur les fonctions de R que je vais utiliser dans l'application, par conséquent les API java risques de me poser des problèmes si la fonction que je veux n'est pas supportée.

    Par contre pour installer R sur la machine client je ne sais pas vraiment comment faire. Il y a bien des commande du style ./configure make etc... mais est-ce que ça va fonctionner tout le temps sur tous les linux(les versions classique, c'est sur que certaines versions que personne n'utilise vont merder mais je ne les compte pas) et mac ? Et si R est déjà installé chez le client, comment faire pour ne pas overwrite sa version de R.

    C'est pour ça que je me demandais s'il n'était pas possible de faire une version linux et une mac de l'interpréteur que j'ajouterais dans le programme java pour l'appeler quand j'ai besoin des fonctions de R.

    En tout cas merci pour la réponse rapide, bonne journée.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Points : 888
    Points
    888
    Par défaut
    Tu peux très bien mettre R dans un dossier et appeler l'exécutable sans avoir à l'installer.

    Pour les packages, on peut les charger depuis un dossier quelconque. Je me rappelle plus exactement comment mais tu retrouveras facilement.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Theta Voir le message
    Tu peux très bien mettre R dans un dossier et appeler l'exécutable sans avoir à l'installer.
    Ah ce serait parfait, j'ai essayé avec Rscript et l'éxécutable "R" mais ça ne fonctionne pas tout seul, je ne sais pas ce qu'il faut pour que tout fonctionne. Il faut que je parte d'une version installée ou je prend l'archive "à compiler" et j'intègre tout ce que demande l’exécutable pour fonctionner dans mon programme ?

  6. #6
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Re à tous,

    Theta a raison, mais je n'ai pas compris ton problème comme cela.

    Si tu veux déployer ton application Java sur différents postes sans installer à chaque fois R, je ne suis pas sur que cela soit possible. C'est pour cela que je t'ai parlé d'une seconde solution.

    Pour information, Rscript instancie R. C'est une autre façon d'y faire appel.

    Mais si ce n'est pas cela que tu veux faire, c'est que je comprends mal ta demande.

    Bien cordialement.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    C'est bien ça dev_ggy, je veux pouvoir utiliser R sans qu'il soit à la base sur la machine du client.

    Typiquement, j'aimerais pouvoir afficher un graphique statistique de mon fichier excel qui résulte d'une de mes fonctions et utiliser d'autres fonctions de R pour des calculs, etc ... Mais il faut que l'utilisateur n'ait rien à faire à part télécharger mon application et à la limite attendre que R s'installe à la première utilisation de l'application (même si je préférerais, si c'est possible, éviter l'installation).

    Rscript appelle R, ça je l'avais vu mais quand R n'est pas dans l'emplacement attendu, je ne sais pas comment indiquer que R est dans un autre dossier. Parce que si je peux exécuter Rscript, et donc R, à l'emplacement que je veux, je pourrais l'inclure dans mon application avec toutes les dépendances de R et l'utiliser sans installation si j'ai bien compris ? Après il faudra peut-être faire une version Linux et une Mac car R est en version différente pour les deux mais ça ce n'est pas grave.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour Tolhsadum, je cherche à faire la même chose, as-tu trouvé une solution ?

Discussions similaires

  1. Comment lancer un programme java avec Process?
    Par stpaul04 dans le forum Débuter avec Java
    Réponses: 15
    Dernier message: 20/02/2011, 23h52
  2. Morpion (programmation Java avec Eclipse)
    Par flariii dans le forum Débuter
    Réponses: 1
    Dernier message: 15/08/2010, 19h41
  3. Programme Java avec la classe Terminal
    Par ginos dans le forum Langage
    Réponses: 6
    Dernier message: 05/05/2008, 16h07
  4. Comment on connecte un programme Java avec une base de données FireBird?
    Par Gomez dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 16/02/2007, 10h21
  5. Réponses: 2
    Dernier message: 13/02/2007, 16h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo