Mohamed Hamdi G.

Full Stack Developer

690 dollar
Freelancer
9 ans
Asnières-sur-Seine, FRANCE

Mon expérience

Voir plus

SFR/Groupe AlticeApril 2019 - Présent

CONTEXTE : Groupe Altice (anciennement Numericable-SFR puis SFR Group) est un groupe multinational présent dans les télécoms, les contenus, les médias, le divertissement et la publicité.

PROJET 1 :Etude et développement de la refonte d’une application appelé SIROCO qui centralise toutes les informations de Groupe Altice 

EQUIPE : 1 PO, 1 Scrum Master, 1 Architecte et 4 Développeurs

REALISATIONS : 
- Participation à l’étude de l’architecture et la conception du projet. 
- Participation au chiffrage de tickets 
- Faire la documentation du projet sur confluence 
- Mise en place de la chaine CI/CD avec l’équipe DevOps
- Développement des API REST sécurisé avec JWT pour exposer les données 
- Architecture et développement de vues, de rapports (ensemble de vues) ou de fonctionnalités transverses. 
- Créer la couche SOA qui est la source de nouvelles fonctionnalités (Les services) 
- Mise en place des évènements 
- Spécification, conception, réalisation et intégration du module SSO 
- Utiliser REDIS comme un adaptateur de cache 
- Gérer les conflits du merge GIT en collaboration avec l’équipe Utiliser PHP-CS-fixer pour pour vérifier que le code suit les PSRs 
- Faire le TDD avec PHPunit et le code coverage 
- Analyser la performance de l’application avec le Profiler native et Blackfire 

ENVIRONNEMENT : Symfony 4.4 LTS, REDIS, Git, Docker, Gitlab-CI, Jira, Confluence, bootstrap, Mysql, VueJS

PROJET 2 :Développement de nouvelles fonctionnalités et mise à jour de la suite ESMS/IG Tools 

EQUIPE : 1 SCRUM Master, 3 Développeurs

REALISATIONS : 
- Etude de besoins 
- Mise en place d’un outil de Versionning (git) 
- Développement de nouvelles fonctionnalités back 
- Mise en place et des WS REST avec JWT token en utilisant APIPlatform 
- Mise en place d’un système d’authentification unique SSO avec GUARD 
- Développement des nouveaux services qui font partie de la couche SOA 
- Mise en conformité des entités doctrines et l’ancienne base de données pour profiter de la validation doctrine. 
- Développement d’un migrateur de la base de données. 
- Mise en place des tests fonctionnels et unitaire avec PHP-unit 
- Analyse des bugs avec sonarqube 
- Utiliser PHP-CS-fixer pour pour vérifier que le code suit les PSRs 
- Migration de la partie frontend vers Angular 9 
- Migration de design de bootstrap vers material design 
- Test unitaire de la partie front avec Karma et Jasmine 
- Code coverage coté front (Angular) 

ENVIRONNEMENT : PHP 7.2, Symfony 4.4 LTS, API-Platform, Symfony messenger, Git, Docker, Jira, Confluence, phpunit, Angular 9, ES6, rabbitMq, Gtilabci.

Voir plus

Bitbase Group GmbHJune 2018 - April 2019

CONTEXTE : Bitbase est un groupe allemand de conseil et d’ingénierie qui développe des solutions informatiques en Allemagne et à l’international.

PROJET 1 : Conception et développement du projet Brunner Group (fabricant leader de meubles pour espaces collectifs en Allemagne ) – Micro services 

EQUIPE : 1 PO, 1 Scrum Master (Project Manager), 5 Développeurs, 2UX/IU.

REALISATIONS : 
- Participation à l’étude et la conception du projet. 
- Participation au chiffrage de tickets 
- Conteneurisation de différents systèmes en utilisant Docker 
- Développement de nouvelles fonctionnalités sur le back et les API du site 
- Développement d’une nouvelle fonctionnalité sur le site permettant aux utilisateurs de naviguer dans le DAM à travers les API et télécharger les données (images, documents et objets) 
- Mise en place du PIM Akeneo sur les différents environnements 
- Développement d’une nouvelle bundle sur le PIM pour la synchronisation des produits entre le DAM (Celum), le PIM et le Site. 
- Créer une couche SOA qui est la source de nouvelles fonctionnalités créé par BBG 
- Mise en place d’un système de cache basé sur Varnish pour obtenir la meilleure performance coté applicatif 
- Mise en place du site frontale en intégrant le Framework Vue.js mélangé avec Nuxt.js afin d’appliquer le principe de SSR pour obtenir un meilleur référencement et indexation par les moteurs de recherche.
- Développement de script de consommation de données de différents systèmes 
- La revue de code avec le TL 
- Développement d’une application node.js basé sur Express qui permette de synchroniser les données entre les différents systèmes 
- Mise en place de tests Unitaires et Fonctionnels sur les différents services de l’application 
- Assurer la maintenance et la correction des bugs applicatifs 
- Gérer les conflits de Versioning GIT en collaboration avec l’équipe 
- Gestion de la communication entre microservices avec RabbitMq (config et développement)

ENVIRONNEMENT :
PHP 7, Symfony 3.4, Lamp, Git, Docker, k8s, Jenkins, Jira, Confluence, BackboneJs, Behat, phpunit, Angular 7, jest, MongoDB, ELK-Stack, Jenkins, rabbitMq. 

PROJET 2 : Conception et développement d’une plateforme de gestion des clubs sportifs SGStern pour Groupe Daimler ( Mercedes ) https://www.sgstern.de

EQUIPE : 1PO, 1 Scrum Master (Project Manager), 6 Développeurs, UX/IU par Jung von Matt.

REALISATIONS : 
- Découpage, estimation et traitement des demandes détaillés dans le document de spécification de la version. 
- Discussion, estimation et développement des demandes correctives proposés par l’équipe métier. 
- Mise en place de la structure du projet 
- La mise en place du front-end Vue.js en intégrant la Template 
- Développement des fonctionnalités vuejs pour la consommation des API rest 
- L’intégration de VueX pour gérer la communication entre les composants front 
- Intégration de Nelmio Cors, Nelmio APi-doc et Swagger en Back 
- Développement de la couche SOA en Back 
- Intégration de jwt Bundle pour la gestion des tokens au niveau des API et la configuration avec FOSUser
- Développement de nouvelles fonctionnalités backend (gestion des utilisateurs, clubs, villes et les sports)
- Développement des API Symfony 4 
- Faire les revues de code avec le TL 
- Mise en place de tests Unitaires et Fonctionnels avec Phpunit

ENVIRONNEMENT : PHP 7, Symfony 3.4, Webpack, Phpunit, JS/JQuery, Docker, Webpack Ajax, MySql, Vue.js, Lamp, Git, Jira, Jest, Confluence, Jenkins, ELK Stack. 

Voir plus

Groupe AdamingFebruary 2016 - June 2018

CONTEXTE : Groupe ADAMING spécialisés dans le Conseil, la Formation et l’Ingénierie Numérique. Présents en France (9 filiales) et à l’international (Canada, Algérie, Maroc, Tunisie et Espagne).

PROJET 1 :Développement d’une plateforme de gestion des pharmacies en France pour Groupe Roche (disponible sur l’App Store/Play store sous le nom Fiches Info Patients Roche ) 

EQUIPE : 1 PO, 1 PM, 1 Team Lead, 2 Développeurs, 1UX/IU

REALISATIONS : 
- Etude et analyse de la plateforme et à la réalisation du cahier de charge 
- Création d’une API REST qui permet à l’application mobile de communiquer avec le backoffice. 
- Mise en place de JWT Token pour sécuriser les APIs 
- Développement de la partie front avec VueJs 
- Développement de l’application mobile hybride avec Vue.JS et Framework7 
- Module de synchronisation (importation et exportation de la liste des inscrits 
- Développement des modules de parcours santé 
- Développement du module de gestion des patients 
- Réalisation de tests nécessaires (PHP Unit) 
- Faire les revues de code avec le PM (Project Manager)

ENVIRONNEMENT : PHP7, PhalconPHP, Lamp, Docker, Jira, confluence, PHPUnit, Behat, Jest, Framework7, Vue.js, Cordova, Webpack, Git, Travis-CI, PostgreSQL

PROJET 2 : Conception et développement d’une application de gestion des pharmacies en France pour Totum.fr (disponible sur l’App Store sous le nom Totum pharmaciens ) 

EQUIPE : 1 PO, 1 Lead Développeurs, 4 Développeurs

REALISATIONS : 

- Etude et développement de la plateforme (Site et Appli) 
- Développement de la couche DAO 
- Intervenir dans le développement d’un annuaire pharmaceutique (Totum.fr) avec Angular 
- Intervenir dans le développement des nouvelles fonctionnalités du back-end 
- Développement d’une application web qui permet aux pharmaciens de gérer ses clients. (Ionic/Angular) 
- Création des API REST pour les applications clients 
- Développement de la partie de gestion du planning et des rendez-vous des clients. 
- Faire les revues de code avec le TL 
- Mise en place des tests 

ENVIRONNEMENT : Symfony 2.8, mongodb, Angular 4, Ionic 3, Js/JQuery, Nginx, Git, Docker, Mocha, Jest, Varnish.

PROJET 3 : Conception et développement d’un backend du jeu Kingoloto (Existe dans l’App Store sous le nom Kingoloto-Loterie gagnante )

EQUIPE : 1 TL, 1PO, 3 Développeur, Mobile App: Groupe Tenso 

REALISATIONS : 
- Étude et développement de la plateforme 
- L’intégration du REST Edition pour la gestion des WS. 
- Création des services (SOA) pour la gestion des logs permettant de collecter toutes les requêtes envoyées et les retours de serveur et permet aussi d’enregistrer les informations de l'utilisateur courant sur le site (User Agent, IP Adresse, date de connexion, ...) et les sauvegarde dans le Syslog pour la traçabilité en se basant sur le composant Event Dispatcher. 
- Installation du lexik JWT Bundle et mettre en place pour la gestion des autorisations du header (validité, temps d’expiration du token) pour assurer la sécurité des requêtes. 
- Développer la couche DAO et le cycle de vie des entités. 
- Définissant les services standards de l’application pour la gestion des notifications avec l’application mobile
- Assurer la sécurité des headers avec Nelmio Security et nelmio Cors 
- Mise en place de tests Unitaires et Fonctionnels (TDD et BDD)

ENVIRONNEMENT : PHP7, Symfony 2.8, JS/JQuery, Git, Docker, Jenkins, Varnish (Cache applicatif), REDIS (cache doctrine).

PROJET 4 : Yves Rocher : développement d’un site web responsive de haute qualité en partenariat avec Groupe TENSO 

EQUIPE : 1 Chef de projet, 3 développeurs

REALISATIONS :
- Faire l’étude du projet et proposer des solutions (techniques et fonctionnelles) 
- Participation à l’analyse et le chiffrage de tickets 
- Participation à la mise en place et la conception du projet 
- Participation à la rédaction des spécifications techniques en respectant les normes et les standards de développement en collaboration avec l’équipe 
- La mise en place de la couche DAO 
- Installation et configuration de la suite Rest Api (NelmioApiDoc, NelmioCors, LexikJwt, Serializer) 
- Développement des API pour la gestion de produits, utilisateurs et services 
- Appliquer les règles de la sécurité pour les API Rest 
- Réalisation des tests et validation des fonctionnalités développées. 
- Participation à la génération des livrables et les incréments 
- Réaliser et mettre à jour la documentation technique 
- Assurer la maintenance 
- Participation au déploiement dans les différents environnements 
- Réaliser les tests unitaires et les tests fonctionnels de l’application

ENVIRONNEMENT : PHP, Symfony 2.8, phpunit, behat, Bootstrap, JQuery, Apache, Docker, JavaScript, CSS, MySQL, SVN, StarUML, Netbeans, Jenkins, vueJs 

Voir plus

TunivisionsJuly 2015 - February 2016

PROJET 1 : Développement d’une plateforme de news à forte trafic compris 12 sites 

EQUIPE : 1 TL, 2 développeurs, 1UX/UI. 

REALISATIONS : 
- Analyse des besoins du client et conception du projet 
- Mise en relation direct avec le directeur de l’entreprise pour la coordination des taches et la feuille de route du développement. 
- Mise en place de la couche DAO 
- Mise en place de serveur de production et installation de l’environnement (CentOS 7). 
- Création des Vhosts, .htaccess, filtrage des requêtes avec l’outil IPTABLES 
- Utiliser le cache Symfony pour lister les évènements 
- Création d'une tâche cron pour les rappels automatiques 
- Mise en place d’un firewall hardware OVH et le configurer 
- Rédaction de cahiers des scénarios de tests.

ENVIRONNEMENT : PHP 5, Symfony 2.8, FOSUserBundle, FOSJSRoutingBundle, JQuery, Bootstrap, phpStorm, MySql, Varnish, MySQL Worckbench, GIT, StarUML, Angular 2.

PROJET 2 : Développement d’une application pour la gestion des événements 

EQUIPE : 1 PO, 1 Scrum Master et 2 développeurs

REALISATIONS : 
- Etude et analyse du projet 
- Développement d’une Api Rest pour la gestion des clients, 
- Mise en place et installation du bundle Mobile detector pour la détection mobile 
- Mise en place de tests Unitaires et Fonctionnels en utilisant l’approche TDD 
- Filtrer les actions et création un nouveau design pour les appareils mobile (Tablette et mobile) pour améliorer la performance du plateforme. 
- Développement d'un bundle réutilisable pour gérer les tokens d’authentifications. 
- Amélioration du temps de réponse du site à l’aide de Google page speed 
- Mise en place de l’analytics

ENVIRONNEMENT : Symfony 2.7, FOSRestBundle, NelmioApiDocBundle, NelmioCors,LexikJwtBundle, TDD, LAMP, PHPUnit, phpStorm, CentOs 6, SVN, Trello, vue.js

Voir plus

IACEMarch 2014 - July 2015

PROJET 1 : Développement du COGITO CRM: est un CRM permet la collecte d’informations par les enquêteurs, les conseillers, les associations qui utilisent cette plateforme pour le suivi et la recherche dans le domaine de l’emploi et l'entreprenariat.

EQUIPE :
3 développeurs, 1 PO, 1 Scrum Master, 1UX/UI

REALISATIONS : 
- Rédaction des dossiers de spécifications fonctionnelles, 
- Développement des fonctionnalités techniques de l’application en Symfony2, 
- Intégration d'une template bootstrap sous Symfony, 
- Développement du module emploi 
- Création des WS nécessaires pour l’utiliser dans le chargement automatique et les suggestions. 
- Mettre en place les bundle nécessaires comme Liip imagine, Elastic search, REST Edition 
- Optimisation du cache à l’aide de Varnish 
- Réalisation des tests et validation des fonctionnalités développées. 

ENVIRONNEMENT : Symfony2.6, Bootstrap, JQuery, Apache, PostgreSql, JS, Ajax, bootstrap, jquery, ELK Stack, API REST, SVN, StarUML, Netbeans. 

PROJET 2 : Système de validations des prévisions des budgets des centres de formation

EQUIPE : 1 Chef de projet, 2 développeurs

REALISATIONS : 
- Rédaction des dossiers de spécifications fonctionnelles, 
- Développement des fonctionnalités techniques de l’application en Symfony2, 
- Développement d'un Script d'import des anciens budgets créé en des fichiers Excel.

ENVIRONNEMENT : Symfony2.5, Bootstrap, JS/JQuery, LAMP, SQLPowerArchitect, SVN, StarUML, Netbeans. 

PROJET 3 : Développement des sites internes de l’entreprise.

EQUIPE : 1 Chef de projet, 2 développeurs

REALISATIONS : 
- Rédaction des dossiers de spécifications techniques, 
- Développement des fonctionnalités techniques de l’application en Symfony2, 
- Réalisation des tests et validation des fonctionnalités développées

ENVIRONNEMENT : Symfony 2.5, Bootstrap, Js/JQuery, Apache, MySQL, CSS, Html, Netbeans, SVN, StarUML, Netbeans

Voir plus

DIRECT ENGINEERINGJanuary 2013 - March 2014

PROJET 1 : Développement du site KPM Cargo: spécialisée dans le Transport des courriers et colis. Elle propose des services de transport aérien.

EQUIPE : 1 PO, 1 Scrum Master et 2 développeurs

REALISATIONS : 
- Déterminer les besoins du client, 
- Intégration de la partie frontale. 
- Réalisation des tests et validation des fonctionnalités développées, 
- Reporting, Daily Meetings (SCRUM), 
- Développement d’un Web service qui permet aux sites des partenaires d’afficher des informations.

ENVIRONNEMENT : Symfony2.3, JQuery, LAMP, Ubuntu, Agile Scrum, SVN, XML, StarUML, Netbeans. 

PROJET 2 : Développement du site food-freindly.fr: site web Français de divertissement appartenant à la famille des sites francophones de diffusion de contenus insolites

EQUIPE : 1 Chef de projet, 2 développeurs

REALISATIONS : 
- Intégration et développement CMS (Drupal 6) 
- Réalisation des développements avec PHP et JQuery, 
- Création d’une API REST qui sera consommé par les applications clients, 
- Développement de la partie front-office, accessible, fiable 
- Réalisation des tests et validation des fonctionnalités développées.

ENVIRONNEMENT : PHP5, Drupal 6, JQuery, LAMP, Ubuntu , SVN, REST, XML, JSON, StarUML 

PROJET 3 : Développement du site (Matelas-a-langer.fr) qui permet au consommateur, en dehors des lieux habituels de réception de la clientèle, de commander un produit ou de demander la réalisation d’un service.

EQUIPE : 1 Chef de projet, 2 développeurs

REALISATIONS : 
- Définition d’un planning de réalisation du projet, 
- Développement de la partie front-office, accessible, fiable, 
- Correction des bugs 
- Réalisation des tests et validation des fonctionnalités développées.

ENVIRONNEMENT : PHP, Zend1, Js/JQuery, LAMP, Ubuntu, SVN, REST, XML, JSON, Netbeans, MySql.

PROJET 4 : Site web Parc bébé (parc-bebe.net): c’est un site de vente en ligne des parcs de bébé qui permet au consommateur d’acheter en ligne.

EQUIPE : 1 PO, 1 Scrum Master et 2 développeurs 

REALISATIONS : 
- Participé à la rédaction des dossiers de spécifications techniques des applications et la planification des tests, 
- Réalisation des développements avec PHP et JQuery sous LAMP sous Ubuntu, 
- Réalisation des tests et validation des fonctionnalités développées, 
- Reporting, Daily Meetings (SCRUM). 

ENVIRONNEMENT : Symfony2.1, JQuery, LAMP, Ubuntu, SVN, XML, Bootstrap, Netbeans

Mes compétences

Protocols

JSON

IT Infrastructure

Windows, Docker, Varnish, CentOS, Ubuntu, Mac OS, CentOS 6, Nginx, Git

Open Source solutions

Phalcon, Kubernetes, LAMP, TYPO3, Putty

Application servers

Apache Web Server, Elastic Stack

Environment of Development

Notepad++, PhpStorm, NetBeans, Eclipse, WebStorm, MySQL Workbench, Eclipse IDE, Travis CI, SVN

Mobile

Ionic

Software testing

Jasmine, FireBug, Behat, Jest, Karma, Mocha

Frameworks

Spring, WordPress, AngularJS, jQuery, Backbone.js, Node.js, Express.js, Angular, Bootstrap, Sails.js, PHPUnit, Zend Framework, Symfony, AJAX, REST

Technologies

Drupal, Symfony3, Web Services, RabbitMQ, Trello, ELK Stack, J2EE, REST API, Spring Boot, TortoiseSVN, Symfony 4, ElasticSearch, Symfony2, Vue.js

Databases

Redis, PostGreSQL, MySQL, MongoDB

Others

SOLID, API, Analytics

Middleware

Jenkins

Computer Tools

Microsoft Excel, SQL Power Architect

Analysis methods and tools

Merise, StarUML, DevOps, Confluence, Agile, Scrum, Requirements Analysis, BDD (Behat), JIRA

Languages

Jscript, PHP 5, JavaScript, PHP 7, UML, XML, Java, PHP, CSS, HTML, EcmaScript, ECMAScript 6

Mes études et formations

Formation professionnelle en Java/J2EE - Spring Boot - Adaming Group2017 - 2017

Formation professionnelle en Agile Scrum - Adaming Group2017 - 2017

Diplôme de Mastère en ingénierie des systèmes informatique - Ecole Supérieure Internationale de Tunis2014 - 2014

Diplôme de licence appliquée en technologies des réseaux et télécommunications - Faculté des sciences de Bizerte2011 - 2011