Lead Developer Qt / QML   chez Pet-Hotel Innovation Solutions, de Décembre 2022 à Aujourd'huiLOGO

PHI Solutions — Aix-en-Provence (FR) — 11 mois
Solution SaaS complète de gestion pour les pensions animalières. :
  • Création de nouveaux modules métier et d'options transverses.
  • Amélioration de la qualité du code, réduction de la dette technique, optimisation de la montée en charge.
  • Intégration de nombreuses API externes pour élargir les fonctionnalités de l'application.
  • Montée en compétence et supervision d'une petite équipe de développeurs junior.
C++QtQMLJavascriptWebSocketJSONSQLite3UI/UX
Expert Indépendant en Réalisation de Projets Qt / QML & Formateur   chez ITG, de Janvier 2015 à Décembre 2022LOGO

PHI Solutions — Aix-en-Provence (FR) — 32 mois
Solution SaaS complète de gestion pour les pensions animalières. :
  • Ré-écriture complète du prototype précédemment développé en externe.
  • Ajout de nouvelles fonctionalités, amélioration de l'expérience utilisateur et des performances.
  • Création d'applications mobiles pour accompagner les clients dans leurs tâches quotidiennes.
  • Mise en commun d'un maximum de code graphique et non-graphique, pour être plus réactif.
  • Déploiement des applications sur plusieurs plateformes (serveur, PC, mobile).
C++QtQMLJavascriptWebSocketJSONSQLite3UI/UX

M6 / BedRock — Lyon (FR) — 6 mois
Nouvelle version de l'application de replay TV du groupe M6 sur Freebox. :
  • Développement de composants réutilisables pour des applications distributeur
  • Modernisation de code existant, changements d'architecture, optimisation de performances
  • Création d'outils d'aide au développement
  • Revue par les pairs, programmation en binôme, passage de compétence
QMLJavascriptJSON/RESTUI/UX

EDAP TMS — Vaulx-en-Velin (FR) — 8 mois
Nouvelle version de l'interface d'une station de lithotripsie :
  • Co-développement de composants graphiques sur-mesure avec les designers
  • Intégration du protocol MQTT de façon simple et semi-automatisée
  • Création d'une interface à usage interne pour faciliter les tests
C++QtQMLMQTTUI/UX

Critical Room Control — Minneapolis (USA) — 7 mois
Réécriture complète de l'interface d'une application de contrôle de système de ventilation pour salle blanche. :
  • Définition de l'architecture de base pour la synchronisation de données avec le controlleur
  • Création de composants graphiques spécifiques et de la navigation entre les pages
  • Ajout d'outils de surveillance et de débogage
  • Implémentation de pages : affichage de données en direct, configuration, rapports et graphiques
C++QtQMLEmbedded LinuxSQLite3

Ascorel — Pont-Evêque (FR) — 14 mois
Développement d'un service de remontée de données d'exploitation de machine de pesage :
  • Définition de la solution technique pour le besoin client
  • Prototypage d'une solution fonctionnelle basique
  • Débuggage et optimisations diverses pour rendre le produit exploitable
  • Développement d'une console d'administration Web avec un serveur léger en Qt
C++QtHTTPSSLPostgreSQL

Invensense / Movea — Grenoble (FR) — 3 mois
Portage d'une application Qt4 vers Qt5 :
  • Réussir à compiler l'application en Qt5, en corrigeant les incompatibilités source
  • Corriger les régressions fonctionnelles et/ou visuels à l'exécution
  • Introduire de nouvelles fonctionnalités, rendues possible par le passage à Qt5 et QML
C++QtQMLJavaScriptGit

Netapsys, EDF, IFSTTAR, EDAP TMS, AKKA Technology, Softbank Robotics, PGA Systems, AE, ... — Lyon, Vaulx-en-Velin, Grenoble, Nantes, Toulouse, Aix-en-Provence, Paris, Châteauroux, Annecy, ... (FR) — 3 à 4 jours
Initier des débutants en C++ au développement d'applications Qt/QML :
  • Explications sur l'écosystème Qt, installation du SDK Qt, et découverte de l'IDE Qt Creator
  • Présentation des spécificités de Qt (avec MOC, les signaux/slots, l'introspection, les métatypes…)
  • Enseignement d'un tout nouveau langage, QML, basé sur le système de méta-objets de Qt
  • Détails sur l'intégration de classes C++ dans QML, à utiliser avec du code JavaScript simple
  • Apprentissage de comment construire une interface moderne avec des composants QtQuick et les classes MVC
  • Conseils sur les bonnes/mauvaises en développement Qt/QML
C++QtQMLJavaScript

Ascorel — Pont-Evêque (FR) — 15 mois
Développement du logiciel de tableau de bord pour le produit d'anti-collision sur grue :
  • Conception et implémentation des pages courantes et des menus de configuration
  • Intégration avec le reste de la machine en utilisant le protocole CANopen
  • Création de contenus visuels quand nécessaire (principalement des icônes vectorielles)
  • Renfort des équipes de développeurs dans leurs tâches (sur des problèmes techniques)
  • Former l'équipe à l'utilisation d'une nouvelle gestion de versions (GIT + GitLab)
  • Débuggage avancé de problèmes de performances sur le système cible Linux embarqué
  • Fourniture d'outils pour améliorer la productivité des développeurs (test, génération de code, simulation…)
  • Ecriture de documentation technique et/ou fonctionelle (en français et en anglais)
C++QtQMLJavaScriptCANCANopenSVGGIT

Haulotte — L'Horme (FR) — 1 mois
Développement d'un serveur de gestion de version pour des ressources applicatives (fichiers binaires et XML lourd) :
  • Conception du web-service pour le serveur
  • Implémentation de la logique de stockage et les fonctionalité de versionnage (hâchage, révisions…)
  • Développement complet de l'application backend serveur
  • Fourniture d'une librairie C++/Qt5 pour faciliter l'intégration côté client
  • Création également d'un front-end simple en HTML pour les tâches d'administration
C++QtHTMLJSONRESTSQL

Haulotte — L'Horme (FR) — 3 mois
Développement d'un protocole de communication entre un PC et une passerelle J1939-Wifi :
  • Conception du protocole, et création du document de spécification
  • Implémentation de la librarie côté PC (en C++/Qt5)
  • Fourniture d'une application de test de conformité pour l'entreprise développant la passerelle
C++QtCAN
Ingénieur Développement Qt / QML   chez Viveris Technologies, de Août 2013 à Janvier 2015LOGO

Ascorel — Pont-Evêque (FR) — 8 mois
Optimisations et évolutions profondes sur le logiciel embarqué sur engins de chantier, en vue d'une prochaine mise en production :
  • Profilage du code existant pour identifier les goulets d'étranglement
  • Investigations plus complètes pour déceler des problèmes bloquants (adaptation de Qt sur OpenEmbedded, drivers vidéo Freescale pour GPU Vivante, stacks socketCAN de Linux…)
  • Re-factorisation quasi-complète de la structure du projet
  • Ré-écriture de certaines couches critiques (modèle de données, interface CANopen etc…)
  • Amélioration visuelle et performances des composants graphiques QtQuick personalisés
  • Effort de documentation et de rétro-conception sur certains points complexes
  • Intégration d'un mode massivement multi-threadé, désactivable au besoin
  • Déploiement et tests en conditions réelles sur la cible matérielle Freescale IMX53
  • Tests complémentaire sur une carte améliorée à base d'IMX.6
  • Formations ponctuelles du client aux outils de développement (QtCreator / QtSDK), à la gestion de version (Mercurial et GIT), et au dessin vectoriel (Inkscape)
C++QtQMLJavaScriptGITSVGCANCANopen

Viveris Technologies — Villeurbanne (FR) — 5 mois
Rédaction de supports approfondis sur le framework Qt / QML, en vue d'une ou plusieurs sessions de formation en interne et chez les clients :
  • Analyse du besoin pour extraire les sujets les plus importants du framework Qt
  • Veille technologique et recherches approfondies pour valider les compétences sur ces sujets
  • Écriture d'un support de cours structuré et détaillé, à imprimer
  • Création d'une présentation diaporama à partir du support de cours
  • Choix d'un sujet de TP couvrant les différents sujets de la formation
  • Rédaction de l'énoncé, avec les contraintes pratiques et le choix de l'architecture
  • Création des projets de base boilerplate servant de base pour les TP
  • Codage et commentaires détaillés sur le projet de correction du TP
  • Infographie pour une plaquette commerciale décrivant la formation, en vue d'un mailing en masse
C++QtQMLJavaScriptPAO

Ascorel — Villeurbanne (FR) — 5 mois
Réécriture du logiciel PC de contrôle à distance des machines embarquées précédemment renouvelées chez ce même client. :
  • Revue du besoin client et des contraintes techniques
  • Prototypage de l'interface QML / QtQuick Controls
  • Proposition technico-commerciale / dossier de conception et d'architecture
  • Mise en place des éléments de communication, par modules
  • Interfaçage avec le web-service SOAP/SSL (via librairie tierce KDSoap Client).
  • Développement intégral du logiciel en C++ / Qt5.1 (QtCore, QtNetwork, QtSerialPort)
  • Implémentation de l'encode/décodage de plusieurs protocoles propriétaires (trames binaires)
  • Documentation du code (Doxygen / DoxyQML)
  • Dossier de test
  • Livraison sources versionnées + installateur (Qt Installer Framework)
C++QtQMLJavaScriptSOAPDoxygenQtIFW
Ingénieur Développement Qt / QML   chez Partialis, de Octobre 2012 à Juillet 2013LOGO

Ascorel — Pont-Evêque (FR) — 6 mois
Réécriture du logiciel embarqué graphique et tactile pour des camion à échelle/nacelle, en gardant la compatibilité avec les anciens noeuds maîtres CAN et leurs trames de donnée. :
  • Revue du besoin client et des contraintes techniques
  • Mise en place d'un prototype de l'interface QML / QtQuick 2
  • Tests de faisabilité pour l'architecture modulaire de communication
  • Développement du modèle de données et des modules de communication en C++ / Qt5
  • Développement d'un module CAN (via la librairie tierce CanFestival)
  • Formation du client à la technologie QML
  • Documentation du code (Doxygen)
  • Gestion de version des source (Mercurial)
C++QtQMLJavaScriptCANDoxygenMercurial

Fresenius-KABI — Brézins (FR) — 4 mois
Développement d'un outil graphique de maintenance / suivi de banc de test pour un client leader dans le domaine médical :
  • Discussions avec le client pour cibler les besoins (adaptation au coeur métier existant)
  • Développement d'une coquille vide présentant la nouvelle interface QML / QtQuick 1
  • Interconnexion de cette interface avec le coeur via un modèle MVC en C++ / Qt4
  • Travail synchronisé avec l'équipe chargée de la maintenance évolutive du coeur
  • Proposition de charte graphique rappelant l'identité visuelle de la marque
C++QtQMLJavaScriptSVGSVN
Ingénieur Développement Qt / QML   chez HR Team, de Janvier 2012 à September 2012LOGO

Adeneo Mobility — Ecully (FR) — 3 mois
Accompagner le client dans la réalisation de plusieurs applications graphique à destination du monde de l'embarqué industriel et de la mobilité grand public :
  • Etude du besoin client
  • Proposition technique et prototypage
  • Développement des interfaces graphiques en QML / QtQuick
  • Développement du coeur applicatif en C++ / Qt4
  • Réflexions avancées sur l'ergonomie des logiciels sur des équipements tactiles de petite taille
  • Interfaçage avec des web-services en REST / JSON
C++QtQMLJavaScriptRESTJSONSVG

JDSU — Saint-Etienne (FR) — 5 mois
Développement sur PC d'une console de contrôle à distance pour des périphériques de terrain, couplant au sein d'un seul outil un déport d'écran VNC, le transfer de fichier par FTP, et un shell de commandes intéractif VT200 via TELNET, le tout sécurisé au moyen de channels distincts utilisant un unique tunnel SSH créé entre la machine et le PC par un serveur centralisé :
  • Analyse du besoin fonctionel
  • Développement de l'interface graphique en QtWidgets, en utilisant un thème CSS personalisé pour gommer les différences entre Windows/Linux/OSX
  • Développement des différents modules du coeur en utilisant C++/Qt4, libvnc, et libssh2
  • Développement d'une implémentation du protocole de terminal linux VT200
  • Gestion de la détection automatique des paramètres proxy (notament l'utilisation de fichier PAC)
C++QtVNCFTPSSHTelnetVT200
Ingénieur Développement Qt    chez ASTEK, de Mai 2011 à Août 2011LOGO

SPIE — Feyzin (FR) — 4 mois
Développement d'une solution graphique de monitoring de réseau de transport en commun, basé sur l'exploitation d'une base de données alimentée en temps réel ainsi que de données géographiques statiques, pour un client exploitant des réseaux de transports publics. Le logiciel doit permettre le placement d’éléments personnalisés sur une carte du réseau :
  • Création de l'interface graphique en C++ / Qt4
  • Prototypage de l'éditeur de cartes supportant le format SVG 1.1 W3C
  • Ajout des données cartographique en Lambert-1
  • Connexion avec les modèles de données dynamiques développés par une autre équipe
C++QtSVGGIS
Analyste-Développeur par Apprentissage (BAC+2) 
(de September 2008 à Juillet 2010)
CFSA de la CCI de l'Indre
Baccalauréat Scientifique 
(de September 2007 à Juin 2008)
Lycée Léonard de Vinci, Amboise