OUVERTE À DE NOUVELLES OPPORTUNITÉS

Où puis-je emmener votre produit ?

Ingénieure logicielle chez IBM. J'aide à définir la solution avec l'équipe et les clients, puis je la conçois et la développe. J'aime aussi expliquer le code simplement.

3 ANS CHEZ IBMFULL-STACK + CLOUD8+ APPS EN PROD20+ ARTICLES PUBLIÉS

Parcours de carrière

Réalisations sélectionnées

ANGULARNGRXGRAPHQLAWS AMPLIFYAWS LAMBDA

Applications web aériennes & voyage

Développement de fonctionnalités front-end sur plusieurs applications Angular en production pour des clients du transport aérien et du voyage. Parcours de réservation, deep linking, cartes interactives, suivi de statut en temps réel, et une interface multilingue qui change de langue à la volée. État géré en NgRx/RxJS ; données via GraphQL et REST avec AWS Amplify.

ANGULARREAL-TIMEDATA VIZ

Tableau de bord centre d'opérations

Un centre d'aide à la décision en temps réel pour une entreprise américaine de services publics. Il rassemble les indicateurs opérationnels de plusieurs systèmes sur un seul écran, lisible en un coup d'œil par les opérateurs pendant un incident.

NODEJSFASTAPIAWS LAMBDACOGNITOANGULAR 21

Composability Layer

Une plateforme de données pour les services publics. Chaque équipe dispose de son propre espace de travail, construit ses flux de données sur un canevas en glisser-déposer et les suit sur des tableaux de bord de métriques en temps réel. Les modèles de réseau sont convertis au standard CIM et traités sur AWS avec Lambda, Step Functions et Kafka, avec un accès par rôles via Cognito.

Travaux d'ingénierie

Quelques exemples de mon travail entre développement d'applications, conception de systèmes et AWS.

CONCEPTION DE FONCTIONNALITÉS

Concevoir des fonctionnalités sur toute la stack

ANGULARNODE.JSPOSTGRESQLAWSAPI REST

Sur les projets IBM, je travaille sur toute la fonctionnalité, du modèle de données et des API existants jusqu'à l'autorisation et aux ressources AWS, puis je rédige la conception et la fais avancer avec l'équipe.

Par exemple : l'import de règles en CSV avec correspondance des colonnes, et une vérification des règles touchées par la suppression d'un ensemble.

ÉDITION SIMULTANÉE

Gérer les changements simultanés

POSTGRESQLS3NODE.JSPYTHON

Travail sur une plateforme multi-utilisateurs où plusieurs personnes pouvaient éditer la même configuration. J'ai suivi le parcours des changements à travers les services et les deux couches de stockage (Postgres et S3), puis conçu et mis en place une approche qui combine des verrous d'édition limités dans le temps et des vérifications de version à l'enregistrement. Un enregistrement fait depuis une copie périmée est rejeté avec un conflit au lieu d'écraser en silence les changements plus récents de quelqu'un d'autre.

PERMISSIONS PAR ESPACE

Accès par rôle selon l'espace de travail

COGNITOJWTRBACNODE.JSPOSTGRESQL

Travail sur le contrôle d'accès par rôle d'une plateforme où le rôle d'un utilisateur peut changer d'un espace de travail à l'autre. Cela comprenait le modèle de rôles, les invitations et les changements de rôle, ainsi qu'un déclencheur Cognito pre-token qui ajoute au jeton d'accès les rôles de chaque utilisateur par espace de travail, pour que chaque requête d'API soit vérifiée selon le rôle dans l'espace qu'elle concerne.

AUTHENTIFICATION

OAuth 2.0 + PKCE

OAUTH 2.0OIDCPKCECOGNITOAMPLIFY

Travail avec OAuth 2.0 et OpenID Connect, notamment le flux Authorization Code avec PKCE, via Cognito et Amplify. L'API authentifie les requêtes avec Cognito, et le back-end s'appuie sur l'identité vérifiée pour contrôler les permissions.

Compétences

ESSENTIEL

La stack de la plupart de mon travail chez IBM.

  • TypeScript
  • JavaScript
  • Angular
  • RxJS
  • Node.js
  • API REST
  • Git
  • AWS
J'UTILISE AUSSI

Utilisé sur les projets IBM en complément de la stack principale.

  • Python
  • FastAPI
  • GraphQL
  • NgRx
  • PostgreSQL
  • DynamoDB
  • Docker
  • CI/CD
SYSTÈMES

Les services cloud sur lesquels reposent les plateformes où je travaille.

  • AWS Lambda
  • ECS
  • S3
  • Cognito
  • API Gateway
  • CloudFormation
  • Kafka (MSK)
  • Step Functions
  • Spark sur EMR
PROJETS PRÉCÉDENTS

Issus de projets antérieurs et personnels, avec le code sur GitHub.

  • Java
  • Spring Boot
  • Spring Cloud
  • Django
  • MySQL
  • SQL Server

Articles

MINI-SÉRIE · EN DARIJA

Java expliqué en darija

Lambdas, Comparator, Predicate, Consumer, classes internes : expliqués dans la langue dans laquelle beaucoup de débutants pensent vraiment, parce que certains assimilent Java plus vite en darija qu'en anglais.

LAMBDASCOMPARATORPREDICATECONSUMERINNER CLASSES
Lire la série

J'aime aussi expliquer

CONCEPTS QUE J'AIME EXPLIQUER
Lire du code qu'on n'a pas écritdébutant → intermédiaire
Java & Springfondamentaux → microservices
Angularcomposants → NgRx
Pythonbases → APIs
Voir mes articles
LANGUES
Arabe : langue maternelleAnglais : TOEFL 91Français : C1

Chez IBM, je participe aux démonstrations clients. En dehors de ça, j'aime simplement expliquer des concepts de programmation de façon simple, et certains de mes articles sur dev.to en viennent.

Projets personnels

SYSTÈMES DISTRIBUÉS

My Mini Souq

LT-SOUQ-01

Une boutique découpée en services Spring Boot pour les clients, l'inventaire et la facturation, avec Eureka pour la découverte, un Config Server pour la configuration partagée, et une Spring Cloud Gateway en entrée. La facturation construit chaque facture en appelant les services clients et inventaire via OpenFeign.

MICROSERVICESSPRING CLOUDEUREKAOPENFEIGNJPA
LLM

Spring LLM Gateway

LT-QNA-02

Un service Java qui envoie une question à un LLM, stocke la réponse, et la renvoie via un endpoint REST propre.

JAVASPRINGREST
APPLICATION WEB

Gestion Dépense

LT-DEPN-03

Un suivi de dépenses en deux parties : un front-end Angular pour saisir et consulter les dépenses, et un back-end JEE qui gère les comptes et les totaux.

ANGULARJEEJAVA
POSEZ-MOI UNE QUESTION

Des questions avant de rédiger un brief ?

Posez la question à l'assistant. Il ne répond qu'à partir de mon CV et de mes articles publiés, rien d'inventé.

Certifications

2026AWS Certified AI PractitionerAmazon Web Services
2025PCEP™ Python Programmer (PCEP-30-02)OpenEDG Python Institute
2024watsonx Code AssistantIBM
2023Technical Advocate CloudIBM
2023Azure FundamentalsMicrosoft
DERNIER APPEL

Parlons de votre produit.

Dites-moi ce qui ne va pas ou ce que vous voulez livrer. Je réponds sous un jour, en anglais, en français ou en arabe.

M'écrire par e-mail