Mon CV

Stages professionnels durant le BTS SIO

Stage chez Reverse OI - Développement d’une application web de cybersécurité

Introduction – Présentation et contexte
Durant ma période de stage, j’ai intégré l’entreprise Reverse OI, spécialisée dans la cybersécurité. Mon objectif principal était de participer au développement d’une application web avec le framework Django, pour centraliser, traiter et afficher les résultats générés par des outils de test d'intrusion (pentesting) comme Nmap, WhatWeb, et ZAP. Ce projet m’a permis de découvrir concrètement comment exploiter ces outils dans une interface web sécurisée.


🛠️ Semaine 1 – Mise en place du projet et découverte des outils
Lors de ma première semaine, je me suis concentré sur la découverte des outils de pentesting utilisés dans le projet :

  • - Nmap pour le scan réseau
  • - WhatWeb pour l’analyse des technologies utilisées sur un site web
  • - ZAP pour détecter des vulnérabilités web

Je les ai explorés en autonomie, pour bien comprendre leur fonctionnement, leurs objectifs, et le type de données qu’ils renvoient. Ensuite, j’ai commencé le développement d’une API en Python avec Django, capable d’exécuter ces outils directement depuis l’interface web et d’en afficher les résultats. Cela m’a permis de renforcer mes compétences en Python, en Django, et de me plonger dans un vrai projet web orienté sécurité. Enfin, j’ai mis en place un repository Git pour versionner mon travail et suivre l’évolution du code de façon professionnelle.


🧩 Semaine 2 – Traitement des résultats et base de données
Lors de la deuxième semaine, je me suis concentré sur le traitement des résultats bruts. J’ai développé un parseur personnalisé pour extraire les informations utiles des lignes de commande générées par les outils. Ensuite, j’ai converti ces résultats en JSON structuré, plus facile à exploiter. Puis, j’ai modélisé ces données à l’aide des modèles Django ORM, et je les ai stockées dans une base de données. Enfin, j’ai développé des vues Django pour afficher dynamiquement ces données dans l’interface web. Cette partie m’a permis de renforcer mes compétences en manipulation de données, en modélisation avec Django, et en affichage dynamique côté front.

Capture d'écran des modèles
Capture d'écran des modèles Django des scans de mon API


🧪 Semaine 3 – Tests, Git, authentification
La troisième semaine était dédiée à la vérification et à la sécurisation de l’application. J’ai appris à utiliser l’outil Hoppscotch, une alternative à Postman, pour tester les requêtes HTTP et m’assurer que les réponses JSON étaient bien renvoyées par l’API. Ensuite, j’ai utilisé Git de manière plus avancée, en travaillant avec des branches, ce qui m’a permis de faire mes modifications sans impacter le code principal. J’ai également implémenté un système d’authentification sécurisé avec Django REST Framework et les tokens JWT, permettant aux utilisateurs de s’authentifier et d’accéder uniquement à certaines parties de l’application.

Capture d'écran de la vue d'authentification
Capture d'écran de la vue d'authentification Django REST Framework de mon API

Workflow de la création d'un compte utilisateur
Schéma de la création d'un compte utilisateur (cliquez pour agrandir)

En parallèle, j’ai eu l’occasion d’assister à la soutenance de stage de plusieurs étudiants en BUT Réseaux & Télécommunications. Cela m’a permis de découvrir d’autres projets orientés cybersécurité et de mieux comprendre les attentes professionnelles lors d’une présentation technique.


🧱 Semaine 4 – Accompagnement, portfolio et déploiement
Pour cette quatrième semaine, mes missions ont évolué avec plus de responsabilités. J’ai été chargé d’accompagner un stagiaire de seconde, débutant en Python et en Django. Mon rôle était de l’aider à comprendre les bases du langage et à progresser dans l’utilisation du framework Django. Pour cela, je lui ai proposé des mini-projets progressifs, avec des objectifs concrets. Nous avons organisé plusieurs visios où je lui expliquais certains concepts plus complexes et répondais à ses questions. Cette expérience m’a permis de développer des compétences en pédagogie, en communication, et en accompagnement technique.

En parallèle, j’ai été encouragé à retravailler mon portfolio personnel en utilisant Django afin de mettre en valeur mes compétences récentes. J’ai relevé le défi et réussi à le recréer intégralement. Pour rendre le projet plus professionnel, j’ai l’hébergé sur Heroku, un serveur basé en Irlande, afin de respecter les exigences du RGPD. J’ai également acheté un nom de domaine personnalisé via OVH pour rendre l’accès plus accessible et sérieux.

Ce double objectif m’a permis de progresser à la fois sur le plan technique (déploiement, gestion de domaine, configuration d’un environnement de production) et humain (transmission de savoirs, patience, autonomie).


Tableau des compétences mobilisées
🎯 Compétences mobilisées


📊 Résultat final – Aperçu de l’application web
À l’issue des quatre semaines de stage, l’application web développée permet aux utilisateurs authentifiés d’exécuter des scans de sécurité via une interface intuitive, de visualiser les résultats des outils de pentesting (Nmap, WhatWeb, ZAP) sous forme de rapports clairs, et de gérer les données stockées dans une base de données sécurisée. L’interface est responsive, sécurisée avec des tokens JWT, et déployée sur un serveur respectant les normes RGPD.
Voici une capture d’écran de l’interface principale de l’application :

Capture d'écran de l'application web
Capture d'écran de l’interface principale de l’application web (cliquez pour agrandir)


🎓 Conclusion – Bilan et retour d'expérience
Ce stage m'a permis d'approfondir mes compétences techniques en Python, Django, gestion de bases de données, API REST, et cybersécurité via les outils de pentesting. J'ai également progressé sur le plan personnel en autonomie, rigueur, et gestion d'un projet complet, de l'analyse des besoins à la mise en place de l'interface web sécurisée.
En fin de stage, j'ai eu l'opportunité d'accompagner un autre stagiaire débutant, ce qui m'a permis de revoir mes propres acquis tout en apprenant à transmettre mes connaissances avec clarté et pédagogie. Par ailleurs, j'ai profité de cette période pour retravailler mon portfolio personnel en utilisant Django, et le mettre en ligne de manière professionnelle, ce qui m'a permis de mieux comprendre les étapes du déploiement et les exigences liées à un environnement de production.
C'est un stage très formateur, qui a confirmé mon intérêt pour les domaines du développement web sécurisé et de la cybersécurité. Je suis motivé pour continuer à me former dans ce domaine, notamment en pratiquant des CTF ou en explorant les outils professionnels liés à la sécurité.


💻 Code Source du Projet

assadakh/projet-django

Public

Projet Django développé durant le stage - Application web de cybersécurité intégrant Nmap, WhatWeb et ZAP

Python 66.6%
HTML 33.4%
📝 14 commits
Voir le code sur GitHub