Développement d’un firmware complet pour un accéléromètre portable. – 3 mois
• Conception d’un firmware spécifique pour l’accéléromètre Shimmer 3, afin de fournir des fonctionnalités avancées non disponibles sur le logiciel fourni par le fabricant.
• Support de fonctions de stockage local de données avec horodatage précis (sur carte SD), et de contrôle de l’accéléromètre depuis un téléphone mobile (via Bluetooth).
• Codage en C/C++ et assembleur, sur microcontrôleur MSP430. Utilisation du système temps réel FreeRTOS v7.6.
Java : Projet TEMIS, conception et développement d’un serveur d’intégration de données. – 5 mois
• Données issues de différents capteurs (Kinect, GPS, accéléromètre, gilet ‘médicalisé’), utilisés pour évaluer le niveau d’activité des sujets. Transmission des données via téléphone portable.
• Serveur basé sur un framework OSGi. Gestion de la sécurité d’accès, et des droits utilisateurs. Intégration avec des services externes (ex: analyse d’activité). Accès aux données depuis le front-end (IHM WEB) via REST.
• Stockage dans une base NoSQL (Couchbase), pour gérer l’important volume de données.
Formateur pour Valtech Training : Animateur de formations techniques.
• Conception objet (encapsulation, principe de substitution, héritage & polymorphisme, design patterns, etc.)
• Modélisation & UML.
• Java (incluant des formations Java pour débutants et intermédiaires, et aussi des formations sur des concepts avancés tels que : multithreading, sécurité, AOP, etc.)
Projet gPM (client Airbus, à Toulouse) : Architecte du projet gPM (Generic Process Management), outil générique pour la création d’applications de gestion de documents, utilisateurs et droits d'accès. - 3 ans et 6 mois
• Encadrement technique de l'équipe (5 à 10 personnes).
• Architecture pilotée par le modèle UML, avec génération de code via l'outil AndroMDA.
• Gestion de données base sur Spring et Hibernate (Oracle DB 10 et PostgreSQL 8).
• IHM WEB dynamique, les formulaires et écrans étant générés suivant la définition de chaque type de document. Développement basé sur le framework Struts, avec intégration du toolkit Javascript Dojo.
• Développement de plusieurs applications / instances basées sur le moteur gPM.
Projet réalisé initialement pour Airbus France, et rendu disponible en OpenSource depuis 2007 (constitue un des composants du projet TOPCASED).
Projet TopG4 (client GIAT Industries, à Bourges) : Responsable technique du développement d'un module de calcul (géodésie et trajectoire balistique) embarqué sur canon automoteur. - 4 mois
• Encadrement technique du développement et de l'équipe (3 personnes).
• Développement d'une passerelle depuis l'interface C++ vers une bibliothèque de calcul en Ada.
Développement d'applications et d'outils (en Java) pour des services interactifs sur télévision, basés sur le moteur Bando de NPTV. - 5 mois
• Conception d’un langage, basé sur XML, permettant de décrire un scénario interactif.
• Limiter la programmation requise pour chaque service / application interactive.
• Formation des graphistes à l'utilisation de ce langage pour réaliser des maquettes de scénarios.
• Développement d’un outil graphique pour la mise au point de scénarios interactifs sur PC, évitant des tests sur les versions 'développeurs' des décodeurs CanalSat & TPS.
• Mise en place d’une gestion de révisions (sous CVS). Formation des développeurs à l'utilisation de l'outil.
Mise en place de solutions de télé-santé (collecte et transmission de données médicales depuis des sites isolés), via des stations portables équipées de PC ou de PDAs.
• Développement d'applications de télé-médecine sur PDA (compatibles PalmOS)
Aide à la localisation, identification et régulation des victimes (projet DELTASS).
Acquisition et affichage d’ECG (Visiocor).
• Développement d’applications sur PC:
Affichage de données issues d'un moniteur de signes vitaux (Java, SWT).
Recueil de données médicales pour les équipes de recherche de la sécurité civile.
• Participation à différents projets européens, démonstrations et promotions de la télé-santé.
• Administration du réseau local, des serveurs (Linux & Windows NT4 server). Gestion de la sécurité informatique (Pare-feu / routeur, DNS, VPN, sauvegarde).
Conception d'une plate-forme technique commune pour le stockage, traitement, et accès sécurisé à des données 'orientées santé'. Le but est de permettre un déploiement chez différents partenaires, dans des contextes projets spécifiques. - 9 mois
• Définition de l'architecture de la plate-forme à partir des besoins des différents projets et partenaires.
• Étude de faisabilité sur les bases sémantiques, et évaluation techniques de différentes bases RDF.
• Socle basé sur des logiciels open source (Virgo / OSGi, base de données RDF Sesame), incluant un support d’intégration de composants tierces.
• Développement d'un démonstrateur, et mise en place sur un premier projet pilote.
Formation des développeurs sur OSGi et sur le développement de modules pour la plate-forme.
e-LogBook (client Airbus, à Toulouse) : Intervention, en qualité d'architecte logiciel, sur le support technique de développement d'une nouvelle version du 'logbook' embarqué. Version convergente devant s’intégrer sur les différentes plateformes des familles d’avions Airbus. - 7 mois
• Encadrement technique d'une équipe de 10 développeurs.
• Réalisation d'un audit de l'existant, incluant une rétro-conception du code précédemment développé sur le projet. (Java, Spring framework, JPA, IHM client basée sur Swing)
• Définition formelle du langage de description IHM utilisé (XML).
• Conception d'une nouvelle couche de communication, sur le standard ATA DSE Logbook v2.04.
Mise en place des principes de développement Agile sur le projet GAC-ASF. Conception d’un atelier de développement pour faciliter la mise en application des principes de l'Agilité. - 5 mois
• Audit sur les méthodes de développement utilisées par le client et leur transition vers Scrum.
• Conception d’un atelier permettant d’outiller la chaine de production du logiciel :
Utilisation de JIRA & GreenHopper, et développement d’outils spécifiques pour une intégration transparente au sein des outils Airbus.
Développement d’un plugin Eclipse de vérification de contraintes OCL sur les modèles des générateurs.
Intégration continue sous Hudson, incluant un calcul de matrices de traçabilité et métriques de qualité sur du code Ada.
• Formation et accompagnement de l’équipe de développement à l’utilisation de l’atelier et sur la méthodologie Scrum.
Solution de télé-médecine pour des urgences médicales en avion. Console embarquée, reliée à des capteurs bio-médicaux - 4 mois
• Architecture technique basée sur des logiciels libres et standards ouverts (SIP, RTP, OpenECG).
• Interface console basée sur Eclipse / RCP.
• Utilisation de code natif pour l’accès matériel depuis Java (caméra vidéo, interface son sous Linux).
• Développement d’une fonction VOIP sur la console embarquée, utilisation d’Asterisk sur l'application station sol.
Intervention, en tant qu’architecte logiciel, pour du conseil technique (Java, Eclipse / RCP) sur le développement d'une nouvelle version de l'application bancaire Delta-Bank. Projet géré en méthode Agile Scrum. - 6 mois
• Découpage technique de l’application client (basée sur Eclipse / RCP) en modules.
• Amélioration de la structure du logiciel (développement monolithique → conception modulaire).
• Formation de l’équipe de développement sur la bonne utilisation des points d’extension et plugins d’Eclipse.
• Conception d'un générateur de bordereaux (basé sur BIRT), déployé sur le serveur.
• Optimisation des traitements métier et des accès données sur le serveur.
Mise en place d'un support d’échange de données entre les logiciels Wake-Up (analyse statistique, écrit en Java) et Petrel (géomodélisation, écrit en C#). - 4 mois
• Formation de l'équipe de développement interne à l'utilisation de CORBA, et au langage IDL.
• Etude de performances sur plusieurs mises en œuvre d’ORB CORBA, en Java et en .Net.
• Mise en œuvre, sous forme de plugins. En Java (pour Wake-Up), et en C# (pour Petrel, via l'API Ocean).
• Développement et optimisation de visualisations 3D de données géologiques (OpenInventor & MeshViz).