Mon Univers Tech

Bienvenue dans mon univers de développement web. Découvrez mon parcours, mes compétences techniques et mes expériences professionnelles.

Formation

Diplôme d'Ingénieur à ESPRIT

2019-2024

Spécialisation en "Technologies Web et Internet"

Mention: Très Bien

Baccalauréat Sciences techniques

2018-2019

Mention: Bien

Compétences Techniques

Frameworks Frontend

Angular
React JS

Frameworks Backend

Spring Boot
Node JS
Express.js

Base de données

MongoDB
PL/SQL
SQL Server
MySQL
PostgreSQL
Oracle

Langages

.NET
Java
JavaScript
TypeScript
JQuery
HTML5
CSS3
PHP5

Business Intelligence

Power BI
Processus ETL

DevOps, CI/CD

Docker
Jenkins
Sonar
Nexus
JUnit
Grafana
Prometheus

Gestion de Code et Projets

Git
GitHub
Trello
Jira

Méthodologies et Modélisation

Scrum
Agile
UML

Compétences Fonctionnelles / Métiers

Ressources Humaines

Gestion des contrats et des processus RH, Intégration de fonctionnalités analytiques pour un suivi efficace des performances et des besoins en ressources.

Gestion de Projet & Processus Agile

Coordination et suivi des projets avec des outils comme JIRA et Trello, intégrant des méthodologies Scrum et Agile.

  • Conduite de daily meetings, planification de sprints, gestion des backlogs, et suivi des tâches.
  • Rédaction et validation de cahiers des charges techniques et fonctionnels pour des projets complexes.

Sécurité des Applications

Mise en œuvre de l'authentification Single Sign-On (SSO) via Microsoft Azure et Keycloak pour simplifier et sécuriser l'accès des utilisateurs y compris la gestion des sessions avec JSON Web Tokens (JWT).

Langues

Arabe

Lu, écrit et parlé

Français

Lu, écrit et parlé

Anglais

Lu, écrit et parlé

Expériences Professionnelles

Deloitte
02/2024 - 09/2024
Développeur Full Stack JS
Projet : Plateforme intégrée de Gestion des Ressources humaines et Projets pour Deloitte Tunisie

Tâches réalisées :

  • Collaboration avec l'équipe RH et métier pour rédiger le cahier des charges et définir les besoins fonctionnels et techniques.
  • Conception d'une architecture robuste et évolutive adaptée aux besoins spécifiques de Deloitte Tunisie.
  • Conception et développement d'une application web pour la gestion des congés, demandes de télétravail, projets, et tâches.
  • Intégration de fonctionnalités avancées pour la gestion des tâches et des projets, Tableaux Kanban inspirés de Trello pour la gestion visuelle des tâches, Sprint planning et backlog pour le suivi des projets.
  • Développement d'une interface utilisateur intuitive et responsive en Angular pour une expérience utilisateur optimale.
  • Mise en place de l'authentification via Single Sign-On (SSO) avec Microsoft Azure, simplifiant l'accès utilisateur.
  • Utilisation de JSON Web Tokens (JWT) pour sécuriser et protéger les sessions utilisateur.
  • Intégration d'outils BI avec Power BI pour générer des rapports interactifs et des tableaux de bord analytiques, facilitant une prise de décision basée sur des données.
  • Conteneurisation des applications avec Docker pour améliorer la portabilité et la scalabilité.
  • Mise en œuvre de pipelines CI/CD avec Jenkins pour automatiser le déploiement continu et la Surveillance des performances avec Grafana et Prometheus.
  • Réalisation de tests de validation et de robustesse, Utilisation de Joi pour la validation des données côté backend et Écriture de tests automatisés avec Mocha et Chai pour garantir la fiabilité et la qualité du code.
  • Documentation complète et centralisée de l'API avec Swagger, facilitant la collaboration entre les équipes et accélérant le développement.
  • Gestion du versionnement et des workflows collaboratifs avec Git et Jira.
MEAN Stack Microsoft Azure JWT Power BI Docker Jenkins Grafana Prometheus Joi Mocha Chai Swagger JIRA GitHub
Equipe RDI/Kaddem
05/2023 - 10/2023
Développeur
Projet : Application de Gestion des Contrats d'Étudiants

Tâches réalisées :

  • Conception et développement d'un backend pour gérer les opérations serveur et la logique métier.
  • Développement de composants avancés pour la gestion dynamique des équipes, des départements et des contrats, avec un système de permissions sécurisé et adaptable aux spécificités des universités adhérentes.
  • Élaboration des spécifications fonctionnelles et techniques en étroite collaboration avec les parties prenantes, définissant les besoins utilisateurs et les exigences du projet.
  • Conception et développement d'une architecture backend robuste avec Spring Boot, développement des composants pour la gestion des équipes, des départements, et des contrats des étudiants avec une architecture modulaire et scalable.
  • Développement de modules pour la gestion des équipes par spécialité et niveau, avec un système de permissions basé sur les rôles et une logique flexible permettant des ajustements pour chaque université adhérente.
  • Mise en place de l'authentification sécurisée via JWT et Spring Security, avec des rôles et permissions adaptables pour différents types d'utilisateurs (administrateurs, responsables, étudiants).
  • Création de l'interface utilisateur avec Angular, permettant une gestion fluide et interactive des informations liées aux équipes, départements, et contrats étudiants. Utilisation de TypeScript et RxJS pour une gestion réactive des données et des interfaces utilisateur dynamiques.
  • Préparation de l'environnement Jenkins pour l'automatisation des builds et des déploiements.
  • Configuration de l'intégration continue (CI) avec Jenkins, y compris la récupération du code source depuis GitHub.
  • Implémentation d'une analyse continue de la qualité du code avec SonarQube, pour assurer la conformité aux standards et optimiser les performances et la maintenabilité.
  • Création et hébergement des artefacts dans Nexus pour une gestion centralisée des versions des composants du projet.
  • Publication des images Docker sur DockerHub pour faciliter le déploiement des conteneurs.
  • Utilisation de Docker Compose pour démarrer simultanément les différents services et tester l'application Angular dans un environnement conteneurisé, garantissant un déploiement cohérent et reproductible.
  • Surveillance proactive et visualisation des données avec Prometheus et Grafana, permettant un suivi en temps réel de la performance de l'application et une détection rapide des anomalies afin d'assurer la disponibilité et la résilience du service.
Spring Boot Angular MySQL Jenkins GitHub SonarQube Nexus Docker DockerHub Docker Compose Prometheus Grafana JWT Spring Security
ESPRIT-TIC
01/2023 - 04/2023
Développeur
Projet 1 : Solution de gestion des affectations

Tâches réalisées :

  • Analyse des besoins pour définir une architecture robuste et évolutive. Rédaction des spécifications détaillées pour le développement d'une solution technique adaptée, en mettant l'accent sur la scalabilité et la performance.
  • Conception et développement d'un système de gestion des affectations en utilisant Django et Python pour le backend.
  • Développement d'un système de gestion des affectations utilisant Django et Python, assurant une gestion flexible et efficace des données.
  • Création d'une interface utilisateur moderne et réactive avec React.js, améliorant l'expérience utilisateur et la fluidité de l'application.
  • Implémentation d'un algorithme d'attribution des tâches basé sur des critères de compétences et de priorités, utilisant des méthodes de machine learning telles que K-Means pour le clustering des tâches et utilisateurs, et KNN pour affiner les affectations en fonction des profils des utilisateurs.
  • Intégration d'un système de gestion des compétences et de suivi des performances, contribuant à l'amélioration continue des processus d'affectation avec l'utilisation de techniques de régression logistique et d'analyses de clusters.
  • Implémentation de MongoDB pour la gestion des données non relationnelles, avec des stratégies d'indexation pour optimiser les performances de recherche et de stockage. Application des meilleures pratiques de sécurité et de gestion des accès via OAuth et JWT pour sécuriser les interactions entre le frontend et le backend.
Django Python React.js MongoDB K-Means KNN Régression logistique Redux OAuth JWT Machine Learning
Projet 2 : Solution de gestion des stocks et des affectations

Tâches réalisées :

  • Rédaction du cahier des charges en collaboration avec l'équipe ESPRIT TIC pour une compréhension précise des besoins en gestion des stocks et des affectations.
  • Rédaction de spécifications techniques et fonctionnelles détaillées pour garantir l'alignement entre les attentes métier et les exigences techniques.
  • Conception de l'architecture backend avec Spring Boot, permettant la gestion optimisée des opérations de stocks et d'affectations entre les dépôts et les centres d'hébergement.
  • Développement de la logique métier pour gérer les flux de stocks et optimiser les affectations, en prenant en compte les particularités de chaque centre d'hébergement et dépôt.
  • Création d'une interface utilisateur interactive et réactive avec React.js pour la gestion des stocks et des affectations.
  • Mise en place de MongoDB pour le stockage des données.
  • Réalisation de tests unitaires et fonctionnels pour vérifier la robustesse des fonctionnalités développées.
  • Déploiement sur un environnement de staging pour les tests d'intégration, suivi de la correction des anomalies détectées lors des tests.
React.js Spring Boot MongoDB
PetConnection
11/2022 - 03/2023
Développeur
Projet : Application web pour soutenir les animaux

Tâches réalisées :

  • Analyse et traitement des données d'une enquête de satisfaction clients.
  • Mise en place de l'architecture backend pour gérer les opérations serveur et les interactions avec la base de données MongoDB.
  • Création d'une API RESTful avec Express.js pour gérer les différentes fonctionnalités (gestion des utilisateurs, vétérinaires, associations, dons, marketplace, etc.).
  • Intégration de fonctionnalités basées sur l'IA pour la reconnaissance des races de chiens, incluant l'implémentation et l'intégration d'algorithmes de traitement d'images.
  • Conception de l'interface utilisateur.
  • Développement d'un chatbot assistant pour aider les utilisateurs dans leurs recherches et interactions avec l'application.
  • Implémentation d'un système de reconnaissance faciale pour faciliter l'inscription et la connexion des utilisateurs via des technologies comme Face API garantissant ainsi une authentification sécurisée.
  • Implémentation de la fonctionnalité de vidéoconférence et de messagerie entre les utilisateurs et les vétérinaires via des services comme WebRTC pour permettre des consultations à distance, ainsi qu'une messagerie en temps réel via Socket.io.
  • Intégration d'une cartographie géographique pour afficher les vétérinaires et associations disponibles dans différentes zones, en utilisant Google Maps API pour localiser les utilisateurs et leur proposer des options proches.
  • Création d'un système de notifications pour informer les utilisateurs des événements liés aux animaux.
  • Adoption d'une architecture microservices pour séparer les différentes parties de l'application en services indépendants (gestion des utilisateurs, des vétérinaires, des dons, Marketplace, ...), facilitant ainsi la scalabilité et la maintenance.
  • Utilisation de Docker pour containeriser les services et Kubernetes pour gérer leur orchestration.
  • Mise en place de tests unitaires avec Jest et Mocha pour tester les composants backend et frontend de l'application, garantissant une couverture de code et une qualité logicielle optimale.
  • Conception d'une interface utilisateur fluide et réactive en utilisant React.js avec Redux pour la gestion de l'état, permettant une expérience utilisateur optimale. Mise en œuvre de Material-UI pour des composants UI modernes et ergonomiques.
MongoDB Express.js React.js Node.js OpenCV WebRTC Socket.io Docker Kubernetes Google Maps API Jest Mocha Material-UI