Hello !

french language
english language

Mon profil

Erwan Brottier

Ingénierie MDE et Web / Full-stack

Mon parcours

 

Sitôt ma thèse terminée, je navigue dans le monde de l'indépendance, d'abord en tant qu'auto-entrepreneur, puis en créant la société AMO-IT en 2014. Je travaille pour des clients diverses (industriels, PME ou indépendants) et aime les défis technologiques. Je fais partie du collectif d'indépendants Addictive Web (cofondateur) et travail régulièrement avec d'autres freelances.

 

Ingénierie des modèles

 

L'ingénierie des modèles (MDE) est mon premier domaine de prédilection (processus, langages, fusion de données, transformation, migration, génération et analyse de données). Ce domaine est particulièrement apprécié des industriels cherchant à automatiser leurs procesus de développement et maîtriser la qualité de leurs logiciels métiers. J'apprécie particulièrement les projets R&D.

moveUpmoveDowndeletevalidatecancelclose

Web

 

Le Web est mon deuxième domaine de prédilection, appris au fil de l'eau une fois mes études terminées. Ma connaissance des technologies web me permet de réaliser des interfaces ergonomiques et sur-mesure. J'affectionne particulièrement les plateformes visant l'automatisation des tâches répétitives (progiciels). Je maîtrise l'ensemble des aspects d'un projet web (full-stack).

 

Modélisation du web

 

Le web est un véritable bac à sable fourmillant de technologies et impliquant de nombreux langages. Ce domaine m'est vite apparu comme un véritable défi pour l'ingénierie des modèles, ce qui m'a amené à développer un framework de développement extensible pour produire mes projets web et ceux du collectif Addictive Web. Ce site en est un exemple.

 

moveUpmoveDowndeletevalidatecancelclose

Mes Experiences

Prototype de builder de sites internet

février 2019
 - 
juin 2019

Développement d’un prototype de builder de site dans le cadre d’une recherche future d’investisseur.

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP
Java
ANTLR
Python
Django
Html/Css
Javascript
UML
MySQL
NGinx
AdminSys
GoJS
WebSocket
Fabric
JQuery
Git
Jenkins

Administration sur-mesure - Shab

décembre 2018
 - 
décembre 2018

Développement d'une administration sur-mesure pour un site de commercialisation de vêtements haute couture. Implémentation d'un algorithme de match entre acheteurs dans le cadre d'une campagne marketing. Travail effectué au sein du collectif AddictiveWeb.

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
MySQL
NGinx
JQuery
AdminSys
Stripe

Platforme de levée de fond - Equitearly

août 2018
 - 
décembre 2018

Création d’une plate-forme visant à automatiser la mise en relation entre des porteurs de
projets et des crowdfunders. Travail effectué au sein du collectif AddictiveWeb.

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
NGinx
AdminSys
JQuery
Stripe
Yousign

Charte d'aménagement digitale - Intranet Carrefour

janvier 2018
 - 
juin 2018

Création d’une plate-forme pour le compte des services généraux du siège social de Carrefour
à Paris. Travail en collaboration avec le cabinet parisien Inspiry et le collectif AddictiveWeb. R&D autour d’un système original de création à la volée de questionnaires conditionnels

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
MySQL
NGinx
JQuery

Migration automatique de requête Acceleo (R&D) - Thales

septembre 2017
 - 
décembre 2017

Conception et implémentation d’un traducteur automatique de requête Acceleo vers AQL afin
de migrer à moindre coût le code du modeleur CAPELLA.

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP
Capella
Java
EMF
Acceleo
AQL
JUnit
Git

Développement sites internet

mars 2017
 - 
juin 2017

Création du site de la société parisienne A ET CETERA (espaces urbains, culture, territoire). Migration et évolution du site les-qi-libres (cabinet médical rennais).

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
MySQL
NGinx
AdminSys
JQuery
SVN
SEO

Audit technique - O-Haras

mars 2017

Audit stratégique visant à évaluer les travaux à réaliser dans le cadre de l'acquisition par le client d'un progiciel de gestion existant sur le marché

moveUpmoveDowndeletevalidatecancelclose
ActionScript
Java
WebServices

Etude de faisabilité (R&D) - AEXAE

novembre 2016
 - 
janvier 2017

Dérisquage dans le cadre d'un projet de migration de code (cible Java/web) : étude de faisabilité de la traduction (vérification des performances), inventaire et tests des outils de conversion html vers pdf.

moveUpmoveDowndeletevalidatecancelclose
Java
Hibernate
Jetty
html2pdf
PostgreSQL
Html/Css

Création d'un dispositif de visionnage - Ferme du buisson

juin 2016
 - 
septembre 2017

Conception et développement d'un dispositif de visionnage (bornes tactiles) au sein du nouveau cinéma d'un centre culturelle parisien. Collaboration avec le collectif AddictiveWeb. Gestion de projet (cahier des charges, spécifications) et implémentation de parties du dispositif (boîte vidéo en ligne, administration pour l'éditorialisation de contenus, génération de statistiques).

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
MySQL
NGinx
FFmpeg
AdminSys
SVN

Développement d'un modeleur (R&D) - AEXAE

novembre 2015
 - 
mai 2016

Conception d'un modeleur et d’un outillage de réécriture dans le cadre d'un projet de migration de code (traduction iso-fonctionnelle d'un des progiciels vendu par le client). Implémentation d'un parseur et d'une API de réécriture. Génération du modèle complet d'un code de 500.000 lignes.

moveUpmoveDowndeletevalidatecancelclose
Java
EMF
ANTLR
Sirius
Graphviz
SWT

Audit technique (R&D) - AEAXE

juillet 2015

Migration technologique d'un progiciel (objectif stratégique du client) : étude de faisabilité technique pour la mise en place d'un processus automisé de migration du code vers une version plus moderne (Java/Web/Saas).

moveUpmoveDowndeletevalidatecancelclose
Java
Graphviz

Développement de sites internets

janvier 2014
 - 
janvier 2015

Développements et maintenance de sites web en collaboration avec l'agence web Inspiry (Paris).

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
MySQL
Apache2
AdminSys
JQuery
SVN
SEO

Création de la société AMO-IT

février 2014
 - 
in progress

Création de la société de services AMO-IT.

moveUpmoveDowndeletevalidatecancelclose

Ingénieur MDE (R&D) - Thales

mai 2013
 - 
juin 2015

Ingénierie au sein du département ORCHESTRA chez Thales General Services. Développement de nouvelles fonctionnalités du modeleur MELODY ADVANCE, outil utilisé en interne par le groupe pour modéliser l’environnement, les fonctionnalités et l’architecture des produits Thales.

Participation à sa mise en open-source sous le nom de CAPELLA au sein de la communauté Eclipse.

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP
Java
Capella
EMF
Sirius
XText
JDT
EMF Diff/Merge
Jenkins
Gerrit
Git
Jira
JUnit
SWT

Fusion de de données et procédure d'installation - cartelag

avril 2013
 - 
mai 2013

Création d’un script d’installation pour une version offline du site cartelag, rédaction de la documentation associée. Analyse et développement d’un mécanisme de composition de données géographiques en python afin de synchroniser une fois en ligne des données ajoutées hors connexion.

moveUpmoveDowndeletevalidatecancelclose
Python
Django
XML
AdminSys

Audit technique - Prologue

avril 2012
 - 
mai 2012

Audit chez Prologue portant sur la migration technologique d'un langage propriétaire vers une solution Eclipse RCP : chiffrage, évaluation RH, dérisquage. Objectif stratégique : évolution technologique d'un langage édité par le client. Travail sur site avec la direction technique et rédaction du compte rendu.

moveUpmoveDowndeletevalidatecancelclose
C++
Eclipse RCP
Java
JNI

Développement sites internet

mai 2010
 - 
avril 2013

Développements et maintenance de sites web en collaboration avec l'agence web Abstract Dandy (Rennes).

moveUpmoveDowndeletevalidatecancelclose
Python
Django
Html/Css
Javascript
MySQL
AdminSys
Apache2
SVN
SEO

Développement d'un IDE web Eclipse RCP

octobre 2010
 - 
in progress

Développement de Thot Web, extension du framewoek Thot pour la création de sites internet. Parmi les fonctionnalités notoires, on peut citer l’intégration automatique de maquettes graphiques et l'injection de composants HTML/CSS/Js/Python.

Ce framework se présente comme une extension d’Eclipse (ensemble de plugins sur-mesure : parseurs, pretty-printers, transformations de modèles, perspective et vues additionnelles) et open-source (SubClipse, ANTLR, Eclipse Colorer, Eclipse Web Developer entre autres).

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP
Java
Python
Django
Html/Css
Javascript
JQuery
UML
SWT

Création du collectif AddictiveWeb

mai 2010

Création du collectif d'indépendants Addictive Web.

moveUpmoveDowndeletevalidatecancelclose

Développement d'un framework de développement (R&D)

janvier 2010
 - 
in progress

Dans le but d’améliorer la productivité et la qualité logicielle, R&D autour d’un framework générique dirigé par les modèles (artefacts de production). Les principales fonctionnalités du framework sont :

- la génération assistée de code via un modèle de synchronisation obtenu par composition de spécifications de déploiement,

- l’injection de composants par tissage d’aspects multi-langages

- moteur de synchronisation pour l'exécution des transformations.

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP
Java
UML
JUnit
SWT

Création entreprise individuelle

mai 2010

Création d’une entreprise individuelle (auto-entrepreneur).

moveUpmoveDowndeletevalidatecancelclose

Développement d'une plateforme de composition de modèles (R&D) - Irisa

août 2017

Conception et implémentation d'une extension du framework Eclipse pour la production d'un modèle synthétique global représentant l'information contenue dans un ensemble de données hétérogènes. Cette plateforme a été développée dans le cadre d'une thèse effectuée chez France Télécom R&D (équipe Exa à Lannion) et à l’IRISA (équipe Triskell à Rennes).

L'objectif est d'améliorer la qualité en diminuant les risques liés à des spécifications d’exigences erronées et la productivité en faisant des exigences, un modèle utilisé comme artefact de développement.

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP
Java
Kermeta

Publication d'articles scientifiques

septembre 2005
 - 
décembre 2009

Rédaction d'articles dans le cadre d'une thèse « Acquisition et analyse des exigences pour le développement logiciel : une approche dirigée par les modèles ».

Thématiques de recherche abordées :

- génération automatique de modèles de test,

- composition de modèles d'exigences,

- détection automatique d'incohérences entre spécifications.

J'ai publié quatre articles scientifiques : IDM’05 Paris/France, ISSRE’06 Raleigh/USA, EDOC’07 Annapolis/USA, RefsQ’09 Amsterdam/Pays-Bas.

moveUpmoveDowndeletevalidatecancelclose

Générateur de données de tests (R&D) - France Télécom Lannion (stage)

mars 2005
 - 
août 2005

Développement d’un générateur automatique de données de tests pour les transformations de modèles au laboratoire MAPS de France Télécom R&D à Lannion (stage Master Pro). L’outil vise à produire automatiquement des modèles de test conforme à un méta-modèle source d’une transformation de modèles (implémentée en TRL). La génération est pilotée par les contraintes structurelles du méta-modèle et un critère d’arrêt fonction de la couverture de ces mêmes contraintes (plusieurs critères implémentés).

moveUpmoveDowndeletevalidatecancelclose
Java
Swing
EMF
TRL
Eclipse RCP

Interface de visualisation de données biomoléculaires - IRISA (projet d'étude)

octobre 2003
 - 
juin 2004

Durant la maîtrise informatique, chef de projet dans le cadre d’un logiciel de gestion de base de données et de représentation graphique d’interactions biomoléculaires au niveau cellulaire (projet SYMBIOSE de l’INRIA et du CNRS). Gestion et management de 11 développeurs durant six mois.

moveUpmoveDowndeletevalidatecancelclose
Java
Swing
PostgreSQL

Mes Formations

Doctorat - IRISA / France Télécom R&D

septembre 2005
 - 
décembre 2009

Master II Pro GL (Génie Logiciel) - IFSIC

septembre 2004
 - 
juin 2005

Maîtrise informatique - IFSIC

septembre 2003
 - 
juin 2004

Licence informatique - IFSIC

septembre 2001
 - 
juin 2002

Deug MIAS - Université de Rennes I

septembre 1999
 - 
juin 2001

Informations complémentaires

  • Arts martiaux (Judo, Budo, Taï chi shuan, boxe française, Ba Gua Zang). Instructeur de Sanda (boxe chinoise) sous la tutelle de maître Hervé Marigliano durant l’année scolaire 2012-2013.

  • Piano et batterie Jazz. Expériences scéniques (festival de Lanoué et de Gomené, bars, boeufs Jazz ...)

  • B.A.F.A. théorique et pratique

  • Ancien trésorier adjoint de l'AMPLI (association universitaire et local de musique)

  • Anglais lu parlé et écrit, notions d'allemand

moveUpmoveDowndeletevalidatecancelclose

Technologies pratiquées

   Cette page énumère les technologies que j'ai coutume d'utiliser pour mes projets et missions. Cette liste n'est pas exhaustive mais permet de se faire une idée des piles technologiques que je maîtrise.

   Mon doctorat en génie logiciel me conforte dans l'idée que les technologies passent (et trépassent) mais les principes théoriques demeurent. Je ne suis donc pas dogmatique (Java vs Python, Python vs C++ ...) et aime découvrir de nouvelles approches de développement ou paradigmes.

   L'expérience acquise en tant que freelance et les défis toujours renouvellés m'ont amené à travailler dans des univers divers, que ce soit la modélisation des langages et des processus, les interfaces web (front-end et back-end) et l'administration système. Bien que travaillant régulièrement avec d'autres développeurs (agences, freelance), je veille à toujours maîtriser l'ensemble des aspects d'un projet (full-stack).

 
 
moveUpmoveDowndeletevalidatecancelclose
Java

Langage de programmation orienté objet. Langage généraliste et fortement typé (refactor plus aisé).

moveUpmoveDowndeletevalidatecancelclose
Python

Langage de programmation orienté objet. Accompagné d'un grand nombre de librairie open-source de qualité.

moveUpmoveDowndeletevalidatecancelclose
Django

Framework web pour serveur Python.

moveUpmoveDowndeletevalidatecancelclose
Html/Css

Langages de description des pages web, Html pour la structure, Css pour le style.

moveUpmoveDowndeletevalidatecancelclose
Javascript

Langage de programmation orienté objet pour le web (front-end).

moveUpmoveDowndeletevalidatecancelclose
Eclipse RCP

Composant interne à Eclipse pour l'implémentation de plugins.

moveUpmoveDowndeletevalidatecancelclose
AdminSys

Installation et gestion d'un serveur. Administration linux. Sécurisation standard.

moveUpmoveDowndeletevalidatecancelclose
JQuery

Plugin Javacript d'interrogations et de modifications du DOM.

moveUpmoveDowndeletevalidatecancelclose
MySQL

Gestionnaire de base de données relationnelles suffisant pour les petits projets.

moveUpmoveDowndeletevalidatecancelclose
NGinx

Serveur HTTP léger, désserte rapide des données statiques.

moveUpmoveDowndeletevalidatecancelclose
EMF

Framework de modélisation Eclipse pour le support du format XMI. Permet la manipulation des modèles Ecore.

moveUpmoveDowndeletevalidatecancelclose
SVN

Système de gestion de versions.

moveUpmoveDowndeletevalidatecancelclose
SWT

Bibliothèque graphique Java propre à Eclipse, surcouche de Swing/AWT.

moveUpmoveDowndeletevalidatecancelclose
UML

Langage de modélisation graphique pour la conception logicielle.

moveUpmoveDowndeletevalidatecancelclose
Git

Système de gestion de versions décentralisé.

moveUpmoveDowndeletevalidatecancelclose
JUnit

Framework de test Java.

moveUpmoveDowndeletevalidatecancelclose
SEO

Connaissance à minima des bonnes pratiques pour le référencement naturel (sitemap, robot.txt, meta ...).

moveUpmoveDowndeletevalidatecancelclose
Swing

Bibliothèque graphique Java.

moveUpmoveDowndeletevalidatecancelclose
PostgreSQL

Gestionnaire de base de données relationnelles objets. Utilisé en particulier dans le cadre d'application SIG avec le module spatial PostGIS.

moveUpmoveDowndeletevalidatecancelclose
Capella

Plateforme d'ingénierie basée sur les modèles, développé par Thalès, et hébergé par Polarsys et la fondation Eclipse. Capella est une version open-source d'un logiciel utilisé par les ingénieurs Thalès pour modéliser les produits du groupe.

moveUpmoveDowndeletevalidatecancelclose
Sirius

Atelier de modélisation pour la création de langage graphique dédié. Développé par Obéo.

moveUpmoveDowndeletevalidatecancelclose
Jenkins

Outil d'intégration continu, utile pour automatiser une chaîne de production logiciel

moveUpmoveDowndeletevalidatecancelclose
Apache2

Serveur HTTP le plus populaire du web.

moveUpmoveDowndeletevalidatecancelclose
Graphviz

Outils de visualisation de graphe.

moveUpmoveDowndeletevalidatecancelclose
ANTLR

Générateur de parseur à partir de grammaire EBNF, utile pour la création de langage textuel.

moveUpmoveDowndeletevalidatecancelclose
Stripe

Plateforme de paiement en ligne populaire.

moveUpmoveDowndeletevalidatecancelclose
TRL

Langage de transformation de modèles développé par France Télécom R&D.

moveUpmoveDowndeletevalidatecancelclose
Kermeta

Langage de transformation de modèles développé par l'IRISA.

moveUpmoveDowndeletevalidatecancelclose
C++

Langage de programmation généraliste et orienté object. Très utilisé pour les middlewares.

moveUpmoveDowndeletevalidatecancelclose
JNI

Bibliothèque permettant d'interfacer un programme Java avec un programme non Java.

moveUpmoveDowndeletevalidatecancelclose
XML

Langage structuré et extensible, utilisé comme standard dans de nombreux domaines.

moveUpmoveDowndeletevalidatecancelclose
XText

Plugin Eclipse pour la création d'éditeur syntaxiques.

moveUpmoveDowndeletevalidatecancelclose
JDT

Plugin Eclipse pour l'analyse et la modification de code Java (sous forme d'AST). 

moveUpmoveDowndeletevalidatecancelclose
EMF Diff/Merge

Plugin Eclipse facilitant la comparaison et la fusion de données XMI.

moveUpmoveDowndeletevalidatecancelclose
Gerrit

Logiciel de revue de code pour Git. Outil pour la gestion d'équipe de développeurs.

moveUpmoveDowndeletevalidatecancelclose
Jira

Logiciel de suivi de tickets, populaire chez les grands comptes. Outil pour l'organisation d'équipe.

moveUpmoveDowndeletevalidatecancelclose
FFmpeg

Bibliothèque pour le traitement des flux audios et vidéos.

moveUpmoveDowndeletevalidatecancelclose
Hibernate

Surcouche Java permettant d'effectuer des requêtes SQL par programmation fonctionnelle (ORM). Composant classique Java EE.

moveUpmoveDowndeletevalidatecancelclose
Jetty

Serveur HTTP Java.

moveUpmoveDowndeletevalidatecancelclose
html2pdf

Convertisseur de code Html vers PDF.

moveUpmoveDowndeletevalidatecancelclose
ActionScript

Langage de programmation utilisé notamment avec Flash. En perte de vitesse.

moveUpmoveDowndeletevalidatecancelclose
WebServices

Protocole d'interrogation de services dans un environnement orienté agent, comme internet par exemple. Utilisé pour des questions d'interopérabilité.

moveUpmoveDowndeletevalidatecancelclose
Acceleo

Langage de requête de données XMI, remplacé par AQL.

moveUpmoveDowndeletevalidatecancelclose
AQL

Langage de requête de données XMI, développé par Obéo et utilisé au sein des technologies MDE de la plateforme Eclipse. Ce langage remplace le langage Acceleo.

moveUpmoveDowndeletevalidatecancelclose
Yousign

Service en ligne et intégrable à un site afin de certifier les signatures électroniques.

moveUpmoveDowndeletevalidatecancelclose
GoJS
Framework javascript pour la visualisation et la création de diagrammes au sein d'un navigateur web.
moveUpmoveDowndeletevalidatecancelclose
WebSocket

Protocole permettant de créer des connexions bi-directionnelles, pour la mise à jour d'information en temps réel.

moveUpmoveDowndeletevalidatecancelclose
Fabric

Un utilitaire de scripts, utile pour automatiser les aspects système comme la mise en place d'un serveur.

moveUpmoveDowndeletevalidatecancelclose

Mes Coordonnées

AMO-IT

33 avenue Philippe Auguste

75011 Paris

moveUpmoveDowndeletevalidatecancelclose

Pour me contacter

Your message has been sent. Thank you!

Sorry your message can not be sent.