Sujet de stage : codage, test et déploiement collaboratif d’applications dans un cloud.
Mots-clefs : Cloud computing, social coding, versionning, testing, deployment.
Partenaires du projet : CNRS (Université d’Orléans), EFREI (école d’ingénieurs).
Lieux du stage : EFREI (villejuif) et Université d’Orléans.
Stage rémunéré.
Durée du stage : 4 à 6 mois.
Contact : benoit.charroux@efrei.fr
Contexte du stage : le processus de développement d’une application logicielle passe par les étapes de codage, de test, suivi de la mise en production de l’application. Ces étapes requièrent des ressources telles que des machines qui servent de dépôt pour le code source, pour tester l’application, la mettre en production, etc. Des environnements différents doivent aussi être utilisés à chacune des étapes : environnement de développement (Integrated Environment Development par exemple), de tests… Ces environnements doivent supporter les différentes configurations de l’application (la phase de développement requiert une base de données différentes de celle utilisée pour les tests par exemple). De plus des personnes ayant des compétences variées peuvent intervenir à chacune des étapes : administrateurs système, codeurs, testeurs, etc. Ainsi, le processus de développement d’une application est complexe et n’est pas à la portée d’un non spécialiste en développement logiciel.
Dans ce contexte, RunMyCode (www.runmycode.org) est une plateforme récente orienté Cloud Computing. Composée de plusieurs centaines de machines, elle s’adresse aussi bien à des spécialistes qu’à des non spécialiste du développement logiciel : des chercheurs du monde entier travaillant dans plusieurs disciplines (économétrie, traitement d’images, …). RunMyCode se propose d’assister ses utilisateurs dans tout le processus de codage, de test et de mise en production d’applications s’exécutant dans l’infrastructure RunMyCode. RunMyCode compte actuellement plusieurs dizaine d’utilisateurs, et souhaite développer tout un réseau social de chercheurs. Ainsi la collaboration, entre les utilisateurs chercheurs mais aussi avec l’équipe de support de RunMyCode est un enjeu majeur pour l’évolution de la plateforme.
Sujet du stage : le sujet du stage consiste à faire de RunMyCode une plateforme collaborative de développement, de test et de mise en production de code, destinée à des non spécialistes du développement logiciel. Le travail à faire consiste à étudier, à choisir et à intégrer des outils de développement logiciel : outils de gestion des versions du code, des configurations, des bugs, des tests ainsi que des outils pour automatiser le déploiement. Le choix des outils se fera parmi les produits open source tels que (Git pour la gestion des versions, Chef pour la gestion des configurations…). Ces outils devront être adaptés à une utilisation par des non spécialistes.
Profil recherché : étudiant(e) de M2 en master. Maîtrise du génie logiciel (outils et méthodes) et du monde Unix souhaitées. Maîtrise de Java Enterprise Edition pour le développement d’applications Web et Java Script appréciées.