Ingénieur en informatique avec une expérience de 10 ans riche : multi-domaine avec la banque et l'industrie, internationale avec 3 ans en Allemagne et voyage à Hong Kong, multiplateforme avec Windows, Linux, Unix, Solaris et AIX. Motivé, appliqué, rapide et force de proposition.
Site web de configuration self-service de protection des données
Finalisation, optimisation et debuggage en aveugle du code (ASP.Net)
Création d’une interface de communication intégrée dans un service SOAP
Sécurisation du site (Cross Site Forgery/Scripting, injection…)
Aide à l’installation (MSI, IIS) et support
Détails de l'expérience
Site Web de configuration d’un logiciel de protection des données Seul puis à deux, sous-traitant pour Protea (SSII) au près de Siemens, création d'un site web permettant en self service de configurer un système de protection des données (LanCrypt) à destination des employés de Siemens, puis pour un client de Siemens. Le site doit pouvoir supporter beaucoup d'utilisateurs malgré la lenteur de l'API LanCrypt. • Analyse du code de l'API LanCrypt puis plus tard migration vers 2 nouvelles versions • En aveugle (test en debug impossible), finalisation et débogage (en coordination avec le client) puis aide à l'installation/configuration • Analyse et utilisation de la base de données de LanCrypt pour obtenir les informations plus rapidement que par l'API • Lecture de données existantes dans d'autres bases de données (Active Directory et une solution interne à Siemens) lors de la création de nouveaux utilisateurs • Evolution du code dont amélioration de la sécurité (SQL Injection, Cross Side Request/Scripting Forgery, masquer les informations de débogage lors d'une erreur, vérification de format, HTTPS, tunnel SSL) • Création d'une extension du site pour aider le service support de Siemens • Ecriture d’une documentation développeur => ASP.Net, javascript, LanCrypt, css, svn, Microsoft SQL Server 2008 R2, Remote Connection Desktop, Microsoft Visual Studio 2008/2010, IIS, MSI
Référence : Bernhard Heinzel (v3), Martin Zentner (v3, N+1), Daniela Müller-Martin (Atos), Leonardo Morales (Siemens)
Membre de l'équipe d’intégration : stockages des données (NAS, SAN, Backup…)
Design des solutions et coordination technique BMW-fournisseurs
Communication, rapports et conseils techniques
Conception, création et support des bases de données (Oracle)
Développement du portail intranet de gestion des stockages pour tout BMW (Apex)
Implémentation et support d’outils intranet et scripts (perl, Apache, php)
Ecriture et exploitation d’outils de vérification de la qualité de service des providers
Détails de l'expérience
Site web de commandes et gestion de stockages Dans une équipe de 2, création d’un nouveau site Web sur Application Express à destination de l’ensemble de BMW pour commander et gérer ses stockages (NAS, SAN). Dans le même temps, création d'une nouvelle modélisation pour la base de données principale. • Conception, création puis administration de la nouvelle version de la base de données • Création et implémentation des solutions d’importation des données de l’ancien système • Amélioration de l'interface du site (IHM) • Optimisation du code et des requêtes SQL => Application Express, Perl, HTML, javascript, css, Web Service, Git, Oracle, Eclipse, WinSCP, Bash
Outils intranet Gestion d’outils intranet pour automatiser et simplifier les tâches quotidiennes (de v3 et de BMW) et fournir des rapports configurables. Environ 50 Scripts. • Analyse du besoin et conception/design de nouveaux outils • Support et évolution des nouveaux outils et des outils existants • Gestion de droits utilisateurs basée sur Active Directory • Développement d’un package pour factoriser les fonctions standards (base de données, log, gestion d’erreur, envoi des mails…) et intégration dans les anciens scripts • Création d'un site web de documentation sur les procédés, les bases de données et les scripts, avec possibilité de télécharger toute ou partie de la documentation en PDF ou de les visiter directement dans le site • Génération automatique de pages pour le site de documentation basée sur les commentaires des scripts avec liste des actions dans la base de données (quelle table, quelle action: select, delete...) • Création/adaptation de la documentation des scripts pour la documentation automatique • Migration du système sur un autre serveur et compilation manuelle d’Apache et PHP et plus tard mise à jour des versions => Perl, HTML, javascript, Git, Oracle, Eclipse, WinSCP, Bash, Character Encoding, Documentation POD, Active Directory, Apache
Contrôle de la qualité Création d’une plateforme de contrôle de la qualité : tests et rapports sur la qualité des prestations des fournisseurs (stockage fourni correspondant à la commande, bon fonctionnement des fonctionnalités, SLA …) • Création d’un site web (IHM) pour présenter les rapports et éditer les tests • Gestion de différents types d'utilisateurs avec droits différents • Historisation des modifications des tests • Création de scripts automatisant les tests et les rapports journaliers • Création de nombreux tests • Notification automatique par email avec abonnement configurable => Perl, HTML, javascript, Git, Oracle, Eclipse, WinSCP, Bash, Apache, Crontab
Gestion des données fournisseurs Dans une équipe auto-gérée de 4 personnes, sous la direction d’une équipe interne BMW de 6 personnes et travaillant en parallèle avec de 2 à 5 fournisseurs différents (contexte international : Anglais, Allemand). Gestion des données sur le matériel, les statistiques et les configurations des fournisseurs. • Administration et évolution des bases de données devant contenir des données à l'origine non homogènes (objets et modélisations différents selon le provider et la technologie) • Support et évolution des scripts existants et création de nouvelles solutions d’importation pour 3 nouveaux fournisseurs (différents formats et méthodes d'accès aux données) • Création de rapports Excel (Requête SQL complexe) à la demande des clients => Perl, HTML, javascript, Git, Oracle, Eclipse, WinSCP, Bash, Character Encoding, Linux, Ontapi, ssh, getmail, crontab
Référence : Nicholas Hallam (v3, collègue), Jens Heunemann (v3, N+1), Michael Mattes (Provider : TSI puis EMC), Oliver Madel (BMW)
Gestion de tous les services informatiques et électroniques de l'entreprise
Installation et administration des serveurs, réseaux et ordinateurs portables
Création d’une solution de travail nomade (et vpn jusqu’aux clients)
Design et mise en place d’une solution de backup à trois niveaux
Détails de l'expérience
Responsable Technique interne Dans l'entreprise v3 Consulting (SSII de 20 personnes) gestion, seul, de la technique interne • Création du réseau interne de l'entreprise lors du déménagement dans un autre local • Création d'une solution de travail nomade, avec accès par VPN au réseau de l'entreprise et à ceux des clients (si autorisé) permettant d'économiser plus de 2000€ par an • Gestion et administration du serveur central, des ordinateurs portables, des wikis, des cartes d'accès, du système de mails et des outils bureautiques • Création d'un système de Backup (3 niveaux de sûreté) pour les backups des ordinateurs • Création d'un plugin Outlook basé sur PGP utilisé pour gérer l'encodage/décodage des emails • Création de la documentation des systèmes et des procédures (nouveau collègue, départ) • Installation des nouveaux ordinateurs portables => Office Suite, FritzBox, gpg4win, Office 365, Linux, Twiki, Microsoft Visual C#, Acticon
Référence : Bernhard Heinzel (v3), Martin Zentner (v3, N+1)
Responsable support et communication, envoyé autonome en salle de trading
Maintenance évolutive de l’application de Trading (C++, Qt)
Création d’outils pour le support et les traders (Perl, VBA, Java)
Développement des nouvelles applications et nouvelles versions
Détails de l'expérience
Outils divers Seul, création d'outils pour optimiser et faciliter le travail de notre équipe et de nos clients. • Création de package d’outils en VBA pour l'équipe: aide au support, mail d’information journalier, time tracking, gestion des traces et analyse des logs • Conception et écriture d'un script perl pour extraire les données des logs, les consolider, faire des statistiques et transmettre le résultat à un DataWarehouse => Active Perl, SQL Server, VBA, Excel
Edition, historisation et rollback de configuration Création, seul, de trois nouveaux binaires sur la configuration de trading. Le premier permet d'éditer les fichiers de configuration en affichant l'arborescence et en gérant la surcharge de valeur. Le second effectue une historisation des modifications. Le dernier permet d’afficher les modifications historisées selon des critères (période de temps, type produit…) et de revenir à une configuration d’une date donnée ou annuler des modifications selon des critères (identifiant produit, utilisateur, période de temps…). • Analyse, conception et écriture • Ecriture de tests fonctionnels et unitaires • Documentation (développeur et utilisateur) => Visual C++, WinCVS, Qt, Outil de génération de code interne à BNP
Amélioration des relations interservices Après 4 mois à découvrir l’application, envoyé seul en salle de trading pour améliorer les relations et la communication Client-Développeur et Support-Développeur ainsi que le support en général. • Définition des besoins • Suivi qualité • Support niveau 2 privilégié
Missions spéciales Dans le même cadre que précédemment, participation à des missions à durée limitée et objectifs définis. • Envoyé seul un mois à Hong-Kong en tant qu'expert pour mettre à niveau le code spécialisé pour les marchés asiatiques et pour développer de nouvelles fonctionnalités spécialisées • Développement d’une console permettant de contrôler plusieurs instances de l’application principale (2 développeurs) • Développement d'une nouvelle version du cœur de l'application principale (3 développeurs) • Création des tests unitaires • Dépistage des fuites mémoires et optimisation des performances par profiling => Visual C++, WinCVS, Purify, Quantify, Qt, Bullseye coverage, Purify, Quantify
Contributeur Warrants et Exotiques Dans une équipe de 8 personnes, maintenance et évolution de l’application responsable de la contribution Warrants et exotiques de la BNP : Chargement du référentiel, réception et analyse de flux, envoi des requêtes de prix au module de calcul, contribution sur le marché. • Analyse et conception de nouveaux modules • Evolution des modules existants • Support niveau 2 • Travail en particulier sur : le flux, l’envoi des pricings, la modélisation en mémoire des objets métiers, la GUI • Développement d'une toute nouvelle version de l'application => Visual C++, WinCVS, Qt, Purify, Quantify, Outil de génération de code interne à BNP
Référence : Cedric Daligny (Collègue), Thierry Ozier-Lafontaine (Client, N+1), Stephane Peletier (Client, N+2), Benoit Roquant (Client, chef trader), Nicolas Massire (Client, Chef Support)
Ecriture d’un client de monitoring (C++) et de la console correspondante (C#)
Maintenance évolutive des libraires de flux et passage d’ordre (C++)
Développement de wrapper C# pour les librairies (C++ managé)
Ecriture d’outils pour le routage et la traduction du flux
Evolution d’outils de release pour ajouter des mesures de performance
Détails de l'expérience
Wrapping des librairies existantes Finalisation et maintenance évolutive des wrappers C# de chacune des librairies en C++ • Maintenance et évolution des wrappers parallèlement aux modifications des librairies, • Refonte des solutions pour homogénéiser l’arborescence de répertoires et les paramètres de link/compilation => Wrappers en pinvoke, puis en C++ managé, Visual Studio 7 et 8, wincvs
Support et évolution des outils de l’équipe Après une formation par l’architecte de l’équipe, seul, support et extensions des possibilités d’outils de release automatique et de rapport journalier sur le code source : • Acquisition des scripts existants (solaris, linux, windows) • Support et debuggage • Ajout de la création automatique de mesure des performances • Ecriture de fichiers Excel pour comparer graphiquement les performances de plusieurs versions => Make, bash, gcc, Visual Studio, CVS, Excel (VBA)
Librairie d’acquisition de flux bourse + Routeurs de flux Maintenance évolutive et corrective de la librairie d’acquisition de flux bourse • Prise en main des API des différents flux • Ajout de fonctionnalités d’un nouveau type de flux • Test pour l’intégration de nouveaux flux => Interfaces d’acquisition de flux (Reuters, Bloomberg, GL, protocole interne…), multi plateforme (Windows, Linux, Solaris), C++, STL, Visual studio 7 puis 8 et vi, wincvs et cvs, documentation en UML
Logiciel de rupture de protocole Dans le cadre de MiFid, il a fallu exposer les prix contribués par nos collaborateurs internes. Conception et développement d’un client de flux facilitant la traduction du flux vers un autre protocole. Ajout d’une brique communiquant vers le monde Reuters à travers la bibliothèque RFA. • Découverte de RFA • Développement d’un client de flux • Développement du traducteur RFA • Ajout d’un module facilitant la vérification de la configuration => C++, STL, Visual Studio 7 et vi, multi plateforme (Windows, Linux, Solaris), librairie RFA, wincvs et cvs, Documentation en .doc
Librairie de passage d’ordres Refonte de la librairie de passage d’ordres • Analyse de l’existant • Développement d’une documentation et de tutoriaux • Ajout de nouveaux types d’ordre et de messages administrateur • Homogénéisation du code => Multi plateforme (Windows, Linux, Solaris), C++, STL, Visual studio 7 et vi, wincvs et cvs, documentation en doxygen et .doc
Console de monitoring Développement d’interface pour afficher les données des diverses sources de monitoring • Analyse de l’existant • Développement IHM • Dépistage de bugs et réécriture de code => C#, développé avec Visual Studio 7, versionning par wincvs, stl utilisée.
Serveur de monitoring Développement d’un serveur de monitoring. Il a pour but de router les informations vers les consoles et de traiter ces données pour remonter des alertes si nécessaire. Il rassemble des alarmes et conserve aussi un historique des alertes levées. • Création d’une nouvelle architecture, d’un système de persistance et une communication permettant de définir des alarmes • Ecriture des documentations utilisateur et programmeur => Multi plateforme (Windows, Linux, Solaris), C++, Visual studio 7 et vi, wincvs et cvs, documentation en UML. STL
Agent léger et multi plateforme de monitoring Développement d’un client léger de monitoring multi plateforme. Sous linux, solaris et windows, ce programme résident a pour but de diffuser des données systèmes sur le réseau (Cpu, Mémoire, Information système, disques…). • Analyse du besoin, acquérir l’architecture de diffusion (protocole interne) • Recherche des API systèmes de chaque OS pour récupérer les valeurs nécessaires • Optimisation de l’utilisation cpu et mémoire, implémentation des sécurités • Elimination des fuites mémoire • Ecriture des documentations utilisateur et programmeur => Multi plateforme (Windows, Linux, Solaris), C++, Visual studio 7 puis 8 et vi, wincvs et cvs, documentation en UML, STL
Ecriture d’un flux temps réel entre plusieurs modules du projet "Tête parlante" (C++)
Développement d’un module de chargement de l’ancien format de fichiers après la refonte d’une application de représentation de réseaux électriques (C++)
Détails de l'expérience
Projet Tête parlante Seul, production d'outils pour les sourds et malentendants. Le projet vise à la génération, depuis plusieurs sources possibles (téléphone, vidéo conférence, micro dans une salle de classe...), des animations des lèvres et des mains compréhensibles par des malentendants. Dans ce cadre fut produit l'acquisition de son par micro, ainsi qu'un flux de données en temps réel entre plusieurs composants existants. • Appréhender le code existant • Création de l'acquisition de voix à partir d'un micro • Conception du flux de données en temps réel (micro => reconnaissance vocale => transformation lpc => interface de la tête) • Production des programmes de tests et de validations pour chaque transmission • Ecriture une documentation programmeur permettant une prise en main rapide du code produit => C++, STL, Microsoft Visual .NET, tortoise, CVS, DirectSound (DirectX), API windows (multithreading, synchronisation de threads), doxygene, design pattern
Projet PRAO Dans le cadre de la refonte d'un logiciel existant de EDF (PRAO), participation à la refonte d'un composant d'enregistrement/chargement dans des fichiers capables de traiter de manière générique plusieurs formats. • Appréhender les parties du code en relation avec le composant (architecture complexe) • Appréhender les normes de code en vigueur chez EDF R&D • Appréhender le format ASCII-PRAO • Concevoir et développer le chargement des données et la création du réseau dans un model d'exportation vers les autres composants • Fournir un document de conception • Tester et valider le code produit => C++, STL, Microsoft Visual Studio, Visual Source Safe, doxygene, design pattern