je suis passionné par le code. J'ai soif d'apprendre encore et encore et cela grandit encore davantage avec le temps.
Shippeo, the European leader in real-time transportation visibility, helps major
shippers and logistics service providers leverage transportation to deliver
exceptional customer service and achieve operational excellence.
As a backend developer, I work on collaborative workflows (eg notifications
between the different actors concerned about a delivery when delayed).
Environment: CleverCloud, GCP, RabbitMQ, Symfony4.4, Algolia, PHPSpec,
PHPUnit, circleCI, Domain-Driven-Design, CQRS/event-sourcing, cadence
(Uber software to orchestrate our workflows)
Maintenance applicative et évolution de Mavoiturecash, site de prise de
rdv entre particuliers et professionnels pour mise en vente de véhicules
automobiles.
Mise en place de stacks AWS avec Lambda (Node.js), DynamoDB, SNS,
SQS, CodeBuild, CodePipeline, CodeDeploy, certificat HTTPS, ALB, kinesis
firehose/S3, cloudwatch, EC2, Route53, ElasticSearch
Stack: html 5/css 3, javascript, Node.js, Symfony4, REST, AWS, newrelic,
kibana, docker, phpunit, behat/mink...
Évolution et maintenance des webservices concernant le replay en
Symfony2.8/PHP natif.
Participation à la refonte et à l'architecture du code legacy (PHP natif) en
Symfony3/4 en micro-services.
Cette nouvelle architecture à laquelle j'ai activement participé était résiliente,
capable de supporter un fort trafic (1,7M d'appels par jour, 5000 vidéos par
semaine, soit 700 vidéos/jour = 150 heures/jour = 215 Go/jour), asynchrone,
basé sur des API dont les data étaient stockées en mongoDB (plusieurs
millions de données).
Le monitoring des erreurs était gérée par Newrelic et des logs permettaient de
retrouver l'historique dans kibana et en base de données.
Les données étaient gérées en cache via Varnish et Akamai et une purge
événementielle permettait d'être d'obtenir des données en temps réel.
L'intégration continue était assurée par jenkins et gitlab-ci via des tests
unitaires et fonctionnels afin d'éviter toute régression.
Environnement: Docker, rabbitMQ, mariaDB, mongoDB, PHP 7,
Symfony3.4/4.2, PHPUnit, fitnesse, codeception, newrelic, API micro-services,
Varnish, Akamai, jenkins, git...
Région de Boulogne-Billancourt, France
Développement de sites en Symfony2.x au forfait/régie.
Ingénico:
TMA front (Angular JS), back (Symfony2), et évolution du backoffice sur une
application permettant de suivre les commandes, factures & livraisons de
produits et services (alimentation de la base par fichiers json)
Total:
Evolution du frontoffice/backoffice permettant à divers profils de passer
commande et d'en suivre l'évolution
Mise en place des tests unitaires PHPUnit
Mise en place des tests fonctionnels avec Behat/Mink et le driver Selenium 2
Amélioration du js avec FosJsRoutingBundle
Force de proposition sur l'évolution du gitflow
Mise en place de solution de cryptage pour augmenter la sécurité des
connexions
Optimisation des performances: les lazy services, indexation de champs des
tables
Environnement et méthodologie: LAMP, GIT, SCRUM, Jenkins, PHPUNIT,
BEHAT/MINK
Pernod Ricard:
Réalisation d'un backoffice envoyant des données à l'application phonegap
wise drinking:
- construction de la base de données
- mise en place graphique de l'interface
- gestion des utilisateurs (inscription, changement de mot de passe, rappel de
mot de passe et envoi par mail, reset mot de passe, suppression de comptes
existants par le superadmin) - webservices de consultation des données
CanalTP:
Maintenance et évolution des futures versions de www.jvmalin.fr,
www.destineo.fr, www.breizhgo.com, www.vitici.fr
Environnement: LAMP, GIT, SCRUM, Backbone, Symfony2, Compass/SASS,
Jenkins, BEHAT/MINK, Selenium, PHPUnit
Librairies/bundles utilisés: PHP Excel, Knp Paginator, FosUserBundle, Jquery
validation engine
Maintenance et évolution du frontoffice (20%) et du backoffice (80%) d'un site
mix PHP / symfony, avec pour objectif principal d'internationaliser le site et de
rendre la partie ecommerce entièrement administrable:
- gestion des commandes internationales via le backoffice
- implémentation fonction traduction de l'espace client, gestion des factures en
plusieurs langues - implémentation fonction traduction des différentes pages d'inscription selon
les pays - gestion des mails selon les pays
- évolution de la base de données
- évolution des différents moteurs de recherche du backoffice
- nombreuses requêtes en base de données pour en extraire des statistiques
- création de divers outils dans le backoffice pour en faciliter l'administration
(rajout de phrases dynamiques dans les lettres envoyées aux clients,
formulaire d'upload des fichiers csv de l'interface de paiement et envoi par mail
des nouveaux csv générés par pays, par jour et par mois) - création de cron d'automatisation de demandes récurrentes de statistiques
- implémentation fonction de gestion de la prise en charge de certains colis par
pays par un prestataire postal - création en pdf de l'étiquette de suivi internationale avec code barre
- integration HTML/CSS nouvelles pages d'inscription et de paiement
- validation de formulaires en jquery, notamment avec Jquery validation engine
- implémentation fonction de gestion par pays et par interface (callcenter, page
inscription) des solutions et des moyens de paiements: CB / RIB - WebService REST permettant de consulter les personnes inscrites ayant
payé à une date donnée par pays - administration des tags de tracking par campagne/affiliate/advertiser dans le
backoffice - gestion interne de création de newsletter et liaison avec splio
- mise en place d'une solution de paiement par RIB pour l'Allemagne
(Lastschrift): paiement en direct, par mail, renouvellement... - rédaction documentation technique et fonctionnelle
Intégration continue avec Jenkins.
Suresnes
Rédaction d’une formation symfony 1.4 de débutant à intermédiaire
Différentes missions en PHP, Ez Publish, Wordpress, Symfony 1.4:
boxecommerce (DOCAPOSTE)
DiapasonMag (MONDADORI)
ONISEP
Creation d’une application des gestion clientèle informatisée pour suivi des
contrats.
Environnement : Mac, Apache, MySQL, PHP.
symfony :
-> création des modules tâches, entreprises, contacts, offres, statistiques.
-> implémentation d’un formulaire d’authentification et mise en place d’un
menu différent en fonction des droits des utilisateurs.
-> utilisation de formulaires imbriqués.
-> utilisation du plugin sfFormExtraPlugin pour le calendrier Jquery DatePicker.
HTML/CSS : création de l’interface graphique de l’application.
Merise:
-> Modélisation de la base de données: MPD (avec MySQL workbench)
-> Elaboration du modèle conceptuel de traitement pour le process des offres.
Gestion de projet :
-> Rédaction des cahiers des charges fonctionnelles et techniques.
-> Elaboration de mockups.
Site visible à l'adresse lfsm.org - le site vient d'être refondu en wordpress sur
une décision interne et la version symfony ne pourra donc être montrée que
sur mon ordinateur personnel.
Refonte du site actuel (SPIP) sous symfony.
Environnement : Mac, Apache, MySQL, PHP.
Gestion de Projet :
-> Elaboration des cahiers des charges fonctionnelles et techniques.
HTML/CSS : création de la charte graphique sous Photoshop et intégration au
site.
symfony :
-> Création de nombreux modules: actualité, archive, consultation, compte
rendu, ThinkTank, recherche, legs, film, article de presse ...
-> Implémentation de l’héritage de tables (concrete) avec Doctrine.
-> Création de deux espaces membres (ThinkTank et donateur) avec
authentification et gestion des credentials.
-> Mise en place d'un paiement en ligne sécurisé (paypal).
-> Gestion fréquence des dons en ligne (ponctuel ou mensuel).
-> Implémentation de caroussels Jquery.
-> mise en place d’un éditeur WYSIWYG
-> utilisation des plugins sfFormExtraPlugin, sfCkPlugin,
isicsWidgetFormTinyMCEPlugin, sfImageTransformPlugin
Maintenance applicative et Evolution du site en PHP.
Environnement : Mac, Apache, MySQL, PHP.
PHP:
-> Réorganisation du code en MVC.
-> Sécurisation du site contre les injections SQL, les failles XSS & CSRF.
-> Gestion des sessions d'authentification et des droits en fonction du profil.
-> Mise en place d'un nouveau groupe de travail (Histoire des Arts).
-> Evolution du logiciel VOCABULETTRES : création d'un exercice à trous
paramétrable.
BUC
Participation, sous la direction d’un chef de projet fonctionnel, à la mise en
place d’une application client-serveur vendue par General Electric Energy
(Field Force Automation) pour l’assignation d’un technicien sur un site, en vue
d’optimiser le nombre d’interventions annuelles.
MainFrame : utilisation quotidienne pour mapper les données avec
l’application future.
SGBD : Extraction de données par Business Object.
UML : Rédaction de scénarios de test.
Gestion de projet :
-> Enrichissement du cahier des charges fonctionnelles.
-> Elaboration du storyboard et des mockups.
Intégration dans une équipe de cinq personnes : un manager, un chef de
projet MOE, un développeur Windev, un DBA et un ingénieur en génie logiciel.
Application de la méthode des points de fonction à l’application client-serveur
AssetPlus permettant la gestion du matériel médical des hôpitaux.
Gestion de projet :
-> Estimation de la charge homme-années en points de fonction pour la
refonte de l’application client-serveur As-setPlus
-> Benchmarks réalisés avec l’aide d’Arthur MASSIER, président de l'ASSEMI
(Association pour l'étude des métriques informatiques) et responsable de la
mesure de la performance chez RENAULT.
-> Rédaction d'un tutoriel en anglais pour aider l’équipe à continuer le travail
amorcé.
- Anglais
- Français