CASABLANCA, MAROC · ÉLÈVE INGÉNIEURE EN 5e ANNÉE

Du besoin métier
à une application
qui prend forme.

Je suis Islam Chaachaa. Je développe des applications back-end et full stack avec Java/Spring Boot et C#/.NET, avec l’envie de progresser vers le DevOps.

Stage PFE · 6 mois dès février 2027 · Casablanca / Rabat

BACK-END & API REST ✦ APPLICATIONS FULL STACK ✦ PROJETS EN ÉQUIPE ✦ OUVERTURE DEVOPS

01 / SUR LE TERRAIN

Deux stages,
des besoins réels.

Des expériences en entreprise qui relient conception, développement et travail en équipe.

JUILLET — AOÛT 2026

ONEE · DSI

Développeuse full stack stagiaire

Casablanca · En binôme

Plateforme de gestion des stages

  • Contribution à la gestion des candidatures, affectations, tâches, évaluations et attestations PDF.
  • Participation à la modélisation UML et à la conception d’une architecture microservices.
  • Contribution à l’authentification JWT et aux autorisations pour six rôles.
C#ASP.NET CoreEF CoreSQL ServerJWT

Projet réalisé en entreprise ; code source non publié.

JUILLET — AOÛT 2025

Eclatal

Développeuse full stack stagiaire

Casablanca

BusinessOps Manager

  • Développement de plus de cinq modules métier pour les clients, les projets et les finances.
  • Création d’un tableau de bord de plus de huit indicateurs et intégration d’Odoo CRM via des API REST.
  • Conteneurisation de trois services avec Docker Compose pour le déploiement local.
PythonFlaskMySQLBootstrapDocker ComposeOdoo

02 / SÉLECTION DE PROJETS

Ce que je construis.

Des applications pour explorer différents problèmes métier et approfondir mes pratiques de développement.

02 / ACADÉMIQUE · PFAEN BINÔME

Référentiel fibre optique

Une application de cartographie et de gestion d’un réseau fibre optique, développée en binôme.

  • Équipements et liaisons visualisés sur une carte Leaflet.
  • Données géospatiales, deux profils utilisateurs et génération de contrats PDF.
Java 21Spring BootReact / TypeScriptJTSLeaflet
Voir le dépôt de l’équipe ↗
Comprendre le projet et son fonctionnement

Le besoin

Centraliser les informations d’un réseau fibre optique et les rendre consultables sur une carte. Le projet rapproche la vision technique du réseau et les opérations métier liées aux offres, aux demandes de raccordement et aux abonnements. Il a été développé en binôme dans le cadre du PFA.

Le cheminement dans l’application

Le parcours commence par la consultation des offres et une demande de raccordement associée à une adresse et une position géographique. Le suivi permet de retrouver l’état des demandes. Les écrans de supervision donnent une vue du réseau et de ses équipements, tandis que la partie facturation rassemble les indicateurs utiles au suivi des abonnements. Les captures ci-dessous illustrent trois de ces écrans.

Comment les parties communiquent

Le front-end React/TypeScript présente les écrans et la carte Leaflet. Il communique avec le back-end Java/Spring Boot par API REST. Le serveur traite les règles métier et accède aux données MySQL via JPA/Hibernate. Hibernate Spatial et JTS permettent de manipuler les données géographiques ; OpenPDF sert à produire les documents PDF.

Ce que chaque technologie apporte

  • React et TypeScript : composants d’interface et manipulation structurée des données affichées.
  • Leaflet : affichage de la carte, des équipements et des liaisons du réseau.
  • Java 21 et Spring Boot : développement du back-end et des services REST.
  • MySQL, JPA/Hibernate : persistance des données métier ; JTS et Hibernate Spatial : gestion de leur dimension géographique.
  • JWT : authentification des utilisateurs ; OpenPDF : génération des contrats PDF.

L’application en images

Captures extraites de notre rapport de PFA. Cliquez sur une image pour l’agrandir.

03 / FULL STACKJAVA & REACT

Bibliothèque en ligne

Une plateforme de bibliothèque associant gestion des accès et recommandations de contenus.

  • API REST, authentification JWT et accès selon les rôles.
  • Recommandations avec Neo4j, documentation OpenAPI et environnement Docker.
Spring BootReactTypeScriptNeo4jDocker
Explorer le projet ↗
Comprendre le projet et son fonctionnement

Le besoin

Proposer une bibliothèque en ligne avec une interface de consultation, une gestion des accès et des recommandations de contenus. L’objectif est de relier une application React à un back-end Java, tout en explorant une base de données orientée graphe.

Le parcours utilisateur

L’utilisateur accède à la plateforme et consulte les contenus proposés. Après authentification, les opérations disponibles dépendent de son rôle. Les recommandations complètent la consultation pour aider à découvrir d’autres contenus.

Comment les parties communiquent

React et TypeScript constituent le front-end. Les échanges avec le serveur passent par les API REST Spring Boot. Les tokens JWT identifient les utilisateurs pour les requêtes protégées. Neo4j représente les relations utilisées pour les recommandations, tandis qu’OpenAPI documente les points d’entrée de l’API.

Ce que chaque technologie apporte

  • React et TypeScript : développement de l’interface web et de ses composants.
  • Spring Boot : traitement des requêtes et logique du back-end.
  • Spring Security et JWT : authentification et accès selon les rôles.
  • Neo4j : exploitation des relations entre données pour les recommandations.
  • OpenAPI : description des endpoints ; Docker : préparation de l’environnement de développement.
04 / APPLICATION MÉTIERSANTÉ

MedServe

Une application de gestion des rendez-vous médicaux pour les patients, médecins et assistants médicaux.

  • Gestion des rendez-vous, documents et notifications.
  • Trois rôles utilisateurs et authentification JWT.
Spring BootSpring SecurityThymeleafJPAMySQL
Explorer le projet ↗
Comprendre le projet et son fonctionnement

Le besoin

Organiser les rendez-vous médicaux et réunir les informations nécessaires à leur suivi dans une application commune aux patients, médecins et assistants médicaux.

Le parcours utilisateur

Le patient prend et suit ses rendez-vous. Le médecin utilise l’application pour gérer son planning, tandis que l’assistant médical intervient dans l’organisation des rendez-vous. Les documents et les notifications accompagnent ce suivi. Chaque utilisateur accède aux fonctions correspondant à son rôle.

Comment les parties communiquent

Spring Boot gère les requêtes et les règles métier. Thymeleaf génère les pages HTML côté serveur à partir des données préparées par l’application. JPA/Hibernate relie les objets Java aux données MySQL. Spring Security et JWT participent à la gestion de l’authentification et des accès.

Ce que chaque technologie apporte

  • Spring Boot : organisation et exécution de l’application Java.
  • Thymeleaf : création des pages web à partir de modèles HTML et des données du serveur.
  • JPA/Hibernate et MySQL : enregistrement et consultation des rendez-vous et des autres données métier.
  • Spring Security et JWT : gestion des accès pour les trois rôles utilisateurs.
Un précédent projet : TicTache

Application collaborative de gestion des tâches avec Django, MySQL, Bootstrap et AJAX.

Le besoin

Organiser des tâches à plusieurs dans un espace commun, pour suivre le travail d’une équipe.

Le fonctionnement

Les utilisateurs consultent et mettent à jour les tâches dans l’interface web. Django traite les actions côté serveur et MySQL conserve les données. AJAX permet d’échanger avec le serveur sans recharger une page entière pour chaque interaction ; Bootstrap apporte les composants et la mise en page responsive.

Technologies utilisées

Python et Django pour le back-end, MySQL pour la persistance, HTML/CSS et Bootstrap pour les pages, JavaScript et AJAX pour les interactions.

Interface du projet TicTacheConsulter le code ↗

03 / MA BOÎTE À OUTILS

Des technologies
mises en pratique.

Une base en développement logiciel, complétée par un apprentissage progressif des pratiques DevOps.

01

Back-end

Java · Spring Boot · API REST · JPA/Hibernate
C# · ASP.NET Core · Entity Framework Core
Python · Flask · Django

02

Front-end

Angular · React · TypeScript
JavaScript · HTML · CSS · Bootstrap

03

Données

MySQL · SQL Server · PostgreSQL
Neo4j et Redis dans mes projets

04

Outils & pratiques

Git · GitHub · Maven · Postman
Docker · Docker Compose · OpenAPI

En cours d’apprentissage

Architecture microservices avec Spring Cloud Gateway, Eureka et Config Server dans les TP TicketFlow. Approfondissement de l’intégration continue et des pratiques DevOps.

04 / MON PARCOURS

Apprendre en construisant.

Élève ingénieure en 5e année à l’EMSI Casablanca, je prépare mon diplôme en développement digital et systèmes d’information, prévu en 2027.

Mes stages et mes projets m’ont permis de travailler sur le back-end, les API REST et les interfaces web. Je souhaite continuer à progresser au sein d’une équipe, en développement logiciel ou DevOps.

EMSI Casablanca · 2022 — 2027

Certifications

  • Python and Web DataUniversity of Michigan
  • Software Engineering: Design and Project ManagementHong Kong University of Science and Technology

Au-delà du code

Membre d’Enactus · Dessin · Lecture · Natation

Arabe : langue maternelle
Français : avancé
Anglais : intermédiaire-avancé

05 / ET SI NOUS ÉCHANGIONS ?

Une opportunité de PFE ?
Parlons-en.

Disponible pour un stage de 6 mois dès février 2027 en développement logiciel ou DevOps, à Casablanca ou Rabat.

M’écrire un email ↗