Reprise du développement d’une évolution pour un LIMS :
Suite au départ du responsable des développements, j𠆚i été appelé pour prendre en charge les
développements d’une évolution permettant le suivi de génotypage sur le LIMS d’un laboratoire d𠆚nalyses.
Détails :
● Reprise technique :
○ Analyse du code
○ Correctifs et stabilisation.
● Conseil :
○ Intégration continue.
○ Bonne pratiques.
○ Développements pilotés par les tests (TDD).
Résultats :
La mission est en cours. Les premiers travaux ont permis de redresser une application instable et de former les développeurs aux principes du TDD.
O2
Création d’une nouvelle application de planification :
Dans le cadre d’une refonte du système de planification, mise en place d’une solution basée sur une architecture REST. L’objectif étant double : il inclut à la fois la partie serveur, mais aussi la partie front.
Détails :
● Définition et mise en place de web services REST :
○ Création des abstractions dès à l𠆚PI métier existante.
○ Construction des différents web services.
● Développement de la partie cliente sous Angular :
○ Définition des technologies en amont, avec la création d’un POC.
○ Utilisation d𠆚ngular et de Typescript.
Construction d’une application de « Trajets - intermissions » :
Pour les besoins liés au métier du client, où les déplacements des intervenants doivent être pris en compte, développement d’un micro service permettant le calcul de trajets.
Détails :
● Mise en place de la solution :
○ Sous forme de micro service.
○ Utilisation d’un bus de données.
○ Définition du modèle de données
○ Développement sous Spring Boot.
○ Mise en place d’un client Navitia (pour les trajets via transports en commun).
Résultats :
Le planning est en production, l𠆚pplication « Trajets - intermissions » est en cours de construction.
Bilan personnel :
Cette expérience m𠆚 permis de monter en compétences sur Angular. J𠆚i pu aussi partager avec l’équipe mes compétences du monde Java, avec par exemple l’utilisation de principes tels que les génériques.
Objectif :
Développement d’une infrastructure sémantique.
Détails :
Après la construction des connecteurs au sein de l’INRIA, l’objectif ici est d𠆞xploiter cette
technologie afin de construire un environnement permettant la gestion de données sémantiques de bout
en bout.
● Développement d’une librairie de transformation du JSON vers RDF.
● Intégration d𠆞lasticsearch.
● Développement d’un plugin jquery sur la base de json-editor.
● Utilisation de cette infrastructure dans le cadre du projet DOREMUS et de la récupération de
données musicales de Radio France.
● Développement d’une application de navigation dans une ontologie, avec notamment
Angular.
● Création automatique d’une ontologie pour l’Onisep à partir de leur CMS (Ametys).
Résultats :
Un premier POC permet de vérifier la faisabilité du principe : les premiers tests sont très satisfaisants, en
effet, la solution permet de généraliser l’édition de données RDF, ainsi que la recherche au sein de ces
dernières.
Bilan personnel :
Après trois ans de R&D, une première étape importante est franchie. Nous avons pu construire un
environnement aux principes nouveaux, adaptés aux graphes que sont les données du web sémantique.
Objectif :
Développement du site e-commerce fondamenta-music.com, avec utilisation de ressources
sémantiques pour la gestion des news, des artistes, …
Détails :
● Utilisation et adaptation de la solution Spree Commerce (sous Ruby On Rails).
● Connection aux Meaning Engines via Active Resource.
● Import de données depuis des sources CSV.
● Gestion des fichiers sous Amazon S3.
● Tests de déploiements sur Heroku.
Résultats :
Le site est en production.
Bilan personnel :
J𠆚i dû lors de ce projet faire des choix permettant de développer dans des délais très courts et un
budget réduit. Les aspects d𠆞rgonomie (responsivité) et d𠆞sthétique étaient primordiaux et ont
nécessité une attention particulière.
Objectifs :
● Développement d'une solution en ligne de gestion de vide greniers.
Détails :
● Définition des besoins.
● Développement en mode agile.
● Solution où l'ergonomie est essentielle, elle doit permettre aux organisateurs une utilisation
intuitive et un suivi de l'organisation d'une manifestation de bout en bout (gestion
d'emplacements, des disponibilités, des règlements, des utilisateurs et de leur droits …)
● Mise en place d'une solution de paiement (Paybox), et d'un système d'abonnements.
Résultats : L'application est production (sur http://www.resapuces.fr).
Bilan personnel :
● J'ai pu notamment découvrir les dernières technologies dites « responsives », avec Bootstrap.
● J'ai pu mettre en place une solution de paiement et me familiariser avec les problématiques liées à la sécurité, à la signature de données (PGP) et aux processus inhérents à ce type de solution.
● Il est comme toujours intéressant de construire une nouvelle application de bout en bout.
Objectif :
Développement de connecteurs d'acquisition de données.
Détails :
Dans la continuité du projet Discotheka, le but ici est de construire des connecteurs génériques
permettant d'acquérir des données venant de sources diverses et destinées à une base de connaissances
au format RDF. Le projet ayant une forte dominante de R&D, le travail consistait principalement à imaginer
et inventer une solution permettant de répondre au besoin, en exploitant des technologies directement
issues de la recherche, avec :
● L’utilisation d’une API d𠆚lignement basée sur EDOAL (http://alignapi.gforge.inria.fr/edoal.html).
● La définition et la construction de l𠆚lgorithme général.
● La prise en main de Clojure et de la programmation fonctionnelle.
● La mise en place dans un environnement web, avec création notamment de web services
REST.
Résultats : L𠆚pplication est fonctionnelle, elle est maintenant utilisée dans le cadre du projet
Meaningengines.
Bilan personnel :
Cette expérience a été l’occasion d𠆚pprofondir mes connaissances dans le domaine du Web Sémantique,
notamment grâce au travail en collaboration avec une équipe de chercheurs de l’INRIA.
Cela a aussi été l’occasion d𠆚pprofondir la programmation fonctionnelle avec Clojure.
Objectifs :
● Récupération de données bibliographiques d'une base PMB vers un site internet construit sous
Wordpress.
● Assistance technique du webmaster pour l'utilisation de Wordpress.
Détails :
● Définition des besoins.
● Analyse de la structure de la base de donnée source (PMB).
● Analyse de la structure de données cible (Wordpress).
● Développement du programme d'importation sous Ruby On Rails.
● Développement de quelques fonction pour Wordpress (en PHP).
Résultats : La base de donnée chargée est utilisée par le site.
Bilan personnel :
● J'ai pu à cette occasion m'exercer à la tâche particulière de récupération de données.
● J'ai pu découvrir le mode de fonctionnement du moteur de blogs qu'est Wordpress.
Objectifs :
● Reprise en urgence des développements pour le site geopuces.fr .
● Terminer et redresser l'application pour une utilisation optimale, notamment pour tout le
back-office.
Détails :
● Découverte du métier d'éditeur.
● Mise en place des premiers tests sur l'application.
● Correction du modèle de données.
● Développement des différentes fonctions.
● Écriture de requêtes SQL complexes.
Résultats : L'application est opérationnelle et permet la sortie du « Calendrier des brocantes ».
Bilan personnel :
● J'ai pu rapidement cerner l'application et les besoins fonctionnels.
● Cette mission m'a aussi permis de découvrir des outils tels que Git ou Capistrano.
Objectifs :
● Audit des systèmes d'information de achatpublic.com
● Analyse des besoins applicatifs de l'entreprise pour préparer les spécifications futures et
permettre un choix entre Java et .NET.
Détails :
● Assimilation du métier.
● Analyse de l'existant.
○ Étude des différentes applications :
■ Étude de l'architecture.
■ Étude de l'implémentation logicielle.
■ Calcul de métriques.
■ Mise en avant des différents avantages et inconvénients des solutions en place.
○ Rédaction d'un rapport d'une centaine de pages et présentation des résultats.
● Définition d'une architecture cible :
○ Construction de l'architecture.
○ Étude des différents scénarios de migration.
○ Proposition de librairies adaptées (veille technologique).
○ Estimation de la charge induite.
Résultats : Production d'un rapport et présentation en comité, permettant au client une vision précise des
différents besoins nécessaires à chaque scénario de migration.
Bilan personnel :
● J'ai pu découvrir un métier qui m'était jusque là totalement inconnu : les achats publics et la
réglementation qui les encadre.
● Je suis rapidement monté en compétences afin de cerner au plus vite la problématique.
● J'ai pu approfondir mes connaissances sur la gestion de workflows et les circuits de validation.
Développement d'ontologies web sémantiques.
Développement d'un portail web orienté musique et catalogues de la musique.
Développement du back-office nécessaire à la gestion des catalogues et du moteur de recherche.