Compétences
Du recueil des besoins jusqu'à la mise en production : je conçois la maquette, choisis l'architecture, développe l'application et sa base de données, rédige la documentation technique, puis déploie et corrige à distance.
Conception
- Concevoir une application web (avancé)
- Concevoir une maquette de présentation
- Recueillir et analyser les besoins client
- Choix techniques d'architecture logicielle et matérielle
Développement
- Développer un logiciel, un système d'information, une application (avancé)
- Coder
- Assembler des composants logiciels
- Développer une application en lien avec une base de données
Langages et outils
- HTML
- CSS
- JavaScript
- React
- Bases de données NoSQL
- Langages de programmation informatique
Déploiement et maintenance
- Gérer et déployer des logiciels à distance
- Déterminer des mesures correctives
- Créer une documentation technique
- Anglais technique
- Actualiser régulièrement ses connaissances
Savoir-être
- Autonomie
- Réactivité
- Gestion du stress
- Organisation selon les priorités et les objectifs
- Travail en équipe
Mis en œuvre dans les projets
- Node.js / Express
- TypeScript
- MySQL / MongoDB
- Java (Android)
- Docker / Nginx
- Socket.IO / WebRTC
Projets
Boutique en ligne En ligne
Mon Orient
Boutique en ligne complète : catalogue et fiches produits, panier, comptes clients et espace d'administration. Le parcours de paiement Stripe est simulé : aucune transaction réelle n'est effectuée.
- React
- Node.js / Express
- MySQL (Sequelize)
- Socket.IO
- Docker
Supervision et déploiement En ligne · accès restreint
M6 Cloud Dashboard
Console d'administration qui supervise et déploie mes applications sur trois machines (PC de développement, PC distant sous Windows, machine virtuelle Linux) : état des conteneurs Docker et des processus, journaux en direct, déploiement avec contrôle de santé et retour arrière automatique, gestion de la passerelle Nginx. Application Android compagnon.
- React (Vite)
- Tailwind CSS
- Node.js / Express
- Socket.IO
- MySQL
- Docker
- SSH
Réseau social vidéo En finalisation
Aura
Fil de vidéos courtes au format vertical, publications, stories de 24 h, abonnements et notifications en temps réel. Messages privés chiffrés côté client (ECDH P-256 + AES-256-GCM). Application Android native avec capture CameraX, lecture Media3 et filtres photo/vidéo ; API en TypeScript avec traitement vidéo FFmpeg.
- Java (Android)
- CameraX / Media3
- TypeScript
- Express
- Socket.IO
- MySQL
- FFmpeg
Protection contre la fraude Démo en ligne
M6 Cyber Guardian
Application Android qui identifie l'origine des appels, SMS et e-mails suspects et les recoupe entre eux : filtrage automatique des appels à risque, détection de l'hameçonnage par SMS, analyse des e-mails (SPF, DKIM, DMARC, serveur d'envoi réel) et indice de confiance d'un site web. Le moteur d'analyse, écrit en Java et couvert par des tests JUnit, est partagé avec une API web, un site React et une extension de navigateur.
- Java (Android)
- libphonenumber
- React
- TypeScript
- Vite
- JUnit
Messagerie et appels vidéo En finalisation
TalkToMe
Messagerie instantanée avec appels audio et vidéo WebRTC, écran d'appel entrant en plein écran, vidéos courtes, stories et commentaires. Caméra avec masques de visage ML Kit. Application Android native et API Node.js servie en HTTPS.
- Java (Android)
- WebRTC
- ML Kit
- Node.js / Express
- Socket.IO
- MySQL (Sequelize)
Assistant de développement IA En développement
NeoBlast
Extension VS Code : chat et mode agent dans la barre latérale, avec approbation, comparaison (diff) et annulation avant toute écriture de fichier ; complétion en ligne et actions « expliquer, corriger, refactoriser ». Fonctionne avec des modèles locaux servis par Ollama ou avec des fournisseurs distants.
- TypeScript
- React
- API VS Code
- Python / FastAPI
- Ollama
Visualisation réseau Code public
Lattice
Graphe de force d'un campus cybersécurité et Wi-Fi : nœuds déplaçables, zoom, recherche avec surbrillance, inspection au clic, pages Inventaire, Incidents et Architecture, API REST documentée en OpenAPI 3.1. Architecture hexagonale : le cœur métier ne dépend ni de React ni de HTTP.
- TypeScript
- React
- d3-force
- Zustand
- Vite
Autres projets
ADB Phone Manager
Interface web en un seul fichier qui génère les commandes ADB de transfert, de sauvegarde et de diagnostic d'un téléphone Android, avec assistant d'installation et décodeur d'erreurs.
Global Auth
Service d'authentification centralisé (jetons JWT) partagé par les applications de la plateforme M6.
Radar Info
Agrégateur d'actualités neutre : classement chronologique sans algorithme de recommandation, indicateur de vérification des faits, recherche plein texte Elasticsearch.
CryptoTrade
Plateforme de suivi des marchés de cryptomonnaies avec authentification à deux facteurs et back-office d'administration.
Moteur de recherche
Moteur de recherche auto-hébergé : robot d'indexation Scrapy respectant robots.txt, index Elasticsearch, interface React, déploiement Docker Compose.
Outils anti-fraude
Deux outils de mon projet M6 Cyber Guardian, utilisables ici. Les vérifications sont passives : aucune attaque n'est menée contre le site vérifié. Le même moteur filtre le formulaire de contact. Application complète (numéros, SMS, signalements) : démo de M6 Cyber Guardian.
Applications Android
Applications natives en Java, chacune reliée à sa propre API : le même code serveur alimente le site web et l'application mobile.
Aura
Vidéos courtes, stories et messages chiffrés
JavaTalkToMe
Messagerie et appels vidéo WebRTC
JavaM6 Cyber Guardian
Appels, SMS et e-mails frauduleux
JavaM6 Cloud Admin
Compagnon du dashboard : conteneurs, journaux, alertes
JavaApplication Android du portfolio
Les projets personnels et les projets de formation de cette page, consultables hors ligne sur un téléphone Android (7.0 ou plus récent).
Télécharger l'APKParcours
Développeur Web
OpenClassrooms
Créer et maintenir des sites web dynamiques.
Bac+2 (BTS, DUT ou équivalent) — Développeur web
Baccalauréat scientifique
Obtenu au Maroc.
Projets de la formation OpenClassrooms
Ohmyfood
Site de réservation de menus gastronomiques, conçu mobile d'abord, avec animations CSS et feuilles de style Sass.
La Chouette Agence
Optimisation du référencement naturel (SEO), de l'accessibilité et des performances du site d'une agence web. Version de départ.
Piiquante
API REST sécurisée d'une application d'avis sur des sauces : authentification JWT, mots de passe hachés (bcrypt), envoi d'images, base NoSQL MongoDB.
En complément
Langues
- Arabe — courant
- Anglais — intermédiaire
Permis
- B — véhicule léger
Centres d'intérêt
- Informatique
- Sports
- Cinéma
- Bricolage
Contact
Travaillons ensemble
Je suis ouvert aux opportunités de poste et de mission. Pour un projet, une question ou un entretien, écrivez-moi avec ce formulaire.