William - Chef de projet C++
Ref : 160206B005-
33200 BORDEAUX
-
Chef de projet, Consultant, Développeur (44 ans)
-
Freelance
7 ans Algorithmes et architectures temps-réel, logiciels embarqués, IoT THALES , ZODIAC, IXXI
3 ans Algorithmes de CAO spécifiques 3D, 2D LECTRA SYSTEMES VSG3D FEI
5 ans Responsable du département Architecture Logicielle et Outils eDevice
4 ans Génie logiciel - Génération de code THALES / Apside / Sage
2 ans Vision artificielle / traitement d'image Freelance et I2S
3 ans Auditeur technique, Expertise logicielle Apside / Duffau / IXXI / Cour d'Appel de Bdx
4 ans Architecture d’applications temps réel avec IHM DCNS / Zodiac / Apside / IXXI
SITUATION ACTUELLE
Juin 2018- ce jour (à mon compte en tant que Freelance)Projets pour la Billettique (pour IXXI TechSide = RATP Smart
Audit du code et de l'architecture C++ Qt pour des terminaux de points de vente ou de validation embarqués.
Refonte complète du logiciel de terminal de point de vente, dans le sens d'une architecture scriptable, plus simple et plus maintenable.
Création (architecture et développements) de logiciels (C++ Qt Linux embarqué) pour un system de contrôle d'accès dématérialisé (Smartphone + Bluetooth) aux pistes de ski.
Création (architecture et développements) d'outils pour faciliter le développement et la mise au point dans un environnement mixte Window/ VM Linux / Linux, comprenant également des simulateurs dont un serveur HTTP (en C++ Qt)
Environnement: C++, Visual C++ 2017, Git, GitLab, QtCreator, Linux, HTTP, JSon
SELECTION D'EXPERIENCES PROFESSIONNELLES
juin 2017- mai 2018 (à mon compte en tant que Freelance)
Projets de réingénierie d'un gros logiciel C++ (pour SAGE SAS)
Modernisation de la chaine de compilation C++, intégration dans Visual Studio. Refonte de la chaîne de production
Réingénierie d'un code C++ lourd. Mise en place de tests automatiques.
Environnement: C++, SQL, Outils de compilation. Visual C++ 2017, Git, Jenkins, Jira, Scrum, Méthode agile Scrum
dec 2015- juin 2017 (à mon compte en tant que Freelance)Projets de recherche en génie logiciel (pour VOXEET SAS)
Recherche d'un nouveau procédé robuste d'analyse différentielle et de patchage de code écrit en C++, s'appuyant sur une analyse sémantique.
Environnement: C++, Qt, Clang LLVM, Outils de compilation. Visual C++, Git.
fev 2015 – nov 2015 mission à Thermo Fischer Mérignac (anciennement FEI et Vsg3D ) (pour APSIDE -- SSII)
- Audit, revue de code, en vue d'une ré ingénierie partielle du logiciel AVIZO (= Très gros logiciel C++ modulaire de traitement d'image (microscopie, médical etc…) )
Environnement: C++, Qt, Visual C++, Git, GitLab Méthode agile Scrum
nov 2014 fev 2015 pour Thales développement d'outils d'automatisation des tests (pour APSIDE -- SSII)
- Rédaction des spécifications, du plan de test
- Proposition d'une architecture
- Développement en Java SE
Environnement: Java SE, XML Eclipse
mai 2012 nov 2014 mission à ZODIAC data systems (station de réception pour satellites) (pour APSIDE -- SSII)
- Audit, revue de code, pour rechercher un défaut récurrent du logiciel (Alarme de déconnection).
- Développement de simulateurs
- Mise en place d'un FrameWork modulaire, pour le Test logiciel, la simulation, la génération automatique d'archives.
- Développement d'un poste de commande et supervision centralisé de 6 antennes
- définition de l'architecture temps –réel, réseau et logicielle. Développement du cœur et des IHM
- définition et réalisation des outils d'intégration, et de test (avec le FrameWork)
Environnement: C++, Qt, XML Visual C++, Tortoise HG
SUPPORT TRANSVERSE AUX PROJETS pour APSIDE - SSII de 2009 à 2011
Pour l’AGENCE APSIDE, en soutien des développements au forfait.
Création d’une formation aux langages C et C++ et Java et à la POO.
Cours, Travaux pratiques, grille d’évaluation, pour différents publics de développeurs.
Mise en œuvre de Qt dans l'EDI Eclipse CDT (C++).
Environnement: Eclipse, Java / C++
Pour la DCNS (Ruelle) Simulateur de conduite de navire.
Adaptation d'un FrameWork d'application scriptable en Qt.
Ajout de fonctionnalités pour l’intégration des Tests fonctionnels.
Environnement: Visual C++, Qt
Pour THALES Application Mission de l’Avion Rafale.
Analyse et rédaction de propositions pour améliorer la qualité et la productivité des développements à travers des solutions de process outillé.
Etude sur les méthodes formelles de spécification des logiciels avioniques.
Rédaction d’une proposition pour la création d’un Outil de Génération de Code pour le Rafale, sur la base d’une analyse formelle des spécifications.
Pour ASTRIUM .
Réingénierie de codes de calculs scientifiques
Création d'un outil traducteur de code en Fortran 77 vers des langages plus évolués C ou Fortran 95.
Environnement: Visual C++, Qt
Pour THALES division Training – Simulation (Paris)
- Réalisation d’un Atelier logiciel pour la mise au point des modules de simulation de 2 armes du Rafale.
Création d’un FrameWork C++ pour les Tests Fonctionnels et les Tests Unitaires d’un programme C.
(Monitoring de variables. Elaboration de cas test, Génération automatique de stub pour les tests unitaires).
- Emulation du moteur de simulation dans lequel s’intègrent ces 2 modules.
Environnement: Windows XP / Unix, C/C++, Visual Studio, Qt technologie: "Scripting" de Qt
Pour THALES Atelier Cockpit Designer et le logiciel de de validation formel "IVV Toolkit".
- Audit et optimisation du code java pour de meilleures performances (facteur 50)
Environnement: Java, Eclipse
Missions dans des PME innovantes (pour APSIDE)
Pour VSG3D (Mérignac) (6mois) Editeur de la librairie graphique Open Inventor ©
- Expertise technique, pour l’amélioration de la qualité et de la stratégie de test.
Environnement: Visual C++, OpenGL, GIT, bibliothèque Open Inventor
Pour I2S (Pessac) Scanners et Contrôle industriel par vision.
Développement / Mise au point des fonctionnalités de vérification de l’étalonnage de la machine.
Environnement: Visual Studio, C++ et C#, bibliothèque de traitement d'image Matrox MIL
Pour DUFFAU JE (Talence) Machines à air comprimé
- Audit sur la qualité, les défaillances, et la stratégie de test du logiciel de pilotage et supervision d’un banc de test.
- Analyse des risques liés aux périphériques et à l’architecture de l’automate programmé en Visual Basic.
- Revue de code détaillée, et recherche des faiblesses.
- Analyse de la consignation de la connaissance et de la complétude des documentations.
Environnement: Windows, PC Industriel, Visual basic V6
Missions longues pour des grands comptes (pour APSIDE)
Pour THALES : produit Topowl Viseur de Casque, dispositif Head Tracking System.
-Audit et refonte de l'Atelier logiciel de dépouillement des cartographies magnétiques.
Environnement: Visual C++, Qt, Assembleur DSP Texas 320 C40
Pour THALES Laboratoire des techniques opérationnelles
Réingénierie du composant "vol basse altitude" d'un drone
Environnement: Java, Eclipse
Pour THALES : FMS (Flight Manager) de l'Airbus A400M
- Spécification d’outils de production de code ADA pour le Système de Navigation de l’Airbus A400M.
- Etude et maquettage (C++) d'un générateur de code automatique basé sur l’analyse formelle des textes de spécifications.
- Définition et programmation (C++) d'une architecture de contrôleur d'affichage (pattern Model View Controler), permettant d'accueillir le code d'affichage de pages de symboles (IHM) générées à 100%.
Environnement: Visual C++, Qt, Rapsody UML Scade Display
eDEVICE TECHNOLOGY (MERIGNAC) Modem – Internet miniatures, M2M.
de 10/2000 à 07/2005
Responsable du département Architecture Logicielle et Outils
Responsabilités :
Rationaliser, créer et implanter des méthodes, pour la productivité et la qualité.
Animer et encadrer une équipe de jeunes développeurs … pour ces aspects.
Autres missions:
Analyse des besoins clients. Rédaction des réponses à appels d'offres…Collaboration au dossier ANVAR
Définition des méthodes du cycle de développement du logiciel embarqué (à dominante assembleur) accompagné de la création d'un outil intégré dédié au métier d'eDevice. (Modem Internet miniatures).
=> L'outil intègre des fonctions de génération de code assembleur, de téléchargement, de débuggage, de test et de production (flashage de la mémoire des modems)….
Conception de l'architecture temps-réel : Noyau - OS temps–réel embarqué (propriétaire), ultra compact, pour un DSP ADI 218x.
Environnement : C++, Visual C++, MFC, couches réseau TCP/IP
MISSIONS EN FREELANCE (BORDEAUX)de 1999 à 2000, et 2006
Projet 1: Développement d'un logiciel de CAO dans le domaine médical (PC)
• Reconstruction 3D à partir de nuages de points et de prises de vues planes (radiographies).
• Programmation des interfaces graphiques et de rendu 3D.
Environnement : C++, Visual C++ (PC) et Open GL
Projet 2 : Développement d'un système de contrôle visuel 3D d'objets défilant sur un convoyeur.
• Conception et réalisation du prototype du système optique.
• Création des algorithmes de reconstruction d'une image plane de l'objet et d'extraction des paramètres à contrôler. (Algorithmes d'extraction de contours. Algorithme d'identification des paramètres de compensation des déformations optiques)
Environnement : C++, Visual C++ (PC), Opto-électronique (Caméra LCD) et opto-mécanique.
pour THALES AVIONICS (LE HAILLAN) pour le compte de CJN de 1993 à 1998
Développement du dispositif Head Tracking System dans le "Viseur de casque" pour avions et hélicoptères (Topowl).
Développement d'un générateur de code pour un enchaînement rapide des calculs sans utiliser de stack.
Environnement : Assembleur pour DSP Motorola 96002, et Texas TMS C40, cartes DSP. Visual C++, Matlab
pour LECTRA SYSTEMES (CESTAS) pour le compte de CJN
de 1993 à 1994
Refonte complète du logiciel de découpe pour le cuir (passé de 200.000 à 30.000 lignes de code C++) .
Création de l'algorithme de découpe optimale, en C++.
CIRIS INGENIERIE (PESSAC) Automatismes et commandes numériques. de 1989 à 1992
Responsable du développement d'une commande numérique de machine outil sur bus VME. OS Temps-réel PSos+
C.E.A DAM (LE BARP) Scientifique du contingent 1989
Au département intelligence artificielle. Simulation d'un théâtre d'opération multi-acteurs. Interfaces avec CATIA.
COMPETENCES INFORMATIQUES
Technologies -Environnements Niveau Technologies - Environnement
POO, C++ / Visual C++ Qt, QML et Git, Windows
Architecture et OS Temps-Réel, Multi-Thread UNIX
Micro-contrôleurs, DSP, Connectivité réseau JAVA SE, JAVA script
Bibliothèques : MIL, OpenInventor Open GL C #
Algorithmie, 3D (Vision, CAO ….) Jenkins, Nant, Jira
Eclipse et Eclipse plugins Anglais
Génie logiciel / Outils de génération de code Espagnol
FORMATION
1989 Diplôme d'ingénieur E.S.E. (Supélec)
1987 Diplôme d'ingénieur E.N.S.A.M., (Arts & Métiers), médaille d’argent
2000 Formation IFG à la création / gestion d'entreprise
STAGES
Projet de Recherche à l'E.S.E. (Paris, Rennes)
• Génie logiciel de l'automatisation des processus industriels.
Stage pour DASSAULT, chez G.M.I. (Ingénierie en Informatique) (Bordeaux )
• Générateur de post-processeurs pour le logiciel de CFAO : CATIA. (Fortan)