1. Construction et déploiement d'applications web basées sur R
- Author
-
Samba, Alassane, Orange Labs [Lannion], France Télécom, Département Systèmes Réseaux, Cybersécurité et Droit du numérique (IMT Atlantique - SRCD), IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT), Advanced technologies for operated networks (ADOPNET), Université de Rennes (UR)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-RÉSEAUX, TÉLÉCOMMUNICATION ET SERVICES (IRISA-D2), Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS), IMT Atlantique Bretagne-Pays de la Loire (IMT Atlantique), Université de Rennes 1 (UR1), Université de Rennes (UNIV-RENNES)-Université de Rennes (UNIV-RENNES)-RÉSEAUX, TÉLÉCOMMUNICATION ET SERVICES (IRISA-D2), Université de Rennes (UNIV-RENNES)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique Bretagne-Pays de la Loire (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Rennes 1 (UR1), Université de Rennes (UNIV-RENNES)-Université de Rennes (UNIV-RENNES)-IMT Atlantique Bretagne-Pays de la Loire (IMT Atlantique), Université de Bretagne Sud (UBS)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National de Recherche en Informatique et en Automatique (Inria)-École normale supérieure - Rennes (ENS Rennes)-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes 1 (UR1), Université de Rennes (UNIV-RENNES)-CentraleSupélec-IMT Atlantique Bretagne-Pays de la Loire (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Bretagne Sud (UBS)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), and Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria)-École normale supérieure - Rennes (ENS Rennes)-Centre National de la Recherche Scientifique (CNRS)-CentraleSupélec
- Subjects
DevOps ,Plumber ,[STAT.AP]Statistics [stat]/Applications [stat.AP] ,Docker ,[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] ,[STAT.ML]Statistics [stat]/Machine Learning [stat.ML] ,API ,Shiny ,[INFO.INFO-WB]Computer Science [cs]/Web ,déploiement ,application web ,Swagger - Abstract
International audience; La Data Science se développe à grand pas. Le langage R, précurseur dans l'implémentation d'algorithmes issus du monde de la statistique et du Machine Learning, bénéficie d'une certaine avance dans ce domaine comparé à la plupart des langages de programmation. Cependant, vu le besoin grandissant d'embarquer de l'intelligence artificielle dans les applications web, la course est aujourd'hui à la capacité à construire et déployer des applications professionnelles, robustes et fiables, capables d'analyse et d'apprentissage sur les données diverses auxquelles elles peuvent avoir accès. Grâce à sa large communauté de développeurs à travers le monde, le langage R est en train de se doter de plus en plus d'extensions lui permettant de rivaliser avec des langages traditionnels tels que Java, Python ou JavaScript avec NodeJS, qui ont fait leurs preuves sur la construction et le déploiement d'applications web professionnelles. Au sein des services de recherche et développement d'Orange, nous sommes souvent confrontés à des problématiques nécessitant de construire, d'automatiser et de déployer des outils d'analyse, de visualisation et d'apprentissage de données sous forme d'applications web. Le langage R et plusieurs de ses extensions telles que les packages shiny et plumber nous ont largement servi dans ce cadre. Les réponses aux questionnements qui ont émergé tout au long des processus de développement, d'intégration et de déploiement de ces applications ont fait l'objet de passionnants travaux. Ces derniers ont d'ailleurs donné naissance à un package R nommé Rapp. Ce dernier vise en particulier à faciliter le déploiement sur une machine distante de toute application R, qu'elle soit une application Shiny (e.g. [1]) ou une API Plumber (e.g. [2]). La présentation proposée consistera d'abord en un panorama de packages R et d'outils complémentaires intéressants montrant le potentiel de ce langage pour supporter les besoins actuels de déploiement de Data Science et d'intelligence artificielle en tant que service web. Nous parlerons entre autres d'intégration avec des bases de données ou des APIs tierces, de développement d'API et d'interface web sous R, ainsi que de containerisation des applications R. Par la suite, nous présenterons des approches inspirées du monde DevOps que nous utilisons pour construire et déployer des applications web basées entièrement ou en partie sur R. Enfin, nous introduirons le package Rapp que nous proposons pour partager ces approches avec les communautés d'utilisateurs de R. Références [1] https://tomyardstick.sigmant.net/ [2] https://api.tomyardstick.sigmant.net/swagger/ 1
- Published
- 2018