Colin Guyon, ingénieur logiciel

{ Web Full Stack / WebAssembly / UI · IHM / Embarqué / IOT / Robotique }

38 ans colin.guyon@gmail.com 06 62 35 66 83 colinguyon.fr permis B
EXPÉRIENCE PROFESSIONNELLE
  • Ingénieur logiciel : simulateurs d'entraînement dans le secteur médical | InSimo 2018 - 2025 • 7 ans 2 mois
    • Projets agiles en équipe : création de logiciels de simulation médicale pour la planification, l'apprentissage de protocoles de diagnostic, et la chirurgie.
    • App web 'Offline First' synchronisée avec le cloud, JavaScript (ES6), Electron, Vue JS, Jest, Node.js, CouchDB + PouchDB, JSON Web Token, Nginx + Lua ....
    • Simulateur d'échographie en ligne (diagnostic du COVID et d'autres pathologies) : diSplay by InSimo.
    • Performance grâce au WebAssembly (C++ compilé, exécuté dans le navigateur Web) (Emscripten).
    • Python et C++, framework SOFA (moteur physique), compilation distribuée, CMake, FASTBuild.
    • Git, tests unitaires, tests end-to-end avec Playwright, intégration continue.
    • DevOps: Docker, serveurs Linux.
    • Bluetooth Low Energy, Web Bluetooth.
    • Utilisation occasionnelle du logiciel de 3D Blender.
  • Ingénieur logiciel Linux embarqué UI et Middleware, TV numérique | Wyplay 2010 - 2018 • 7 ans 6 mois
    • Projets en équipe dans un contexte de méthodologies agiles, pour des opérateurs mondiaux : Vodafone, SFR, R, Proximus, CANAL+, SKY, AT&T ....
    • Tech. leader UI / référent Python. Conception d'un framework MVC et outils associés. Apps en Python, embarquées sur les décodeurs TV / media-centers. Apps Web pour certains clients (JS / HTML / CSS).
    • Développement middleware en C/C++, serveur REST en Python. Android : AOSP / Java / JNI / PyJnius.
    • Conception, développement, maintenance de composants. Revues de code, intégration continue.
    • Gestion de version : Git et Mercurial.
  • Stage d'application ingénieur (Linux embarqué, UI, TV numérique) | Wyplay 2010 • 6 mois

    Optimisation et enrichissement du framework applicatif et UI/graphique. Linux embarqué, Python.

  • Stagiaire développement logiciel | Ifremer (Institut de recherche pour l'exploitation de la mer) 2009 • 4 mois

    Mise en oeuvre d'un système de gestion des données et d'aide au pilotage à distance de planeurs sous-marins (Gliders). Programmation en Python, protocole JABBER / XMPP, Linux.

FORMATION
  • 2006 - 2010 École d'ingénieur | ISEN Toulon (Institut Supérieur de l’Électronique et du Numérique)

    Classe préparatoire PSI suivie du cursus ingénieur, généraliste puis forte orientation en informatique et électronique numérique. Dernière année : Ingénierie logicielle des systèmes d’information.

  • 2005 - 2006 Classes préparatoires aux grandes écoles | CIV (Centre International de Valbonne)

    PCSI (Physique Chimie et Sciences de L'Ingénieur). Admission en PSI*.

  • 2002 - 2005

    Lycée Jean Moulin (Draguignan) : BAC Scientifique spécialité mathématiques, mention bien.

COMPÉTENCES
  • Python, Cython : Utilisé de nombreuses années. Programmation orientée objet, Linux embarqué, IHM, backend Web et serveurs REST (Flask - similaire à Django, ORM SQLAlchemy, Jinja, Bottle), Kivy, ctypes, PyJnius, pytest, mock, Jupyter Notebook, Web scrapping.... Profiling, optimisation, tracking de memory leaks, développement d'outils.... Migrations de bases de code legacy de Python 2 vers Python 3.

  • C, C++ : Middleware embarqué, IHM, microcontrôleurs. GDB, Valgrind ....

COMPÉTENCES (suite)
  • Linux Au travail (idéalement) et environnement personnel

  • JavaScript, HTML, CSS Applications embarquées et sites web dynamiques. ES6, Node.js, Express, Vue JS, React, Jest, Electron, Babel, Webpack, Stapes, Promise, lodash... et JavaScript "natif"

  • WebAssembly, permettant d'exécuter du C/C++ dans une app Web. Emscripten.

  • Java, notamment Applications Android

  • Design et implémentation des interfaces graphiques : IHM / UI 2D & 3D en Python, C, OpenGL, FrontEnd web ...

  • Bases de données SQL SQLite, MySQL, ... et NoSQL MongoDB, CouchDB

  • Git et Mercurial

  • Microcontrôleurs dsPic, Arduino et équivalents, ESP32 (WiPy), nRF52832 (BLE Nano v2), nRF52840... C, C++ ou MicroPython.

  • Raspberry Pi (projets personnels Python / C / Cython).

  • Capteurs et périphériques I2C, SPI, UART, PWM, analogique : accéléromètre, gyroscope, luminosité, température, mouvement (PIR), distance (IR), encodeur rotatif, bouton capacitif, driver de LED, servo moteur, afficheur 7 segments, .... Bluetooth, Bluetooth LE (low energy), Web Bluetooth.

  • PHP

  • Grahisme & 3D : Bonne connaissance d'Adobe Photoshop. Gimp. Blender (occasionnel).

  • Anglais courant (pratique fréquente dans le cadre professionnel). TOEIC (885 points) ainsi que FIRST Certificate of Cambridge (niveau européen : B2) pendant mon cursus ingénieur.

  • Méthodologies agiles

PROJETS PERSONNELS
  • 2024

    Création d'une sonde de température qui produit un graphique en temps réel, notamment pour les cuissons dans mon four solaire (base : mon projet de thermostat pour four à céramiques de 2020).

  • 2021 - 2025

    Améliorations ponctuelles de mon réveil / jukebox en bois fabriqué maison (voir plus bas)

  • 2020

    Création d'un thermostat connecté pour cuissons de céramiques dans un four à éssais. Raspberry Pi Zero W, Python & Serveur web Sanic, Vue JS. Sonde de température: thermocouple type K (jusqu'à ~1300°C). Contrôle et définition claire du programme de cuisson avec une courbe, depuis n'importe quel device (smartphone, ordinateur...).

  • 2019

    Création d'un dashboard et cadre photo connecté Raspberry Pi, écran tactile, Python, framework UI Kivy. Capteurs distants avec microcontrôleur ESP32 (Pycom WiPy 3), MicroPython, Bluetooth LE (low energy).

  • 2018

    Site web pour une agence en ingénierie du bâtiment.
    JS / HTML / CSS / SVG (Front-End) & Python / Flask / Jinja2 / SQLAlchemy / SQLite (Back-End).

  • 2016 - 2017

    Création d'une lampe design interactive, avec une gestion de l'intensité lumineuse dépendant de la position de la main de l'utilisateur. Arduino (Trinket), C/C++, capteur de distance infrarouge, capteur de mouvement PIR.

  • 2016 - 2017

    Création d'une lampe tactile en bois, avec détection de présence. Arduino, C/C++, LED 3W et LED RVB, EEPROM.

  • 2016 - 2022

    Création d'un réveil matin lumineux connecté, contrôlable par smartphone avec une app Android et liaison Bluetooth. Casing en bois, LED 3W, afficheur digital, capteur de température, détection de présence, lecteur de musique, battement des lumières au rythme des graves/mediums/aigus (calcul optimisé de la FFT en C avec GPU_FFT), commandes déportées via Bluetooth LE ...
    Python / C / Cython / Application Android native / Raspberry Pi.
    Quelques briques logicielles publiées en open source (en attendant plus).
    Détails sur wakepiup.colinguyon.fr.

PROJETS PERSONNELS (suite)
  • 2013

    Site web pour une agence d'urbanisme : hets.colinguyon.fr. HTML, CSS, JavaScript, Backend en Python : Flask, SQLAlchemy, Jinja2. (Anciennement habitatetsociete.fr)

  • 2010

    Mon nouveau site de photographie : photo.colinguyon.fr. HTML, CSS, JavaScript, jQuery, AJAX & JSON, PHP 5, base de données SQL.

  • 2009

    Création d’une lampe à LED RVB avec microcontrôleur dsPic. Changement de couleur par inclinaison avec accéléromètre 3 axes, connexion PC Bluetooth avec logiciel Java : gestion des LED en fonction du son.

  • 2009

    Site web pour une agence d’urbanisme : PHP, MySQL, XHTML, CSS, JavaScript, AJAX.

  • 2007

    Mon premier site web de photographie : colin.guyon.free.fr/photo. XHTML, CSS, JavaScript.

PROJETS D'ÉCOLE D'INGÉNIEUR (ISEN Toulon)
  • 2009 - 2010

    Projet de dernière année : Plateforme dédiée aux étudiants de l’école : serveur de gestion de versions, mail (Zimbra), wiki, blogs…. Environnement Linux.

  • 2009 - 2010

    Projets Java en équipe :

    Client/serveur de chat IRC (CMMI niveau 3, 5 personnes). IHM Java + OpenGL (JOGL). Communication à base d'objets sérialisés. Fonctionnalités de dessin, serveur web ....

  • 2009

    Projet technique de 4ème année (5 personnes) : réalisation d'un Quadricoptère commandé par ordinateur en Bluetooth. Réalisation de l'interface graphique 2D + 3D du logiciel de commande en Java + OpenGL (JOGL). Visualisation de l'orientation de l'hélicoptère en temps réel avec un modèle 3D.

  • 2009

    Étude pour JUNIOR ISEN Toulon : site web multilingue pour un vigneron en PHP, MySQL, XHTML, CSS, JavaScript et AJAX, avec backoffice d’administration : gestion des clients, galerie d’images...

  • 2008 - 2009

    Projet optimisation graphique de bas niveau. But : créer une animation 2D/3D en C + OpenGL, puis l’optimiser pour obtenir un FPS maximum en gardant un rendu identique. Meilleur projet.

  • 2008 - 2009

    DSI au sein du BDE. Notamment : conception et réalisation du site web de l’association. PHP, MySQL, HTML, CSS, JS, AJAX.

  • 2007

    Projet technique en électronique (4 personnes) : réalisation d’un cardiomètre (une des contraintes étant de ne pas utiliser de microcontrôleur).

  • 2007

    Projet technique en informatique (4 personnes) : réalisation en langage C d’un logiciel de simulation de banc de poissons avec prédateurs et appâts. Réalisation de l'IHM en 2D + 3D OpenGL.

CENTRES D'INTÉRÊTS ET LOISIRS
  • Photographie : photo.colinguyon.fr

  • Créations électroniques et DIY, design et création d'objets, travaux manuels, travail du bois
    (notamment mon réveil en bois / juke-box musical : wakepiup.colinguyon.fr)

  • Planche à voile, voile, vélo, escalade

  • Sciences, écologie, Low Tech

  • Dessin, aquarelle et gouache, céramique / poterie (novice)

  • Musique, guitare

  • Profil Github: github.com/colin-guyon