🔐 Stage chez Reverse OI
Développement d'une application web de cybersécurité
📌 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 et de développer une API complète en Python pour automatiser les scans de sécurité.
🛠️ Semaine 1 - Mise en Place et Découverte
Découverte des Outils de Pentesting
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 web, et ZAP pour la détection de vulnérabilités. Je les ai explorés en autonomie pour bien comprendre leur fonctionnement, leurs objectifs et le type de données qu'ils renvoient.
Développement de l'API Django
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 et 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 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 PostgreSQL. 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é frontend.
🧪 Semaine 3 - Tests et Sécurisation
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.
🎓 Expérience Complémentaire
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 et Déploiement
Accompagnement d'un Stagiaire
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 Django. Mon rôle était de l'aider à comprendre les bases du langage et à progresser dans l'utilisation du framework. 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.
Refonte et Déploiement du Portfolio
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, je l'ai 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).
🎯 Compétences Mobilisées
📊 Résultat Final
À l'issue des quatre semaines de stage, l'application web développée permet aux utilisateurs authentifiés de :
- Exécuter des scans de sécurité via une interface intuitive
- Visualiser les résultats des outils de pentesting (Nmap, WhatWeb, ZAP) sous forme de rapports clairs
- 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.
💻 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
🎓 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é.