Menu

Othmane MAHBOUB

VALBONNE

En résumé

Mes compétences :
Java
Oracle Forms
Java Enterprise Edition
Framework
C Programming Language
XML
VMware
UML/OMT
TCP/IP
Oracle PL/SQL
Microsoft Windows
Microsoft SQL Server
Merise Methodology
Linux
Jakarta TOMCAT Servlet Engine
JUnit
JDBC
Hibernate
HTML
Cascading Style Sheets
XSLT
Personal Home Page
JavaScript
JQuery UI
HTML5
Apache Maven
Ant
Symfony
JQuery
UNIX
MVC
Jboss
JavaServer Faces
JBoss Seam
Hadoop
API
JavaServer Framework
PrimeFaces
JAX-WS
JAX-RX
DOM
JAVA EE
JSF2/PRIMEFACES
MongoDB
JPA
REST
QT
NodeJS
Java Servlets
Enterprise Java Beans
EJB3
Jenkins

Entreprises

  • Planisware - Full Stack engineer

    2018 - maintenant - Contribution to the evolution of the Planisware Orchestra standard product
    Technology environment : JAVA 7, JAVA EE, ExtJs, Xml, JSP, AJAX, Java Script, HTML, CSS, IntellijIdea,
    Maven, JBOSS wildfly, PostGreSQL, Git, Gitlab
    - Development of the Stage-Gate® Orchestra Plugin which is a conceptual and operational line
    of projects following the “Idea-to-launch” process :
    The aim of Stage-Gate® is to structure your project life cycle by dividing it into distinct phases or
    stages, separated by a validation point or milestone (gate), to view where the project stands, and
    mitigate possible related issues
    Technology environment : JAVA 8, JAVA EE, Xml, JSP, AJAX, JavaScript, HTML, CSS, Intellij Idea,
    Maven, JBOSS wildfly, PostGreSQL, Git, Gitlab, Bitbucket administration
    - Setting up Bitbucket server that will replace Gitlab in order to have some necessary plugins only
    available on Bitbucket Server so that we can improve our branch model and implement git workflow
    properly
    - Configuration of hooks in Bitbucket Server(commit and push check, Jira key etc)
    - Technical presentation in the form of a seminar to convince people about the interest of adopting the
    git workflow for the management of branches and the implementation of Bitbucket server to
    automate some Git tasks
    - Presentation of a workshop that I did in the Riviera Dev event 2019 about a future technology
    enhancement idea : GraphQL, SpringBoot and Lambok
    The workshop is available within my personal GitHub :
    https://github.com/othmaneDev/graphQLSpringBootWorkshop
  • Supralog - Supralog consultant : Software Engineer at Air France

    Antibes Juan les Pins 2017 - 2018 ● Development of SOAP webservices for the NDC project (New
    Distribution Capability)

    ● Use of Lombok as a maven plugin to simplify code (Automatically creating immutable beans, generate @EqualsAndHashcode, Setters, ...)

    ● Use of Jackson that provides many ways of working including simple POJO converted to/from JSON for simple cases. Jackson provides a set of annotations for mapping too.

    ● Realization of unit tests + integrations (Using Mockito + JUnit)

    ● Monitoring (Using Aspects -> AspectJ)

    ● Java Management eXtension (JMX) uses Spring annotations to
    monitor and control certain parameters and methods of our
    remote webapps using Java Mission Control (JMC)

    ● Load test scripts for exposed web services using the Gatling
    and scala framework as a programming language

    Team of 11 people: 7 developers - 2 Business Analysts - 1 Scrum
    Master - 1 Product Owner

    Technology environment: Java 8 (Java Associated Certification acquired in June 2018), Lombok plugin, Jackson API, Multi-tier architecture, Spring
    core, Spring Boot, Bamboo, Bitbucket server, Junit 4, Junit 5, Mockito,
    Maven, JAX-WS, Tomcat 8.5, Gatling, Scala, IntelliJ integrated
    development, Git, "SAFE 4.0" Project management (Scaled Agile Framework- Certification acquired in June 2017)
  • Amadeus Nice - Software developer at Amadeus IT Group

    Sophia Antipolis 2015 - 2017 In the Digital Design Service (DDS) of Amadeus, I develop Finnair website (www.finnair.com) using following technologies :
    - JAVA SE 7
    - JSP/JSTL, Javascript, HTML/CSS, Jquery, UnderscoreJS
    - FrameWork Javascript : Jquery
    - Maven (For managing dependencies), Ant
    - Design Pattern Builder for the bean's construct + Fluent API as architecture
    -Tiles framework is used for the view rendering (Composite view pattern)
    - JUnit test using Mockito
    - Framework JEE: Struts (Webwork), Spring MVC
    - Git, Stash, JIRA, SonarCube
    - AngularJS 1.4 ( Amadeus training)

    • Agile Scrum methodology
    - Implement User Stories based on customers requirements (Acceptance criterias)
    - Ensure good follow up on production loads
    - Around 10 people in the team

    • Iplanet and Apache web servers configuration
    - Session cookie management
    - Weblogic passthrough
    - Static content

    • Write / read / edit documentation within Confluence (Atlassian Documentation)

    • One of the technical point of contact of the team after one year experience
  • Fitnet Manager - Ingénieur JAVA EE

    MONTPELLIER 2015 - 2015 Placed under the direct responsibility of the technical director of Fitnet Manager in Montpellier, I was in charge of implementing the new TimeLine module for managing notifications on the ERP Fitnet Manager solution. This new feature eagerly awaited by the RENAULT customer
    CONSULTING includes:

    ● A configurable "Notification" function that can be used to plan
    Automatic email sending, with:
    ○ automatic determination of the recipients of the mail
    ○ automatic determination of documents to be attached
    ○ configuration of the generic message to display in the mail

    ● Trace in database also the modifications made by the
    users on objects in the Projects / Business application, Invoices, etc.

    ● View the history of notifications and changes in a thread news, the "TimeLine" (as in Facebook).

    ● Programming a nocturnal batch on Node.Js to outsource the automatic execution of notifications, which will allow the Fitnet application to improve performance since the majority of the modules are developed on the JBOSS7 server.

    ● Perform regression tests using the Selenium WebDriver API, as well as the Java JUnit Framework for unit testing, and Jenkins as a continuous integration tool (Creation of build for bundles ...).

    Technical Environment: Integrated within a young and stimulating team as a
    as a developer engineer. I was framed and trained in the JSF 2 / PrimeFaces / Hibernate / Node.Js / Express.Js / JBehave / JUnit / MongoDB / Rest / Jenkins / SVN Frameworks.

    Programming language: Java 7, JavaScript

    Programming language: Java 7, JavaScript
    Reference: Christophe CARVALHO (Project manager in Fitnet Manager): christophe.carvalho@fitnetapplication.com
  • Université d'Aix marseille - Ingénieur JAVA EE

    2015 - 2015 La plupart des plates-formes actuelles proposent à leurs contributeurs un champ tags, sur lequel reposent une partie importante des fonctionnalités de navigation et de recherche. Des sites tels que Flickr (partage de photos), Youtube ou encore Dailymotion, ont favorisé le développement de la pratique du tagging parmi un large public d’internautes. Les tags sont la plupart du temps de simples chaînes de caractères (mots-clés, smileys, etc.), utilisés comme des étiquettes pour décrire une ressource.

    Une plateforme de tagging des services web nommée WSTP (Web Service Tagging Platform) a été développée . WSTP est une application web permettant de tagger aussi bien des requêtes utilisateurs que les services, de faire une recherche par tag des services. Les tags attribués aux services possèdent un poids qui reflète l’importance du tag.

    L’objectif de ce projet est d’étendre WSTP pour prendre en compte les fonctionnalités suivantes :
    - Ajouter une fonction d’authentification des différents internautes accédant à l’application.
    - Améliorer la fonction de recherche de services par tag
    - Ajouter l’historique sur les services qui ont été tagguées.
    - Ajouter les services les plus tagués par rapport à une catégorie donnée, les tags les plus utilisés (sous la forme d’un nuage de tags).
    - Proposer aux internautes des services en fonction de leurs tags.
    - Ajouter les métaTagging : Un métatag est une information que l'on rajoute à un tag pour spécifier son utilisation
    - Améliorer le design de l’interface graphique (En utilisant le framework JS Bootstrap/HTML5/CSS)

    WSTP a été développée en utilisant les technologies suivantes :
    - Le SGBD MySQL ainsi que l'API JPA, pour la base de données et son interface avec la partie métier,
    - JavaEE et son serveur d'application GlassFish, pour la partie métier,
    - Enfin, les technologies classiques du web HTML5 / CSS / javascript/Bootstrap pour la partie client, ainsi que les langages de template JSP / JSTL.
    - Partage de code avec GITHUB
  • BULL - Stage de fin d'étude 2014

    Les Clayes-sous-Bois 2014 - 2014 (Stage de fin d'étude chez BULL) : Ce stage s'est déroulé en deux étapes : Phase 1: Étude comparative de Framework
    « Responsive Web Design » (Sencha ExtJS,Bootstrap,Jquery Mobile...). Phase 2: Développement du module de rapportage pour une application

    de gestion de la qualité de l'air (PHP5 + Symfony 2.4+ORM Doctrine + Extjs4+XSLT+XML)

    Référence: Olivier CHEGUT (Directeur technique au sein de BULL): olivier.chegut@bull.net
  • COGNITEEV - Projet industriel

    Pessac 2013 - 2014 Participation au développement et à la mise sur le marché de la solution Crawlr.io, pour l'entreprise Cogniteev SAS, au sein d'une équipe constituée de 5 élèves ingénieurs et dans le pur esprit de la méthode SCRUM.
    Déroulement du projet:
    - Familiarisation avec l'environnement d'exécution Hadoop/Nutch.
    - Création d'un vrai environnement de crawl distribué en créant un unique cluster Hadoop constitué de plusieurs serveurs.
    - Compréhension du code de Apache Nutch et programmation des jobs Nutch (MapReduce) en Java permettant d'inclure et d'extraire des données métiers durant le 'crawl' d'un site web.
    - Etablissement de la jonction entre la base de données MongoDB hébergeant les données relatives aux clients (souscripteurs de Crawlr.io) et l'application Front-office afin de déclencher des Jobs Nutch (lancement d'un crawl, récupération des données d'une page Web, récupération des données d'un ensemble de pages, …) à travers un middleware RESTful écrit en Python et Flask.

Formations

  • Université Aix-Marseille (Marseille)

    Marseille 2014 - 2015 Master 2

    Systèmes d'Information Répartis
  • ENSEIRB MATMECA

    Talence 2013 - 2014 Ingénieur d'état en Informatique

    Option Génie Logiciel
    Diplome obtenu avec une mention Bien
  • ENSIAS (Ecole Nationale D'Informatique Et D'Analyse Des Systèmes (Rabat)

    Rabat 2011 - 2013 1ère et 2ème année en école d'ingénieurs

    filière Génie Informatique
  • Faculté Des Sciences De Rabat (Rabat)

    Rabat 2009 - 2011 DEUG en Mathématique appliquée

    Diplôme validé avec une mention Bien
  • Lycée Moulay Youssef (Rabat)

    Rabat 2008 - 2009 Baccalaureate Degree

Réseau

Annuaire des membres :