Dans le cadre de développement des projets open-source et SaaS de l’entreprise, j’étais
recruté pour renforcer l’équipe de 8 personnes pour participe au développement des
solutions de l’entrprise.
Taches réalisées :
- Projet MDM : Application qui gère le documentaire et l’archivage des entreprises.
Participation au développement des fonctionnalités o Revue de code o Angular 14 / 15
Développement des modules et composants pour la partie front : gestion de rôles,
accès, authentification, intégration dynamique des composants etc.
Symfony 6 : Développement avec Api plateform de l’api principale de l’application.
PoC : micro-services : préparation d’un PoC pour avoir une visibilité sur une architecture
cible micro-services
Dans le cadre de l’amélioration et refonte de ses applications, j’étais recruté chez SFR pour renforcer une
équipe de 15 personnes
Tachesréalisées :
- Projet RTG : Application qui gère les équipements dans le réseau SFR.
- Taches :
o Gestion d’équipe en collaboration avec les chefs de projets / parties du SI
o Participation au développement des fonctionnalités
o Revue de code
o Mise en place de l’architecture cible pour la refonte de la partie legacy de
l’application
o Réalisation des PoC :
• API Restful avec NestJS : pour entamer la partie de découpage du Back legacy en
microservices en suivant le patter « Strangler »
• Front Angular : pour la partie web
• Ionic / Cordova pour une application mobile spécifique
• Migration de docker vers Podman pour se rapporhcer le plus de l’environnement de
Kubernetes
o Formation des développeurs sur la nouvelle architecture et les nouveaux outils de
développement
Dans le cadre de l’amélioration de ces projets, j’étais recruté chez Sodexo pour faire la refonte des
projets web de l’entreprise.
Taches réalisées :
- Projet Extranet Client : dans une équipe Scrum de 6 personnes, j’étais intégré en tant que
développeur Fullstack Sénior pour la refonte de ce projet en 2 étapes :
o Amélioration de l’interface ainsi que la maintenance évolutive du projet sur Symfony
2.7 et angularJS
o Migration du projet vers Full Angular 2+ : Mise en place de l’architecture technique du
projet.
AFERSYS est une société de conseil indépendante spécialisée dans les métiers de l'ingénierie et de
l'innovation.
Taches réalisées :
- Projet Hakathon : Développement d’une application web / mobile permettant de capturer les
photos d’un objet en 3D et le classer dans une catégorie en utilisant de l’intelligence artificielle.
- Refonte du site web de l’entreprise
Dans le cadre d’une réécriture de 5 applications internes utilisées par BP2I (Département IT de la
banque BNP Paribas), j’étais recruté en tant que Tech-Lead pour une équipe de 3 personnes.
Taches réalisées :
- Analyse approfondie de l’existant : Vu que les applications sont très anciennes (Framework Jelix
1.x), il n’y avait pas des cahiers des charges qui décrivaient les fonctionnalités. L’analyse de
l’existant (code + fonctionnalités) était la solution pour comprendre le besoin et le reproduire
avec les nouvelles technos proposées par BP2I (Symfony 3.4 + des bundles spécifiques
développés au sein de BP2I).
- Etude d’impact de la migration depuis le framework Jelix 1.x vers Symfony 3.4. Cette étude
comporte :
o Analyse de l’impact de la migration vers Symfony et les « Side Effects » sur
l’architecture technique et l’aspect fonctionnel des applications.
o L’impact sur l’architecture de la base de données ainsi que la structuredes données.
o Rédaction des documents de cette analyse pour les 5 applications.
- Mettre en place l’architecture technique à adopter : prendre en considération les contraintes
techniques posées par le client : Couches de sécurité, Bundles spécifiques pour traiter
l’authentification et la gestion des sessions, unifier le visuel des différentes applications, Microwebservices entre les applications, paramètres spécifiques pour le versionning et les packages
(git et composer) etc.
- Préparation du backlog contenant les taches à faires et dispatcher les taches suivant les
compétences de chaque membre de l’équipe :
o Diviser les projets en des taches bien précises en se basant sur la complexité des taches.
o Ayant des développeurs juniors dans l‘équipe, le dispatch des taches était très précis :
suite aux échanges techniques avec les développeurs, j’ai pu savoir les compétences
de chacun et donc « qui peut faire quoi »
- Assistance des développeurs :
o Aide à l’analyse de l’existant (code et fonctionnalités) : les aider à lire et comprendre
le code des applications existantes
o Proposer la solution technique à utiliser en cas de blocage
- Revue de code et veille du respect des règles techniques et bonnes pratiques :
o Veille sur les règles de codages (Clean code, POO, Paterns).
o Bien s’assurer que le code reproduit exactement la même fonctionnalité de l’existant.
o Eviter les régressions en faisant des tests réelles et en comparant les résultats dans les
2 scénarios (nouveaux développement et l’existant)
- Déblocage des développeurs et validation des choix techniques.
- Participation au développement des différentes parties des projets :
o Prendre en main les taches les plus compliquées
o Traiter les retours des recettes clients
- Contact direct avec le client et le staff de BP2I en cas de besoin :
o Echanger avec les MOA, MOE, équipe d’exploitation
o Echange avec les utilisateurs finaux des différentes applications.
CMS+ est une entreprise qui a pour mission de concevoir et de mettre en place des solutions adaptées
aux besoins de ses clients et partenaires.
Projets :
Application Mobile Hybrid« JamCore » (Android) : application de Fitness pour le BodyBuilder
« Jamcore » reconnu mondialement. L’application est développée en utilisant AngularJS,
Ionic, Cordova, Firebase. A part l’organisation de l’équipe, j’ai participé au développement
(AngularJS,css,html) du module qui calcule l’hydratation pour l’utilisateur, la sauvegarde des
données dans la base de données (Firebase).
Application « Facestat » : (Hybride) application de calcul des statistiques à partir des données
extrait de Facebook. L’application des développée avec ReactJS,Symfony4, MongoDB. J’ai
participé au développement de la partie backend avec Symfony4 en construisant les
requêtes personnalisées avec ODM et les optimiser le maximum.
Application AIDA (PWA : Progress Web Application) : Application de gestion des cabinets
dentaires. L’application est développée avec Angular5, symfony4, MongoDB, Cordova, ionic.
J’ai participé au développement des 2 parties Frontend et Backend.
Application Cross-plateforme « DirettoConsumo » (Android – IOS - web) : Application pour
l’automatisation de dépôt des documents fiscales en Italie. L’application est développée en
utilisant AngularJS, Ionic, Cordova, Mysql, Symfony3 pour le backend et le REST API pour les
webservices. Coté développement j’ai participé au développement des différents
fonctionnalités du backend et de l’API (Symfony3, Mysql).
Application Hybride «Connecting » : Réseau social spécifique pour l’association « Connect »
des hommes d’affaires en Tunisie et à l’international.L’application est développée en utilisant
Angular5, Ionic, Cordova, SQL Server, .NET pour le backend et le REST API pour les
webservices.j’ai développé plusieurs pages dans le frontend (AngularJS)
Plateforme « likenco » : Site web contenant plusieurs modules (réseau social, crowdfunding,
petites annonces etc). L’application est développée en utilisant Angular5, Symfony3, Mysql,
ElasticSearch sur les serveurs d’AWS (Amazon Web Services)
Développement des sites web : Développement de plusieurs sites web avec les CMS
Wordpress et Prestashop. Il y avait du développement des modules spécifiques ainsi que
l’intégration des maquettes graphiques (PSD) sous forme des thèmes et templates
responsives dans ces CMS
Taches réalisées :
- Piloter une équipe de 7 personnes en préparant les cahiers des charges suite aux réunions avec
les clients finaux.
- Choisir les solutions techniques à utiliser pour chaque projet
- Mettre en place l’architecture à utiliser pour la base de données ainsi que pour le code pour
chaque projet (ça dépond de chaque projet et chaque Framework / CMS utilisé)
- Planifier les taches et les disperser entre les développeurs
- Participer au codage dans les différents projets
- Débloquer les développeurs et / ou trouver des alternatives techniques
- Tester et faire la revue de code pour les développeurs
- Utiliser la méthode Kanban pour les projets à développement continue et varié, Scrum pour le
reste des projets. J’étais le Scrum master durant les Sprints des projets Scrum
- Mettre en place une solution d’industrialisation :
o Gérer 2 serveurs Linux : un VPS et un serveur local pour le d...