Mes Projets Personnels
Bienvenue sur ma page de projets personnels ! Voici quelques-unes de mes réalisations qui témoignent de mes compétences en programmation et développement.
Projets
FeatuRing : Bague NFC Business Clé en Main
Présentation du projet
FeatuRing est une solution innovante de business development prenant la forme d'une bague NFC sans contact. Conçue de l’idéation au prototype, cette bague carte de visite permet de partager vos coordonnées et supports professionnels (profil LinkedIn, site web, portfolio…) d’un simple geste, avant même que vos concurrents n’aient eu le temps de sortir leur carte.
Points forts
- Partage sans contact : transmission immédiate des informations dès qu’un appareil compatible NFC s’approche.
- Clé en main : bague prête à l’emploi, préprogrammée avec votre profil et vos liens.
- Design discret : esthétique et ergonomique pour un port quotidien confortable.
- Avantage concurrentiel : connexion rapide et marquante lors de vos échanges professionnels.
- Reprogrammable : mise à jour facile de vos données via une application smartphone ou une interface web.
Usage & déploiement
- Programmez votre profil via l’interface web ou l’app mobile.
- Portez la bague et approchez-la d’un smartphone ou terminal NFC.
- Vos correspondants sont redirigés automatiquement vers vos liens.
- Reprogrammez à volonté pour mettre à jour vos informations.
Server Ping Monitor with Discord Alerts
Présentation du projet
Un petit script Python qui pingue une liste de serveurs (adresses IP ou noms de domaine),
élit un leader (la machine dont l’IP active est la plus basse) et
envoie un webhook Discord avec mention @everyone
si un ou plusieurs
serveurs sont injoignables. Peut être planifié en tâche cron toutes les 5 minutes.
Fonctionnalités
- Ping parallèle de plusieurs hôtes
- Élection de leader automatique pour éviter les doublons de notifications
- Mention
@everyone
en cas de serveur DOWN
- Envoi de webhook Discord directement via URL (pas besoin de bot OAuth)
DNS-Drink-Name-Spinner
Présentation du projet
DNS-Drink-Name-Spinner est une application web interactive développée pour la buvette du BDE de l’école La Plateforme. Ce jeu de roue de la chance permet aux utilisateurs de faire tourner une roue affichant des boissons, des barres chocolatées ou un message "Perdu !".
Le projet a été conçu pour dynamiser les moments de convivialité à la buvette du BDE. Vous pouvez tenter votre chance ici :
Règles d’utilisation
- Cliquez sur le bouton pour lancer la roue.
- Attendez que la roue s’arrête automatiquement.
- Lisez la notification indiquant votre résultat.
- Si la case "Perdu" est sélectionnée, un message spécifique s’affichera.
- Le bouton de lancement est désactivé pendant la rotation pour éviter toute interruption.
Technologies utilisées
- HTML5 / CSS3 / JavaScript
- Git / GitHub pour la gestion de version
- Méthode Kanban via GitHub Projects pour le suivi du projet
Lien vers le projet sur Github
Map‑bad‑IP : Cartographie des IP malveillantes
Map‑bad‑IP est un projet open source de veille cyber permettant d’analyser la répartition géographique d’adresses IP suspectes. Il est conçu pour enrichir les activités de threat intelligence, OSINT et de veille en cybersécurité à partir d’une simple liste d’IP, grâce à la géolocalisation automatique et la visualisation finale sur une carte du monde.
Fonctionnalités principales
- Géolocalisation d’adresses IP : interroge des services comme
ipinfo.io
ou ip-api.com
pour récupérer la latitude, la longitude, la ville, la région et le pays associé à chaque IP.
- Génération de fichier enrichi : produit un CSV nommé
geo_enriched.csv
contenant toutes les informations géographiques liées aux IP.
- Agrégation par pays :
agg_by_country.csv
: liste brute du nombre d’IP par pays.
top_countries.csv
: classement des pays les plus représentés.
- Système de cache : enregistre les IP déjà traitées pour éviter les requêtes répétées et économiser les appels API.
- Visualisation finale : génère automatiquement une carte du monde illustrant la localisation des IP malveillantes.
Lien vers le projet sur Github
ClubCyber : Veille Automatisée en Cybersécurité et IA
ClubCyber est un outil de veille automatisée qui scrute chaque jour des sources spécialisées en cybersécurité et IA/LLM. Il utilise un agent Mistral pour générer des résumés, filtre les articles selon des mots‑clés, élimine les doublons et envoie jusqu’à 3 articles pertinents par jour via un webhook Discord.
Cahier des charges
- Objectif : automatiser la collecte, la synthèse et la diffusion d’articles de veille cyber/IA.
- Fréquence : exécution planifiée chaque jour à 6 h UTC via GitHub Actions.
- Sources : sites configurables (Korben, LeMondeInformatique, BleepingComputer, TheRegister, etc.).
- Extraction : parsing RSS prioritaire, fallback Newspaper3k si RSS indisponible.
- Filtres : mots‑clés génériques et critiques, double passe, contenu > 200 caractères.
- Déduplication : historique d’URLs dans
processed_articles.txt
et comparaison de titres.
- Résumé IA : appel à l’API Mistral pour synthèse en quelques phrases.
- Notification : envoi JSON à Discord via webhook, gestion des erreurs HTTP.
- Limite : maximum 3 articles envoyés par exécution, priorité aux plus pertinents.
- Logging & CI/CD : journalisation dans
App.log
, exécution cron via GitHub Actions, injection de secrets et push automatique des logs.
Fonctionnalités principales
- Configuration dynamique des sources via
SITES_SOURCES
.
- Double extraction : RSS → Newspaper3k.
- Filtrage avancé : mots‑clés, contenu, déduplication URL & titre.
- Synthèse IA avec agent Mistral.
- Multi‑threading pour traitement parallèle des sources.
- Limitateur à 3 articles max/jour.
- Historique persistant dans
processed_articles.txt
.
- Notification Discord via
send_to_discord()
.
- Automatisation complète avec GitHub Actions.
Lien vers le projet sur Github
Monitor‑PI
J'ai créé une interface web en temps réel pour surveiller les statistiques système d’un Raspberry Pi, avec analyse de paquets réseau et visualisation dynamique des métriques.
Fonctionnalités
- Suivi des températures : mesure et affichage en temps réel de la température du CPU et du GPU.
- Utilisation des ressources : surveillance de l'utilisation du CPU, du GPU et de la RAM.
- Débits réseau : affichage des vitesses d’upload et de download.
- Analyse de paquets : capture et inspection des paquets réseau via tshark.
- Graphiques interactifs : visualisation des données en temps réel avec Chart.js.
Technologies utilisées
- Backend : Python (Flask, psutil, subprocess).
- Frontend : HTML, CSS, JavaScript (Chart.js).
- Outils système : tshark pour la capture et l’analyse des paquets réseau.
Lien vers le projet sur Github
Scripts de Monitoring pour mon Réseau Local
J'ai développé un ensemble de scripts Bash pour surveiller et maintenir l'environnement de mon réseau local. Ces scripts automatisent des tâches telles que la mise à jour des systèmes AlmaLinux ou Raspberry Pi, la sauvegarde des appareils et des conteneurs Docker, et l'envoi d'alertes en temps réel via un webhook Discord.
Fonctionnalités
- Mises à jour système : automatise le processus de mise à jour pour AlmaLinux et Raspberry Pi.
- Sauvegarde : réalise des images de la carte SD des Raspberry Pi et des volumes Docker, avec notifications de succès ou d’échec sur Discord.
- Nettoyage : supprime automatiquement les fichiers de sauvegarde âgés de plus de 4 mois.
- Surveillance : effectue des vérifications périodiques et envoie un rapport d’état pour chaque système.
- Notifications Discord : envoie des mises à jour en temps réel à un canal Discord pour chaque tâche.
- Service Webhook : chaque serveur exécute un service qui transmet les statuts des scripts à Discord via un webhook dédié.
Lien vers le projet sur Github
Pwnagotchi - Création de l'outils IA pour la capture de Hanshake
J'ai construit un Pwnagotchi grâce à un raspberry pi 0wh et un ecran epeper (v4). Cet outils est conçu pour la capture des handshake sur les reseaux wifi. Avec un simple convertion du fichier contenant le handshake récuperé par le Pwnagotchi, on peut ainsi récuperer le mot de passe par une attack par dictionnaire ou bien par brute force, il existe d'ailleurs d'autres methodes.
Utilisations
- Exploration et analyse des reseau wifi
- Génération de capture reseau âr des fichier .pcap
- Possibilité e retrouver le mot de passe suivant une méthode spécifique
1. Serveur Raspberry Pi
Pour renforcer mes compétences en informatique, j'ai configuré un Raspberry Pi pour héberger plusieurs services essentiels à ma formation en administration de systèmes.
Caractéristiques
- Raspberry Pi 5
- 8 Go de RAM
- Processeur graphique intégré
Fonctionnalités
- Serveur VPN (OpenVPN)
- Hébergement de mes sites web
- Hébergement de mes "bot Discord & webhook" codé en Python (certains webhook sont en bash)
- Proxy Web pour redirection des requêtes spécifiques vers mon serveur de stockage
2. Serveur de Gestion et de Stockage
J'ai construit un serveur de stockage personnel pour améliorer mes compétences en administration de systèmes, notamment la gestion de données et la protection contre la perte de disque (RAID).
Caractéristiques
- Processeur i5 de 11e génération
- 16 Go de RAM
- 4 disques de 4 To configurés en RAID 6 (8TB)
- Deux disques SSD de 128 Go en RAID 1 pour le système
Fonctionnalités
- Serveur SAMBA et SFTP
- Serveur local pour de la diffusion de média (Serveur Plex)
- Serveur de gestion vidéo pour caméra de surveillance (Agent DVR)
3. Site Web Personnel
Un site web personnel présentant mes informations de contact et mon profil professionnel, incluant un lien vers mon CV et mes réseaux sociaux. Ce projet a également été intégré dans une carte NFC, permettant un accès instantané au site en approchant simplement la carte d'un smartphone compatible NFC.
Caractéristiques
- Téléchargement de mon CV
- Liens vers mes profils LinkedIn et GitHub
- Effets visuels dynamiques avec Particles.js
4. Camera Intérieure DIY
En utilisant un Raspberry Pi 3B et une caméra, j'ai créé une caméra de surveillance intérieure avec détection de mouvement via MotionEyeOS.
Caractéristiques
- Caméra à détection de mouvement
- Enregistrement et sauvegarde sur mon serveur de stockage
- Interface web accessible en réseau local
5. Flipper Zero - Exploration des Fréquences Radio
Le Flipper Zero est un outil polyvalent que j'utilise pour développer des compétences en radiofréquences, NFC, RFID, et autres technologies sans fil. Cela m'a permis de comprendre des protocoles de communication complexes utilisés dans la sécurité et les systèmes intégrés.
Compétences développées
- Manipulation des protocoles NFC et RFID
- Écoute et analyse des transmissions radio
- Exploration des communications infrarouges et des systèmes sans fil
6. HackRF One - Exploration du Spectre Radio
Avec le HackRF One, j'ai exploré un large éventail de fréquences radio pour étudier la capture et l'analyse des signaux sans fil. Ce projet m'a permis d'acquérir des compétences avancées en radio logicielle (SDR).
Utilisations
- Exploration et analyse du spectre radio
- Simulation de transmissions radio
- Capture et décodage de signaux pour des projets de sécurité
7. Chameleon Ultra - Émulation RFID
Grâce au Chameleon Ultra, j'ai amélioré mes compétences en émulation de dispositifs RFID, me permettant de tester des systèmes de sécurité physique et d'approfondir mes connaissances en sécurité des objets connectés.
Fonctionnalités
- Émulation de cartes RFID
- Analyse des systèmes de contrôle d'accès
- Simulation de dispositifs NFC
8. Localisateur d'IP en Python
Ce script Python permet de localiser une adresse IP en utilisant l'API gratuite de DbIpCity. Il fournit des informations sur la ville, la région et le pays associés à l'adresse IP, ainsi que les coordonnées géographiques.
Utilisation
- Exécutez le script.
- Entrez l'URL ou l'adresse IP que vous souhaitez localiser.
Dépendances
- Python 3.x
- ip2geotools
- geopy
9. Site Web pour des Étudiantes Créatrices de Bracelets
Site développé en Next.js pour permettre aux étudiantes de créer et vendre leurs propres bracelets artisanaux. Accessible sur clanilie-creation.littlestorm.eu.
Fonctionnalités
- Site vitrine
- Page de contact
10. Décodeur de Code Morse en Python avec Tkinter
Ce projet est un décodeur de messages en code Morse avec une interface graphique créée avec Tkinter. Les données de décodage sont chargées à partir d'un fichier JSON.
Utilisation
- Exécutez le script après avoir placé le fichier "Décodage.json" dans le même répertoire.
- Utilisez les boutons pour entrer le code Morse et le décoder.