portfolio
Evan Delepine — BUT Informatique · IUT de Lille
html/css/js
14:37
./evan_delepine
Étudiant BUT Informatique · IUT de Lille · Lille
Photo de profil
Evan.jpg
Présentation

Passionné par les systèmes UNIX et les réseaux, j'aime comprendre comment fonctionnent nos machines en profondeur. J'installe et je gère mes propres serveurs, et j'utilise Gentoo Linux au quotidien sur mon poste principal. Cela me permet de configurer mon système de A à Z et de maîtriser tout ce qui tourne sur ma machine. Mon but est de devenir administrateur système ou de travailler dans le support utilisateur, pour lier cette passion technique au quotidien.

Je cherche toujours à optimiser mon espace de travail pour être efficace : chaque outil, raccourci clavier ou configuration est ajusté pour aller plus vite et éviter le superflu. C'est pour ça que je préfère les environnements minimalistes (comme les gestionnaires de fenêtres par pavage) et les outils où je garde le contrôle sur l'ensemble de la chaîne, du code à la publication.

Centres d'intérêt professionnels
  • Systèmes UNIX / Linux
  • Architectures réseaux
  • Administration système
  • Support utilisateur
Projet professionnel

Recherche d'un contrat d'alternance pour la troisième année du BUT, axé sur l'administration système Linux/UNIX et le support aux utilisateurs.

Secteurs ciblés Lille · Villeneuve d'Ascq · Valenciennes

Poursuite d'études après le BUT ou insertion professionnelle directe selon les opportunités.

Formation
2024 – présent

BUT Informatique — IUT de Lille

Approfondissement en développement logiciel, systèmes et réseaux.


2021 – 2024

Baccalauréat Général — Lycée Henri Wallon, Valenciennes

Spécialités NSI (Numérique et Sciences Informatiques) et Mathématiques.

Technologies & outils (aperçu)
Java C Python Shell / Bash elisp Linux Git Maven SSH Debian Emacs Active Directory Systemd Matrix

Projets

~/projets

Cliquez sur un projet pour en voir le détail, ou naviguez depuis le menu.

01
Labyrinthe des dys-parus
S1 · SAÉ 1.01 & 1.02 · Groupe de 4 personnes
Java JavaFX Git / Maven
02
Mise en place d'un serveur Matrix
S3 · SAÉ 3.03 (Réseau) · Groupe de 3 personnes
Debian Matrix / Synapse Nginx / SSH
03
Script de déploiement Dolibarr
S3 · SAÉ 3.03 (Système) · Groupe de 2 personnes
Shell / Bash Podman Traefik PostgreSQL
04
Blog technique — blog.evand.dev
S4 · Projet personnel · Individuel
Emacs / Org-mode HTML / CSS Git / Pages
05
Installation de poste (Gentoo)
S1 - S4 · Projet personnel · Individuel
Gentoo Linux Suckless (dwm/st) Systemd / Bash

Labyrinthe des dys-parus

~/projets/01 GitHub
Cadre
SAÉ · Semestre 1
Mode de travail
Groupe de 4 personnes
Période
Octobre – Novembre 2024
Technologies
Java JavaFX Git Maven
Contexte & objectifs

Dans le cadre d'une SAÉ en groupe, on a développé un jeu de labyrinthe en Java. Le but était de coder un générateur de labyrinthes (parfaits et imparfaits) en utilisant des algorithmes comme le parcours en profondeur (DFS). On a aussi créé une interface graphique avec JavaFX et intégré trois modes de jeu : solo, coopération et jeu libre.

Votre rôle personnel

Sur ce projet, on a travaillé à quatre. Cela a demandé du travail d'équipe : nous avons dû nous répartir le code (comme séparer la logique du labyrinthe de l'affichage JavaFX) et tout fusionner sur Git en résolvant les conflits ensemble. De mon côté, je me suis occupé de la gestion des entrées clavier avec JavaFX pour rendre les déplacements du joueur et de la caméra fluides, ce qui a demandé de la rigueur pour que mes ajouts de touches clavier ne cassent pas le pattern MVC du projet. J'ai aussi codé le module de chargement des textures graphiques (les portes, les murs, les éléments interactifs) et j'ai dû faire preuve de résolution de problèmes pour corriger un bug où le joueur traversait les textures de portes en retraçant pas à pas la détection des collisions.

Résultats obtenus

On a obtenu un jeu jouable en solo et à deux joueurs en coopération. L'interface permet de choisir la taille et la complexité du labyrinthe. Pour la partie conception, on a réalisé des diagrammes de classes UML pour documenter la structure du code.

Figure 1 : Mouvements à travers le labyrinthe

Compétences développées
Hard skills
Programmation orientée objet (Java) Conception d'interfaces (JavaFX) Algorithmique & Design Patterns Gestion de version (Git) Build Maven & UML
Soft skills
Travail d'équipe Rigueur Résolution de problèmes
Analyse réflexive
Ce projet m'a permis de travailler sur un code de taille moyenne en appliquant les notions de programmation orientée objet et les principes SOLID.

La plus grande difficulté a été de gérer correctement les entrées clavier sous JavaFX. Il a fallu utiliser `consume()` sur les événements pour éviter des déplacements involontaires de la caméra en même temps que le joueur. Ça m'a obligé à bien fouiller la documentation de JavaFX.

Mise en place d'un serveur Matrix

~/projets/02 GitHub
Cadre
SAÉ 3.03 · Semestre 3
Mode de travail
Groupe de 3 personnes
Période
Novembre – Décembre 2025
Technologies
Debian Matrix / Synapse Nginx SSH / Port forwarding PostgreSQL
Contexte & objectifs

L'objectif de cette SAÉ était de déployer et configurer un serveur de messagerie décentralisé et sécurisé Matrix (via Synapse) sur une machine Debian. On devait mettre en place le client web Element pour les utilisateurs, sécuriser les accès et documenter toute la configuration.

Votre rôle personnel

Je me suis occupé de la sécurisation des connexions à la VM en configurant des redirections de ports et des tunnels SSH (local forwarding). Ce projet a demandé du travail en équipe car nous devions nous coordonner en continu pour que ma configuration Nginx concorde parfaitement avec l'installation de Synapse faite par mon camarade. J'ai aussi configuré le reverse proxy Nginx pour servir le client statique Element Web et rediriger les requêtes API vers le serveur Matrix/Synapse, et j'ai connecté Synapse à la base de données PostgreSQL. Cela a demandé de la rigueur, notamment pour isoler nos identifiants de base de données dans des fichiers d'environnement séparés afin de ne pas les pousser par erreur sur notre dépôt GitHub public.

Résultats obtenus

Le serveur Matrix et le client Element Web sont pleinement opérationnels. Tout le trafic passe par Nginx de façon sécurisée, et nous avons rédigé un journal de bord détaillé qui explique toutes nos étapes d'installation et de configuration système.

Figure 2 : Écran de connexion de Element

Compétences développées
Hard skills
Administration système (Debian) Configuration Reverse Proxy (Nginx) Sécurisation réseau (Tunnels SSH, Port forwarding) Déploiement d'applications fédérées PostgreSQL & SystemD
Soft skills
Travail en équipe Rigueur
Analyse réflexive
Ce projet m'a montré comment installer des services web interconnectés tout en faisant attention à la sécurité des accès.

La principale difficulté a été de configurer Nginx pour qu'il gère correctement les appels CORS et transmette les bons en-têtes (comme `X-Forwarded-For`) sans casser la connexion entre Element Web et Synapse. J'ai dû faire pas mal de tests sur les blocs location de Nginx pour résoudre cela.

Script de déploiement Dolibarr

~/projets/03 GitHub
Cadre
SAÉ 3.03 · Semestre 3
Mode de travail
Groupe de 2 personnes
Période
Mars 2026
Technologies
Shell / Bash Podman Traefik PostgreSQL
Contexte & objectifs

Le but de cette SAÉ était d'automatiser le déploiement d'instances Dolibarr pour plusieurs clients sur un serveur Debian. On a créé un script principal `INSTALL.SH` qui installe tout automatiquement : des conteneurs Podman pour chaque client, des bases PostgreSQL séparées, et Traefik comme reverse proxy avec gestion du HTTPS.

Votre rôle personnel

Je me suis principalement occupé d'écrire le script de sauvegarde (`BACKUP.SH`). Il effectue les sauvegardes (dumps SQL) de PostgreSQL et les transfère de manière sécurisée vers une machine distante de stockage. Pour notre collaboration, on a défini une politique de branches Git stricte pour éviter d'écraser le travail de l'autre sur les scripts d'installation. J'ai aussi modifié `DOLIBARR.SH` pour pouvoir choisir la version de Dolibarr à installer. Ce projet a demandé de la rigueur : j'ai restreint les permissions d'accès au fichier de configuration de PostgreSQL pour sécuriser les sauvegardes. Enfin, j'ai fait de la résolution de problèmes en corrigeant un bug où les sauvegardes SQL échouaient silencieusement, en ajoutant des vérifications du code de retour de chaque commande intermédiaire.

Résultats obtenus

On a obtenu un script qui configure tout en une seule commande. Chaque client a son sous-domaine géré dynamiquement par Traefik, ses données sont isolées, et les sauvegardes sont lancées automatiquement toutes les nuits avec cron et rsync.

Figure 3 : Instance fonctionnelle de Dolibarr

Compétences développées
Hard skills
Scripting Shell (Bash) Virtualisation légère (Podman) Reverse Proxy (Traefik) Administration PostgreSQL Sauvegardes (rsync, cron)
Soft skills
Collaboration Rigueur Résolution de problèmes
Analyse réflexive
C'est ce projet qui m'a vraiment donné envie de m'orienter vers l'administration système. J'ai beaucoup aimé l'aspect automatisation et gestion de services conteneurisés.

La principale difficulté a été de rendre le script de sauvegarde robuste : il fallait s'assurer qu'aucun fichier ne soit corrompu et que le script s'arrête proprement en cas d'erreur. J'ai résolu cela en testant systématiquement les codes de retour (`exit status`) de chaque commande dans `BACKUP.SH`.

Blog technique

~/projets/04
Cadre
Projet personnel
Mode de travail
Individuel
Période
Avril 2026 – en cours
Technologies
Emacs / org-mode org-publish HTML / CSS GitHub Pages yasnippet
Contexte & objectifs

J'ai créé mon blog technique (blog.evand.dev) pour partager mes notes, mes configurations et mes projets. Je rédige mes articles en Org-mode dans Emacs, puis ils sont exportés automatiquement en HTML avec `org-publish` et publiés sur GitHub Pages sous mon propre nom de domaine.

Votre rôle personnel

J'ai géré ce projet en totale autonomie de A à Z, en apprenant seul à configurer org-publish et à lier mon nom de domaine DNS sans aide extérieure. J'ai écrit la feuille de style CSS à la main (pour avoir un thème clair sobre et lisible), configuré le script Emacs Lisp pour l'exportation automatique et créé des snippets avec `yasnippet`. Ce projet m'aide pour ma communication écrite car rédiger des articles techniques m'oblige à expliquer clairement mon workflow pour qu'il soit compréhensible par tous. Cela demande aussi de la rigueur : je teste toujours la génération HTML et le rendu visuel en local avant de pousser mes articles sur GitHub Pages.

Résultats obtenus

Le blog est en ligne avec mes premiers articles (sur la création du CSS, LaTeX et le fonctionnement du blog). Mon workflow est très simple : je tape mon texte dans Emacs, je lance la publication et je pousse sur Git. Le site se met à jour tout seul en quelques minutes.

Figure 4 : Page d'accueil du blog

Compétences développées
Hard skills
Emacs / org-mode avancé CSS from scratch Déploiement GitHub Pages Automatisation (yasnippet, org-publish)
Soft skills
Autonomie Communication écrite Rigueur
Analyse réflexive
Ce projet m'a permis de lier ma passion pour la configuration d'outils à un projet concret qui me sert à documenter mon apprentissage.

Je savais déjà faire du CSS, mais ce projet m'a surtout permis de comprendre comment rendre une page web agréable à lire. Mon CSS a été pensé dès le départ pour être très sobre et lisible. Avec le recul, j'aurais dû structurer mes variables CSS de couleurs dès le départ : cela m'aurait évité de devoir modifier manuellement des dizaines de lignes de code lorsque j'ai ajusté le contraste du texte.

Pour la suite, je prévois de continuer à l'alimenter en écrivant sur tout ce qui touche à l'informatique et aux workflows, et de pratiquer davantage Emacs pour personnaliser mon environnement.

Installation de poste (Gentoo)

~/projets/05 GitHub
Cadre
Projet personnel & SAÉ
Mode de travail
Individuel
Période
Depuis Septembre 2024
Technologies
Gentoo Linux SystemD Linux Suckless
Contexte & objectifs

J'ai voulu aller plus loin dans ma connaissance de Linux en installant Gentoo sur mon ordinateur personnel. C'est une distribution où tout est compilé à partir des sources, ce qui oblige à comprendre comment le système est construit et comment ses composants s'articulent.

Votre rôle personnel

J'ai géré l'installation et la configuration de Gentoo de A à Z en totale autonomie, en suivant et adaptant la documentation d'installation officielle à mon ordinateur personnel. J'ai réalisé le partitionnement des disques, la compilation manuelle du noyau, la configuration de systemd et du chargeur de démarrage UEFI (sans utiliser GRUB). J'ai fait face à de la résolution de problèmes : lorsque le système a refusé de démarrer après compilation, j'ai dû analyser les erreurs EFI pour trouver le pilote manquant. Cela a demandé beaucoup de persévérance car j'ai passé plusieurs jours à recompiler et ajuster mon noyau pour avoir un système stable avec toutes mes touches de raccourci fonctionnelles.

Résultats obtenus

J'utilise maintenant ce système au quotidien pour mes cours et mes projets. Le système est très léger (moins de 150 Mo de RAM utilisés au démarrage). J'ai pu compiler un noyau Linux sur mesure adapté à mon matériel et j'ai appris à gérer finement les dépendances des paquets avec Portage.

Figure 5 : Aperçu des informations système sous Gentoo avec fastfetch

Compétences développées
Hard skills
Administration système Linux Compilation noyau SystemD Gestion de paquets source
Soft skills
Autonomie Résolution de problèmes Persévérance
Analyse réflexive

Installer Gentoo m'a permis de bien comprendre comment un système d'exploitation démarre et fonctionne. Contrairement aux distributions classiques où tout est automatique, j'ai dû tout configurer manuellement : le partitionnement GPT, le bootloader UEFI (via systemd-boot), et l'initialisation des services avec systemd. Ça m'a rendu beaucoup plus autonome pour diagnostiquer des erreurs et lire les logs système (`journalctl`) lors de soucis de pilotes ou de démarrage.

Avec le recul, j'aurais dû utiliser le noyau précompilé officiel (`gentoo-kernel-bin`) au début pour avoir un système stable rapidement. Configurer et compiler le noyau entièrement à la main dès le premier jour m'a fait perdre beaucoup de temps en résolvant des problèmes de pilotes WiFi et audio manquants.

Analyse réflexive

~/reflexion
Évolution S1 → S4

Quand j'ai commencé le BUT, je pensais surtout faire du réseau. Mais au fil des semestres, et surtout grâce aux projets pratiques d'administration système (déploiement de conteneurs pour plusieurs clients, automatisation de sauvegardes, configuration de serveurs), je me suis rendu compte que c'était l'administration système qui me plaisait le plus. C'est ce qui m'a donné envie de m'orienter vers ce domaine pour mon futur métier.

Ce que ces deux ans m'ont appris

Ces deux années m'ont permis de structurer ce que j'apprenais seul et d'acquérir de vraies méthodes de travail. J'ai appris à travailler en équipe avec Git, ce qui n'est pas toujours simple au début. Le BUT a confirmé mon goût pour les systèmes et réseaux : j'ai appris à configurer des serveurs, à sécuriser des flux réseau et à apprécier le fait de rendre un système propre, stable et automatisé.

Mes points forts
  • À l'aise sous Linux (Debian, Gentoo) et dans la gestion de services système.
  • Organisation de mon espace de travail pour être efficace (raccourcis, automatisation avec Emacs).
  • Habitude d'écrire des documentations claires et de tenir un blog technique pour noter ce que j'apprends.
Mes axes d'amélioration
  • Faire attention à ne pas passer trop de temps à peaufiner la configuration de mes outils au détriment du reste.
  • M'adapter plus rapidement aux outils ou environnements imposés en groupe ou en entreprise.
  • Affiner mes choix de spécialisation pour la suite de mes études en administration système.
Perspectives

Pour la suite de mon parcours, mes projets dépendent de la recherche d'alternance pour la troisième année :

Si je trouve une alternance : Je souhaite m'investir dans l'entreprise pour cette dernière année de BUT, avec l'objectif de poursuivre sur un CDI si l'opportunité se présente.

Si je ne trouve pas d'alternance : Je compte poursuivre mes études après le BUT en Master orienté administration système, réseaux ou support utilisateur pour approfondir mes compétences.

Contact

~/contact
Disponibilités

Disponible à partir de septembre 2026 pour un rythme d'alternance BUT 3 (métropole lilloise ou région Nord).

Evan Delepine — BUT Informatique · IUT de Lille ~/ @contact · 2026