descente vers le niveau de la mer
2 632m
niveau de la mer — 0 m/21.1151° s · 55.5364° e/--:--:-- réunion

YOUSSOUF
ONIAN.

Élève-ingénieur, passionné d'informatique au sens large. Je me suis formé dans plein de domaines : le full-stack, l'IA, les systèmes embarqués. Mais celui qui me tient le plus à cœur, c'est la cybersécurité.

20+
projets menés
8
domaines techniques
2
stages en entreprise
1
SaaS en création
l'ascension commence en bas de page
TypeScriptNext.jsReactNode.jsPostgreSQLPythonPyTorchDockerJavaC embarquéFlutterLuaSocket.ioPrismaGrafanaWazuhSuricataXGBoostn8nStripeTypeScriptNext.jsReactNode.jsPostgreSQLPythonPyTorchDockerJavaC embarquéFlutterLuaSocket.ioPrismaGrafanaWazuhSuricataXGBoostn8nStripe
alt. 420 mà propos

Du firmware au SaaS en production

J'entre en 5e année du cycle ingénieur informatique à l'ESIROI (École Supérieure d'Ingénieurs Réunion Océan Indien), avec un semestre de sécurité (ISS) à Télécom Nancy. Je ne tiens pas en place sur une seule couche de la pile : cette année, j'ai écrit du C pour un microcontrôleur STM32 et fine-tuné un modèle de reconnaissance faciale. J'ai aussi mis en production une boutique en ligne qui encaisse de vrais paiements.

Côté cybersécurité : j'ai implémenté le 2FA TOTP deux fois (une fois en SaaS, une fois sur un boîtier embarqué), monté un SOC dans Docker, et passé pas mal de soirées sur du reverse engineering et des CTF. Avant de livrer quoi que ce soit, je commence par essayer de le casser.

Formation
Cycle ingénieur informatique — ESIROI, diplôme 2027
Mobilité
S9 à Télécom Nancy — spécialité ISS (Internet, Systèmes connectés et Sécurité)
Basé à
La Réunion (GMT+4)
Entrepreneuriat
Fondateur de ShopyRun (SaaS e-commerce)
Terrain de jeu
Full-stack · Cyber · IA · Embarqué · Réseaux · DevSecOps
Langues
Français (natif) · Anglais
alt. 980 ml'archipel

Les îles principales

île 01 21.11° S · 55.53° E
01
AcadémiquePOC opérationnel2025

SOC conteneurisé

Un Security Operations Center qui tourne entièrement dans Docker : SIEM Wazuh, IDS Suricata, métriques Prometheus et dashboards Grafana. La détection va du paquet réseau brut jusqu'à l'alerte affichée à l'écran.

  • Exporter Prometheus custom en Python pour les métriques Suricata
  • Mode démo : génération de trafic malveillant et rejeu de PCAP
  • Dashboards Grafana auto-provisionnés, déploiement en une commande (Makefile)
WazuhSuricataPrometheusGrafanaDocker ComposePython
île 02 20.88° S · 55.45° E
02
AcadémiqueTerminé2025

2FA embarqué

Un Google Authenticator matériel, construit de zéro. Un boîtier M5Stack Core2 génère les codes TOTP (RFC 6238) et les synchronise en Bluetooth avec un backend Node.js et une interface web.

  • Architecture 3-tiers complète : firmware embarqué + API REST + interface web
  • Conformité RFC 6238, bcrypt (12 rounds), JWT HS256, audit trail des connexions
  • Synchronisation d'horloge M5Stack ↔ serveur via Web Bluetooth API
C++ / ArduinoM5Stack Core2Node.jsExpressPrismaPostgreSQL
île 03 21.24° S · 55.71° E
03
AcadémiqueTerminé2026

Reconnaissance faciale

Un pipeline qui retrouve une personne donnée sur n'importe quelle photo, y compris quand elle est dans un groupe, mal éclairée ou à moitié cachée. C'était le challenge « données massives » de 4e année.

  • Détection MTCNN puis fine-tuning d'InceptionResNetV1 (embeddings 512-d, pré-entraîné VGGFace2)
  • Data augmentation ciblée : luminosité, rotation, occlusion, flou
  • Évaluation rigoureuse : precision, recall, F1, ROC-AUC, matrice de confusion
PythonPyTorchMTCNNFaceNetOpenCVscikit-learn
île 04 20.93° S · 55.29° E
04
AcadémiqueTerminé2025

Nuit de l'Info — CV × LLM

Un analyseur de CV pour un poste en R&D cybersécurité, propulsé par un LLM local (Ollama). Son intérêt : il sert d'abord à montrer comment cacher une prompt injection dans un document de candidat, puis à la détecter.

  • Détection de 20+ patterns de prompt injection dans les PDF / DOCX soumis
  • Analyse comparative multi-critères avec audit trail complet
  • LLM auto-hébergé (gpt-oss:30b) : aucune donnée candidate n'est envoyée à un tiers
PythonFlaskOllamaPyPDF2python-docx
île 05 21.35° S · 55.60° E
05
AcadémiqueTerminé2025

Prédiction vélos — Oslo

Un pipeline big data qui prédit combien de vélos en libre-service seront disponibles à Oslo. Il croise 1,96 million d'observations sur 271 stations avec la météo pour entraîner un modèle XGBoost.

  • Fusion de deux APIs réelles : Bysykkel (stations) et Open-Meteo (météo)
  • Feature engineering temporel et météo : patterns horaires, hebdomadaires, saisonniers
  • Analyse géospatiale de l'utilisation par station
PySparkPandasXGBoostscikit-learnParquet
île 06 21.02° S · 55.22° E
06
PersoPrototype avancé2025

SkyDealers : The Hidden Islands

Un jeu clicker multijoueur sur Roblox : 8 îles flottantes à débloquer, un système de rebirth, 24 rangs et une économie où les multiplicateurs s'empilent. Le tout est parti d'un game design document de plus de 1 500 lignes.

  • Serveur autoritaire : tous les calculs économiques et validations côté serveur, avec anticheat et rate limiting
  • Persistance robuste : DataStore avec retry exponentiel et migrations de schéma versionnées
  • Économie : gain = base × power × rebirth × rang × dôme — 27 scripts client/serveur
Lua (typé strict)Roblox StudioDataStoreTweenService
alt. 1 550 mcartographie complète

Toutes les expéditions

Perso2026

Turbo E-commerce

La boutique en ligne d'un commerçant réunionnais, du catalogue au paiement Stripe. Elle gère la livraison par zone, le retrait en magasin et un back-office pour tout piloter. Elle sert autant les particuliers que les pros, dont les comptes passent par une validation.

Next.js 15React 19TypeScriptPostgreSQL+6
En production
Entrepreneuriat2026

ShopyRun

Un SaaS qui donne aux petits commerçants de La Réunion leur propre boutique en ligne sans qu'ils aient à la coder. Chaque marchand a son espace, ses commandes, ses zones de livraison et ses promos. C'est un vrai projet de création d'entreprise, éligible à l'aide KAP Numérik.

Next.js 16React 19Tailwind v4Framer Motion+2
En cours
Académique2026

Reconnaissance faciale

Un pipeline qui retrouve une personne donnée sur n'importe quelle photo, y compris quand elle est dans un groupe, mal éclairée ou à moitié cachée. C'était le challenge « données massives » de 4e année.

PythonPyTorchMTCNNFaceNet+2
Terminé
Académique2025

2FA embarqué

Un Google Authenticator matériel, construit de zéro. Un boîtier M5Stack Core2 génère les codes TOTP (RFC 6238) et les synchronise en Bluetooth avec un backend Node.js et une interface web.

C++ / ArduinoM5Stack Core2Node.jsExpress+4
Terminé
Perso2025

SkyDealers : The Hidden Islands

Un jeu clicker multijoueur sur Roblox : 8 îles flottantes à débloquer, un système de rebirth, 24 rangs et une économie où les multiplicateurs s'empilent. Le tout est parti d'un game design document de plus de 1 500 lignes.

Lua (typé strict)Roblox StudioDataStoreTweenService
Prototype avancé
Perso2026

Find-App

Une application mobile pour partager sa position avec une seule autre personne, en privé. Les coordonnées GPS sont chiffrées de bout en bout, le serveur ne les voit jamais en clair.

FlutterFirebaseAES-256-GCMOpenStreetMap+1
MVP validé
Stage2025

Imagino Monitoring

Une plateforme de supervision de KPI développée en stage chez IODA Groupe. Elle repère en temps réel les fichiers CSV déposés en FTP, les traite et les agrège, puis génère automatiquement un dashboard Grafana par client.

Python 3.11PandasGrafana APIMariaDB+1
En production
Académique2025

SOC conteneurisé

Un Security Operations Center qui tourne entièrement dans Docker : SIEM Wazuh, IDS Suricata, métriques Prometheus et dashboards Grafana. La détection va du paquet réseau brut jusqu'à l'alerte affichée à l'écran.

WazuhSuricataPrometheusGrafana+2
POC opérationnel
Académique2025

Nuit de l'Info — CV × LLM

Un analyseur de CV pour un poste en R&D cybersécurité, propulsé par un LLM local (Ollama). Son intérêt : il sert d'abord à montrer comment cacher une prompt injection dans un document de candidat, puis à la détecter.

PythonFlaskOllamaPyPDF2+1
Terminé
Académique2025

Prédiction vélos — Oslo

Un pipeline big data qui prédit combien de vélos en libre-service seront disponibles à Oslo. Il croise 1,96 million d'observations sur 271 stations avec la météo pour entraîner un modèle XGBoost.

PySparkPandasXGBoostscikit-learn+1
Terminé
Académique2026

Pharos.io

Une battle arena multijoueur qui tourne dans le navigateur. Un serveur Node.js garde jusqu'à 100 joueurs synchronisés en WebSocket, avec la physique, les collisions et le jeu en équipes gérés côté serveur.

Node.jsSocket.ioExpressJavaScript
En développement
Perso2025

Quizz Super Cool

Un quiz multijoueur sur réseau local, avec 4 modes de jeu (Buzzer, Faire Deviner, Undercover, Speed Quiz). La partie s'étale sur plusieurs écrans à la fois : celui du présentateur, l'écran public et le téléphone de chaque joueur.

Node.jsSocket.IOExpressVite
Mature
Académique2024

ReefTEMP

Un microcontrôleur STM32WL55 qui collecte et compresse des données environnementales (température, salinité, humidité) pour la plateforme OpenData de La Réunion. Le projet s'inscrivait dans le programme de recherche RIoT.

C embarquéSTM32WL55LoRa
v1 fonctionnelle
Académique2025

VaporMap — mise en production

La mise en production d'une application de relevés GPS cartographiés : API Flask, reverse proxy Nginx, Gunicorn, MariaDB et services SystemD. Le tout accompagné d'une doc d'exploitation de plus de 90 pages.

FlaskSQLAlchemyNginxGunicorn+3
Déployé
Académique2025

MQTT chiffré

Un canal sécurisé entre un équipement industriel et son entreprise, qui passe pourtant par un broker MQTT public. Tout part d'une simple passphrase partagée, d'où découlent le chiffrement AES et l'authentification des messages.

JavaAES-128-CBCHMAC-SHA256PBKDF2+2
Terminé
Académique2026

Reverse engineering — Crackme

Le reverse d'un binaire Windows protégé : contourner ses défenses anti-debug, comprendre son format de licence, puis reconstruire un serial valide en factorisant sa clé RSA.

Binary Ninjax32dbgPythonx86 assembly+2
Writeup complet
Perso2026

Automatisation comptable × IA

Une mission freelance pour un expert-comptable : automatiser la révision des dossiers de micro-entrepreneurs. L'API Claude extrait les PDF (URSSAF, TVA, relevés bancaires), du code déterministe vérifie la cohérence, et l'humain garde le dernier mot.

n8nClaude APIPostgreSQLGoogle Sheets+2
Cadrage livré
Perso2025

EUR Tracker

Le suivi en temps réel du taux Euro vers Roupie indonésienne et Ringgit malaisien. On y trouve des historiques interactifs, un convertisseur dans les deux sens et des signaux « bon moment pour changer ».

Next.jsReactRechartsAPI Frankfurter (BCE)
En ligne
Perso2025

Block Blast Solver

Un solveur pour le jeu mobile Block Blast. On y recopie son plateau 8×8 et ses pièces, et l'algorithme calcule les meilleurs placements en temps réel.

Next.js 16React 19TypeScriptTailwind v4
En ligne
Académique2026

Écoconception PHP

Un guide d'écoconception logicielle : 10 règles d'optimisation PHP, chacune mesurée et documentée, avec l'exemple avant/après et le gain chiffré. J'ai coordonné une équipe de trois.

PHPHTML5CSS3JavaScript+1
Livré
Académique2025

Détection & exfiltration DNS

Les deux côtés de la sécurité réseau. D'abord configurer Suricata pour repérer les scans TCP/SYN, puis démontrer comment faire fuiter des données en douce via des requêtes DNS.

SuricataPythonNmapWireshark
PoC + writeup
alt. 2 100 méquipement

La panoplie technique

Web & Full-Stack

TypeScriptReact 19Next.js 15/16Node.jsExpressSocket.ioTailwindPostgreSQLPrismaMongoDBRedisStripe

Cybersécurité

2FA TOTP (RFC 6238)AES / HMAC / RSAChiffrement E2EWazuh · SuricataReverse engineeringBinary Ninja · x32dbgOWASPOSINTCTF

IA & Data

PythonPyTorchCNN / Transfer LearningXGBoostPySparkPandasscikit-learnLLM (Ollama, Claude API)

Systèmes & Embarqué

C / C++ embarquéSTM32 · M5StackLoRaWAN · MQTTJavaGoLinuxBash / ZSH

DevOps & Cloud

Docker · ComposeNginx · GunicornGrafana · PrometheusCI/CDCoolify · Verceln8n

Jeux & Mobile

Lua / RobloxÉconomie de jeuTemps réel multijoueurFlutter / DartFirebase
alt. 2 400 mitinéraire

Le carnet d'ascension

2023 — 2024

Cycle préparatoire intégré (CPI)

Fondamentaux : algorithmique en Go, C, Java, JavaScript/TypeScript, Scheme, Python scientifique. Structures de données, paradigmes comparés.

2024 — 2025

3e année ESIROI — cycle ingénieur

IoT embarqué (ReefTEMP sur STM32), mise en production Linux (VaporMap), cryptographie appliquée (MQTT chiffré), machine learning, stéganographie.

Été 2025Stage

Stage — IODA Groupe

Conception et déploiement d'imagino-monitoring : pipeline Python temps réel alimentant des dashboards Grafana générés par client. En production.

2025 — 2026

4e année ESIROI

Cybersécurité avancée (SOC, reverse engineering, sécurité offensive), deep learning, big data (1,96M d'observations), systèmes embarqués (2FA matériel), Nuit de l'Info.

2026Stage International

Stage — SUOVA (Indonésie)

Stage international chez SUOVA, une agence de dev logiciel. Mission avant tout cybersécurité : pentests et audits de sites clients réels, reverse engineering d'app Android, durcissement de serveurs et de WordPress, config Cloudflare/WAF. Chaque mission finit en rapport d'audit.

suova.co.id
2026 — 2027Mobilité

5e année — ESIROI × Télécom Nancy

S9 en mobilité à Télécom Nancy, spécialité ISS (Internet, Systèmes connectés et Sécurité) : cybersécurité offensive et défensive, salles red team / blue team, CTF Proximus Cup, exercice Cyber Humanum Est. Puis S10 : six mois de stage de fin d'études — destination encore à tracer sur la carte. Le sommet, lui, est déjà en vue.

alt. 2 632 mle sommet

Vous êtes arrivé au sommet.

Merci d'avoir grimpé jusqu'en haut. Cette carte ne montre pas tout : un sentier discret part encore d'ici, pour qui sait où regarder. Je cherche un stage de fin d'études pour 2027. Alternance, mission freelance ou simple idée à discuter, ça marche aussi. La vue est belle d'ici, écrivez-moi.