Votre navigateur est obsolète !

Pour une expériencenet et une sécurité optimale, mettez à jour votre navigateur. Mettre à jour maintenant

×

zakariae belhissi

Ingénieur d'étude et développement Java JEE confirmé - 10 ans d'expérience - Freelance

Expériences
  • Contexte :
    • Prestation au sein d'EDF, leader dans le domaine de l'énergie, pour moderniser et optimiser les systèmes d'intégration et de développement d'applications critiques.
    • Projet principal : Développement de l'application RunPlanning pour la gestion des tours de contrôle nucléaire, basée sur un socle Indigo auto-généré, similaire à JHipster
  • Ma contribution :
  • Méthodologies Agile :
    • Participé à des réunions de planification de sprint, des rétrospectives et des démonstrations de sprint, assurant une communication transparente et une amélioration continue.
    • Utilisé Jira pour suivre les tâches, les bugs et les progrès des projets, facilitant une gestion efficace des projets et une visibilité claire pour toutes les parties prenantes.
  • Développement :
    • Conception et déploiement de solutions d'intégration avec Apache Camel pour gérer les fichiers d'importation des données.
    • Déploiement et supervision du fonctionnement Camel dans des environnements de production, en utilisant des pratiques DevOps pour automatiser le déploiement et la surveillance.
    • Développement des microservices avec Spring Boot, assurant une architecture modulaire et scalable.
    • Basé le développement sur le socle Indigo auto-généré, similaire à JHipster, pour accélérer la création de l'architecture et des composants de l'application.
  • Intégration des pratiques DevOps :
    • Mis en œuvre des pipelines CI/CD en utilisant Jenkins et GitLab CI, automatisant les builds, les tests et les déploiements pour réduire les temps de livraison et augmenter la fiabilité des déploiements.
    • Monitoré les applications en production avec des outils comme Prometheus et Grafana, assurant une détection proactive des problèmes et une maintenance rapide.
  • Tests et validation avec Postman :
    • Créé et configuré des requêtes Postman pour tester les endpoints Camel et les API Spring Boot, assurant la conformité aux spécifications et la robustesse des intégrations.
    • Validé les imports de données et les workflows d'intégration, identifiant et résolvant les problèmes avant le déploiement en production.
    • Documenté les scénarios de test et les cas d'utilisation, facilitant la réplication des tests par l'équipe QA et assurant une couverture de test complète.
  • Rôle Tech Lead :
    • Dirigé une équipe de développeurs, fournissant des orientations techniques et assurant la qualité du code via des revues de code et des meilleures pratiques.
    • Coordonné les efforts de développement avec les parties prenantes pour garantir que les solutions répondaient aux exigences métier et aux attentes des clients.
    • Monitoré des développeurs juniors, favorisant leur développement professionnel et leur montée en compétences sur les technologies Java, Spring Boot, Angular, et Apache Camel.
  • Environnement Techniques :
    • Langages de programmation : Java 11, TypeScript, SQL
    • Technologies d'intégration : Apache Camel, Spring Boot
    • Frameworks Frontend : Angular 12
    • Outils de test : Postman
    • Outils DevOps : Jenkins, GitLab CI, Docker, Ansible, Prometheus
    • Méthodologies : Agile, Scrum
    • Outils de gestion de projet : Jira, Confluence
    • Environnements de déploiement :Docker,Jenkins, Ansible
  • Contexte :
    le projet bancaire BdDF contient deux grands types d’applications :
    • Application BAD : application destinée à la clientèle et accessible depuis les
      portails ou des applications mobiles.
    • Application Agence : application destinée aux conseillers clientèles, accessible en agence et destinée à répondre à des besoins clients.
  • Ma contribution:
  • Méthodologie Agile :
    • Réunions de suivi : Tenir des réunions périodiques pour évaluer l'avancement du projet, identifier les problèmes potentiels et prendre des mesures correctives.
    • Gestion du backlog : Prioriser les éléments du backlog en fonction de la valeur ajoutée pour l'utilisateur et assurer sa mise à jour continue pour refléter les besoins actuels du projet.
  • Analyse des besoins :
    • Compréhension des exigences : Organiser des sessions de brainstorming avec les parties prenantes pour clarifier les besoins fonctionnels et techniques et établir une compréhension commune.
    • Identification des fonctionnalités et des contraintes : Décomposer les exigences en fonctionnalités spécifiques et évaluer les contraintes liées aux performances, à la sécurité et à l'interopérabilité.
  • Conception de l'architecture :
    • Architecture globale : Créer des diagrammes d'architecture pour visualiser l'organisation des composants, des couches et des interactions dans le système.
    • Identification des composants clés : Définir les services principaux, les API et les flux de données entre les différentes parties du système.
  • Développement :
    • Configuration et structuration du projet : Sélectionner les bibliothèques et les outils nécessaires, et organiser le code en modules cohérents pour assurer une maintenance facile.
    • Implémentation des fonctionnalités backend : Écrire le code backend en suivant les bonnes pratiques de développement, en utilisant des modèles de conception appropriés et en assurant une couverture de test adéquate.
    • Intégration du module backend "BFF" : Développer les services nécessaires pour répondre aux requêtes du frontend et assurer une communication efficace entre les différentes parties du système.
  • Test :
    • Tests unitaires :Écrire des tests unitaires pour valider le bon fonctionnement des différentes fonctionnalités développées.
    • Tests d'intégration :Assurer que les données sont correctement récupérées depuis la base de données et transmises au frontend.
    • Tests de bout en bout :Effectuer des tests de bout en bout pour s'assurer que l'ensemble du système fonctionne correctement.
  • Environnement technique :
    • Gestion de version et collaboration :Git
    • Backend (Java/JEE) : Java 11, Spring
      Boot, Lombok, PostgreSQL, JPA (Java
      Persistence API), JUnit, Cucumber.
    • Frontend (React) :React,
      JavaScript,HTML/CSS
    • Gestion de projet et collaboration :
    • JIRA, Confluence,GitHub
    • Build et déploiement :Maven, Jenkins,
      SonarQube.
    • Environnement de développement :
      IntelliJ IDEA.
  • Projet 1 : Application AOM (EASY CONSULTING)
  • Contexte :
    • Accor S.A. est une multinationale française de l'hôtellerie qui possède, gère et franchise des hôtels
    • l’intégration et la mise en place de l’application micro services dédié à la gestion des prestataires chez Groupe ACCORHOTELS sur un environnement cloud AWS EC2.
  • Enjeux : Garantir une bonne intégration entre les différents services de l’application EASY CONSULTING en se basant sur l’architecture micro-service et assurer sa mise en place cloud AWS EC2 afin d’assurer une scalabilité à la demande, une flexibilité et une disponibilité optimale.
  • Mission :
    • Développement back-end pour les différents services de l'application en utilisant les technologies Java EE et Spring Boot, et en suivant les pratiques Agile.
    • Développement front-end pour les différents composants d'interface utilisateur en utilisant Angular 6 pour assurer une interface utilisateur efficace et interactive.
    • Intégration : mettre en place les communications entre les différents services de l'application avec le front-end en utilisant les technologies appropriées et en suivant les pratiques Agile.
    • Test : écrire des cas de test pour les différents services de l'application et pour le front-end pour garantir la qualité du code en utilisant les outils appropriés.
    • Déploiement : configurer les différents services de l'application pour les déployer sur un serveur d'application en utilisant les capacités de déploiement automatique de Spring Boot et JavaEE, et configurer l'application Angular 6 pour qu'elle puisse être déployée sur un serveur web.
    • Optimiser les performances des services en utilisant des outils comme les profilers pour identifier les goulots d'étranglement et en réglant les paramètres de configuration appropriés.
    • Mise en place sur le cloud : utiliser les capacités de déploiement cloud intégrées à Spring Boot pour déployer l'application sur des plateformes cloud AWS.
    • Maintenance : corriger les bugs et apporter des améliorations aux services existants en suivant les pratiques Agile, et maintenir l'application Angular 6.
    • Participer aux rétrospectives pour identifier les points forts et les points faibles de l'équipe.
    • Documentations : écrire des documentations pour les différents services de l'application et pour le front-end pour faciliter la maintenance et la compréhension de l'application en suivant les pratiques Agile.
  • Environnement technique:
    • Back-end : Java EE (Enterprise Edition) 8+, Spring Boot 2+, Apache Tomcat 8.5+ ,JPA (Java Persistence API) 2.2+,Hibernate 5+, EclipseLink 2.7+,REST,Git, Maven 3.6+,JUnit 5+,JSON, XML,
    • Front-end: Angular 6+,HTML5, CSS, JavaScript,TypeScript 4+,Webpack 4+ , npm 6+,Angular Material 6+ , Bootstrap 4+.
    • Cloud : AWS (EC2, RDS, S3, etc)
    • Méthodologie : Scrum, Kanban,KAFKA, JIRA, GIT, CONFLUENCE.Docker, Docker Compose, Jhipster.
  • Projet 2: Booster (All In One)
  • Contexte :
    c’est un système dédié à la gestion des demandes client/fournisseur du groupe Accor en utilisant les APIs backend de l'ERP E-business suite Oracle R12.
  • Enjeux : Conception et développement d’un nouveau module d’initialisation d’une UO (Hôtel) pour répondre au besoin des administrateurs All In One d’affecter en masse un référentiel fournisseur et/ou client à une unité opérationnelle fraîchement déployée.
  • Mission :
    • Méthodologie agile : définir les objectifs, les livrables et les délais, en supervisant les membres de l'équipe et en assurant le suivi des progrès.
    • Développement de nouvelles fonctionnalités (User-Stories) et amélioration des fonctionnalités existantes pour l'application.
    • Test et déploiement : Assurer la qualité des applications Java/JEE en effectuant des tests unitaires, des tests d'intégration et des tests de performance, puis en déployant les applications sur les serveurs de production.
    • Maintenance et support : Assurer la maintenance continue des applications Java/JEE et fournir un support aux utilisateurs en cas de problèmes.
    • Collaboration avec les autres membres de l'équipe de développement, tels que les architectes logiciels et les analystes de systèmes pour planifier, concevoir et mettre en œuvre les fonctionnalités de l'application.
    • Participation à l'amélioration continue du processus de développement.
    • Participation à la migration oracle 12c affectées par les équipes DBA.
    • Analyser les API PL/SQL actuelles utilisées dans l'application pour identifier les parties qui pourraient être affectées par la migration vers Oracle 12c.
    • Mettre à jour les API PL/SQL existantes pour les rendre compatibles avec Oracle 12c.
    • Tester les API mises à jour pour s'assurer qu'elles fonctionnent correctement avec Oracle 12c.
    • Effectuer les modifications nécessaires pour rendre l'application compatible avec Oracle 12c, telles que la modification des configurations système ou la mise à jour des bibliothèques.
    • Documenter tous les changements apportés sur l'application pour faciliter la maintenance future et l'éventuelle migration vers des versions ultérieures d'Oracle.
  • Environnent technique :
    Java 8, HTML5, CSS, JavaScript, Java Server Faces (JSF)3, Spring 5, JavaServer Pages, Hibernate 6.1, Maven 4, Apache Tomcat9, Oracle 12c, Jira, Confluence,CVS (Concurrent Versions System),Unix,Git, Eclipse IDE, Jenkins, Sonar, Java Melody.
  • Contexte :
    Le projet (ArioFlow) est une solution de processus métier, utilisée par les experts et les équipes administratives de Cunningham Lindsey France afin de produire des rapports d’expertise pour les sinistres d’assurance en bâtiment.
  • Ma contribution :
    Assurer la maintenance corrective et évolutive du système d'injection des formulaires d'expertise pour Cunningham Lindsey France.
  • Enjeux :
    La gestion de la maintenance corrective ainsi que dans le développement de nouvelles fonctionnalités en utilisant les méthodes Agiles dans le cadre d'une équipe de 10 personnes
  • Mission :
    • Implémenter des composants JAVA EE pour créer des pages web dynamiques pour les formulaires de saisie de rapports d'expertise.
    • Élaborer des spécifications techniques pour des formulaires de saisie de rapports d'expertise dans la solution Arioflow - Eclipse BIRT (Business Intelligence and Reporting Tools), les développer, les tester, les déployer et les documenter.
    • Gérer les problèmes liés aux rejets provenant de l'intégration avec les extranets (Darva, Mercure) des assureurs.
    • Personnaliser et créer des scripts IMacros pour l'intégration des données dans un rapport d'expertise.
    • Mettre en place un nouveau connecteur pour un nouveau type de rapport d'expertise afin de communiquer avec les systèmes externes.
    • Résoudre les problèmes techniques lors du traitement des dossiers sur la plateforme Arioflow, les extranets des assureurs ou l'extranet Cunningham-Lindsey.
    • Analyser et qualification des anomalies détectées dans Serena
  • Environnent technique:
    Java.JEE, Spring MVC, robot I Macros9, JavaScript & Lua, Log4j, JBoss JBPM,SQL Server, GIT, SVN, Source Tree, Tomcat, Maven, Ant, Putty, FTP, Jenkins, Sonar, Unix, JIRA, Confluence.
  • Projet 1: Projet "Point of Sales Management" (PSM)
  • Contexte :
    • Le projet consiste en une application web qui peut être accessible aussi bien en utilisant l'internet ou l'intranet, cette application est destinée pour les employés des points de vente des opérateurs de télécommunications Orange.
  • Enjeux : Pour la vente de leurs produits (cartes SIM, téléphones portables, etc.) aux clients, les opérateurs de télécommunication ont besoin d'une application pour enregistrer les ventes dans le système de facturation ERP-BSS
  • Ma contribution :
    • L'intégration et la mise en place d'un web service pour gérer le Workflow d'appel à l'application de paiement depuis l’interface d’une autre application PCU (Prise de Commande Unifiée).
    • Assurer la maintenance corrective et évolutive pour les différents modules de l’application PSM (vente de produit, gestion de commande, Rapports.
  • Mission :
    • Etude de l’existant.
    • Interagir avec l’équipe projet Orange Télécom.
    • Intégration d’un web service pour les paiements des factures GAIA (SOAP).
    • Concevoir les spécifications techniques nécessaires pour le web service d'intégration.
    • Développer les composants nécessaires pour connecter l'application de paiement à l'interface PCU via les protocoles de communication appropriés SOAP.
    • Tester et valider les interactions entre les deux applications pour s'assurer qu'ils fonctionnent correctement.
    • Documenter les étapes d'intégration et les spécifications techniques pour faciliter la maintenance et le dépannage.
    • Mettre en place des stratégies de surveillance pour détecter et corriger les éventuels problèmes de performance ou de disponibilité.
    • Participer à des réunions pour discuter des avancées du projet, des obstacles et des plans d'actions pour les résoudre.
    • Suivi de déploiement et recette
  • Environnement technique :
    JAVA/JEE, Hibernate3/JPA, SpringMVC, JSF, Tomcat,SVN, Junit4, Oracle, Log4j, JasperReport,Eclipse, Maven, Jenkins, nexus, SOAPUI, JMeter, JMX, JMelody, Sonar,Unix shell, Putty, WinSCP;
  • Projet 2: "Prise de Commande unifiée" (PCU)
  • Contexte:
    Le projet est une application de consultation de clients, de prise de commande et de consultation des commandes pour un l'opérateur de télécom.
  • Ma contribution :
    • Intégration d’un web service "Façade Eligibility" pour les offres fixe/ADSL afin de gérer les actions de la vérification techniques des services des tests Backend.
    • Intégration d’une couche client web service "IN ZTE" dans le composant PCU afin de consommer directement le service F&F sur les offres mobiles (numéro favori pour un contrat).
  • Mission :
    • Intégration d’un web service pour les paiements des factures GAIA en utilisant les protocoles SOAP.
    • Assurer la maintenance et l'évolution de l'application PSM en corrigeant les bugs et en ajoutant des nouvelles fonctionnalités.
    • Créer un processus pour suivre les livraisons de manière efficace.
    • Elaborer les spécifications fonctionnelles et techniques pour le projet en utilisant les normes de l'entreprise.
    • Etablir un document de recette pour s'assurer que l'application respecte les besoins exprimés.
    • Tester l'application et identifier les anomalies pour les corriger.
    • Administrer les différents environnements (DEV, Intégration, Recette) en utilisant des VM Unix avec des accès PUTTY.
    • Mettre en place des outils pour l'intégration continue et l'automatisation des déploiements avec Jenkins pour s'assurer de la qualité et de la fiabilité de l'application.
  • Environnement technique:
    JAVA/JEE, Hibernate3/JPA, SpringMVC, JSF, Tomcat,SVN, Junit4, Oracle, Log4j, JasperReport,Eclipse, Maven, Jenkins, nexus, SOAPUI, JMeter, JMX, JMelody, Sonar,Unix shell, Putty, WinSCP
  • Projet 1: Crédit Card & Payment (CEDICAM -3PG)
  • Contexte :
    Projet Moderniser les plateformes de paiement de Crédit Agricole France en conformité avec les normes SEPA via la refonte de l'application 3PG pour répondre aux besoins des clients
  • Mission :
    • Concevoir et développer les modules de gestion tels que l'émission de CREs, les parseurs et les submitters.
    • Analyser les systèmes existants (Cedicam3PG Lot 11) pour comprendre leur fonctionnement et leur intégration dans le projet.
    • Ecrire le code en respectant l'architecture logicielle établie.
    • Identifier les anomalies et les corriger pour s'assurer que le projet respecte les normes de qualité.
    • Mettre en place des web services REST pour permettre l'interaction entre les différents composants de l'application.
    • Créer ou modifier les interfaces utilisateur (IHM) de l'application pour une utilisation optimale.
    • Gérer les différentes phases de release pour s'assurer que le projet est livré en temps et en heure et respecte les besoins des utilisateurs.
  • Environnement technique:
    OPF (Open payment framework) , SVN, Maven, JAVA/JEE, JUnit, EJB, Log4j, XML, Struts, Hibernate, Oracle 11g, IBM WebSphere, REST, Spring boot, Angular2,REST
  • Projet 2: Solution Liferay 6.2
  • Contexte :
    Intranet-DSIG étude et mise en place de la solution portail intranet Liferay 6.2 pour la direction des systèmes Informatiques au sein du Crédit du Maroc filiale du Groupe Crédit Agricole France.
  • Mission :
    • Mise en place et configuration de Liferay Portal.
    • Personnalisation de l'interface utilisateur et du thème du site.
    • Création de Portlets pour ajouter des fonctionnalités au site.
    • Intégration de Liferay avec d'autres systèmes tiers, tels que des bases de données ou des services Web.
    • Mise en place de stratégies de sécurité pour protéger le site et les données de l'utilisateur.
    • Maintenance et mise à jour du site pour s'assurer que tout fonctionne correctement et est à jour.
    • Gestion des utilisateurs et des groupes, y compris la création de comptes et l'attribution de droits d'accès.
    • Analyse des performances et optimisation de la vitesse du site.
    • Résolution de problèmes techniques et assistance aux utilisateurs.
  • Environnement technique:
    Plateforme JAVE/JEE, HTML5, JavaScript, Liferay 6.2, Velocity, Portlets, Spring, Tomcat, Annuaire LDAP, SVN, SQL Server, Maven, jenkins, Git.
Compétences

Ingénierie de l’Objet & Technologie JEE

  • JSP
    Avancé
  • Servlet
    Avancé
  • JSTL
    Avancé
  • JSF 3.0
    Bon niveau
  • JPA 2.1
    Avancé
  • Hibernate
    Avancé
  • Struts
    Avancé
  • Spring MVC 4.1+
    Avancé
  • Spring Boot
    Avancé
  • Spring Security
    Avancé
  • Spring Core
    Bon niveau
  • Spring Rest
    Avancé
  • Spring Data
    Avancé

Gestion de projets & Méthodes Agiles

  • Rédaction des spécifications fonctionnelles détaillées
    Avancé
  • Rédaction des spécifications techniques détaillées
    Avancé
  • Rédaction des cahiers de recette
    Avancé
  • Scrum
    Expert
  • Kanban
    Expert
  • Jira
    Expert
  • Confluence
    Avancé

Conception & Modélisation

  • UML
    Avancé
  • Merise
    Avancé

Build , intégration & monitoring

  • Ant
    Avancé
  • Maven
    Avancé
  • Git
    Avancé
  • SVN
    Expert
  • CVS
    Expert
  • Jenkins
    Avancé
  • Sonar
    Avancé
  • JMeter
    Avancé
  • Docker
    Avancé
  • Nexus
    Avancé
  • Cucumber
    Intermédiaire

Technologies du Web

  • HTML5
    Avancé
  • Javascript
    Avancé
  • jQuery
    Avancé
  • XML
    Avancé
  • CSS3
    Avancé
  • Bootstrap
    Bon niveau
  • Angular 4+
    Intermédiaire
  • Web Sémantique ,RDF, RDFS, OWL anthologie
    Intermédiaire

Base De Données

  • Oracle 11g/12c
    Avancé
  • SQL Développer
    Avancé
  • PL/SQL
    Avancé
  • MySQL
    Expert
  • TOAD for Oracle 11.1+
    Expert

Serveurs

  • Tomcat
    Avancé
  • JBoss
    Bon niveau
  • WebSphere
    Bon niveau

Testing

  • JUnit
    Bon niveau
  • Selenium
    Bon niveau
  • Mockito
    Bon niveau
  • PowerMock
    Bon niveau
  • Cucumber
    Bon niveau

Web Services & SOA

  • SOAP
  • REST
Formations

Master Spécialisé "Ingénierie & Qualité du Logiciel "

Septembre 2009 à septembre 2014
Une formation qui permet d’une part d’acquérir une compétence de pointe en haute technologie informatique, d’autre part une insertion facile, naturelle et implicite dans des domaines industriels connexes.
  • Ingénierie et Nouvelles Technologies du Web
  • Gestion de projets & Méthodes Agiles
  • Audit & Qualité du Logiciel
  • Ingénierie de l’Objet et Technologie Java
Langues
  • Français
    Expert
  • Anglais
    Bon niveau
Centres d'intérêt

Voyages

  • Découvrir de nouveaux endroits et cultures

Arts

  • Apprentissage d'un instrument de musique piano
  • Théâtre
  • Écouter de la musique
Télécharger Télécharger