Je suis

Alexis CERDA DE ALMEIDA VILACA

et je suis en recherche d'une alternance. Passionné par le développement web, les applications Java et l'architecture logicielle. Sur cette page, tu trouveras mon CV et une sélection de mes projets.
Bienvenue sur mon portfolio !

À propos de moi

Je suis en 2ème année de BUT Informatique à l'IUT Nancy-Charlemagne.

Dans la perspective d'une poursuite d'études vers l'ingénierie ou la recherche en informatique, je me forge des compétences solides en développement logiciel et web avec différent frameworks.

En dehors de l'informatique, je nourris une passion particulière pour l'origami modulaire, une activité qui demande précision, patience et sens du détail.

Cette passion complète parfaitement mon approche du développement: construire, assembler, structurer et créer quelque chose de cohérent à partir d'éléments simples.

Portfolio

Mes Projets

Découvrez mes réalisations académiques et personnelles

Projets académiques

01

Station Blanche — Détection de menaces sur périphériques USB

CJava (Jakarta)Bash +3
Vidéo de démonstration À venir

Daemon système fonctionnant en arrière-plan, conçu pour l'analyse antivirale automatisée et en temps réel des périphériques USB.

Fonctionnalités principales :

  • Activation automatique à chaque connexion d'un périphérique USB
  • Mise à jour autonome des bases de signatures virales
  • Scan approfondi de chaque partition du périphérique
  • Alerte visuelle sur la machine en cas de détection et mise en quarantaine
  • Envoi automatique d'un rapport d'incident par e-mail aux administrateurs réseau

L'intégralité du système (paramétrage SMTP, réglages de l'analyseur C) est configurable via un fichier .ini.

C C Java (Jakarta) Java (Jakarta) Bash Bash Trellix ClamAV Cron
02

Dashboard Équipe — Gestion Collaborative

ReactSpring BootMySQL +1

Tableau de bord modulaire conçu pour s'adapter à tout contexte : aussi bien une équipe professionnelle, une organisation associative qu'un particulier souhaitant centraliser ses informations du quotidien. La philosophie du projet repose sur la simplicité d'usage et la personnalisation : chaque utilisateur active uniquement les widgets dont il a besoin. De nouveaux widgets sont prévus régulièrement pour enrichir l'expérience.

Widgets utilisateur :

  • Prêts de matériel — suivi des emprunts d'équipements avec dates de retour, statuts (en cours, en retard, rendu) et alertes visuelles.
  • Météo — intégration de l'API Open-Meteo (sans clé), avec température ressentie, humidité, vitesse du vent et prévisions sur 5 jours pour n'importe quelle ville.
  • Liste d'achat matériel — liste priorisée (haute / moyenne / basse) avec quantités, cases à cocher et barre de progression d'avancement.
  • Tâches à faire — attribution de tâches aux membres de l'équipe, avec priorité, catégorie, échéance et suivi de completion.
  • Départs / Arrivées / Stages — calendrier des événements de l'équipe (départ en congé, retour, stage) avec affichage chronologique et dates de début / fin.
  • Notes personnelles — bloc-notes intégré permettant de créer, modifier et supprimer des notes avec horodatage automatique.

Widgets admin :

  • Gestion des membres — ajout, recherche et suppression de membres avec rôle, email et affectation à un groupe.
  • Gestion des groupes — création de groupes colorés, liste repliable affichant les membres rattachés.

Architecture technique :

  • Frontend React — interface dynamique en composants, avec routage via React Router, gestion d'état et affichage conditionnel des widgets selon le profil utilisateur.
  • Backend Spring Boot — API REST exposant les endpoints pour chaque widget, gestion des utilisateurs et des rôles (admin / membre), persistance via Spring Data JPA / Hibernate.
  • Base de données MySQL — modèle relationnel stockant l'ensemble des données (membres, groupes, tâches, prêts, événements, notes), conçu pour s'adapter à plusieurs organisations indépendantes dans une même instance.
React React Spring Boot Spring Boot MySQL MySQL Tailwind CSS Tailwind CSS

Projets personnels

01

Simulateur de fractales

JavaJavaFXFXML
Vidéo de démonstration À venir

Application de visualisation interactive développée en JavaFX, permettant d'explorer et de manipuler différentes figures fractales en temps réel. L'utilisateur peut ajuster dynamiquement les paramètres de chaque fractale (niveau de récursion, dimensions, angle) pour en observer l'évolution.

Fractales prises en charge :

  • Flocon de Von Koch
  • Ensemble de Mandelbrot
  • Arbre de Pythagore
  • Tapis de Sierpiński
  • Courbe du Dragon

Le projet est structuré selon le patron d'architecture MVC (Modèle-Vue-Contrôleur), en s'appuyant sur les patrons de conception Stratégie et Observateur pour garantir une séparation claire des responsabilités et faciliter l'ajout de nouvelles fractales.

Java Java JavaFX JavaFX FXML FXML
02

Origami Shop

ReactViteTypeScript +2
Vidéo de démonstration À venir

Plateforme faussement e-commerce, surtout orientée vers l'apprentissage et la promotion de l'art de l'origami, pensée pour offrir une expérience utilisateur fluide et immersive. Le site combine habilement une boutique de créations physiques et une bibliothèque d'apprentissage.

Fonctionnalités principales :

  • Catalogue hybride interactif — Découverte de modèles d'origami à travers des tutoriels d'apprentissage détaillés (vidéos, matériels nécessaire) et achat direct de créations physiques.
  • Parcours client optimisé — Système de panier dynamique, ajout rapide sécurisé par une modale de confirmation, et espace utilisateur pour le suivi des commandes (MyOrders).
  • Panel administrateur sur-mesure — Interface de gestion complète et sécurisée permettant l'ajout, l'édition et la suppression des articles du catalogue en toute simplicité.
  • Design et micro-interactions — Interface soignée avec des retours visuels immédiats (Sonner), des transitions douces, et un widget interactif (CatWidget) pour une navigation plus chaleureuse et ludique.

Détails techniques :

  • Architecture frontend ultra-rapide et moderne propulsée par Vite et React 19.
  • Backend as a Service (BaaS) robuste géré par Supabase pour l'authentification et la base de données.
  • Développement fiable, évolutif et structuré en TypeScript.
  • Design épuré et complètement responsive conçu avec Tailwind CSS.
React React Vite Vite TypeScript TypeScript Tailwind CSS Tailwind CSS Supabase
03

Blind Test me

ReactNext.jsTypeScript +1
Vidéo de démonstration À venir

Application web interactive de blind test musical, pensée pour offrir une expérience fluide, nerveuse et hautement personnalisable. Le jeu se démarque par la richesse de ses paramètres et son interface soignée et réactive.

Fonctionnalités principales :

  • Modes de jeu variés — Du mode Classique (vies illimitées) à l'Ultra Hardcore (une seule vie, temps réduit pour répondre).
  • Modificateurs de partie — Altération de la musique en temps réel (Nightcore x1.5, Vaporwave x0.75), départ aléatoire de l'extrait, et "Mode Soirée" pour jouer à l'oral sans saisie au clavier.
  • Validation floue (Fuzzy Matching) — Système intelligent de tolérance aux fautes de frappe et d'orthographe mineures pour éviter toute frustration.
  • Système de score précis — Distinction entre la reconnaissance de l'œuvre globale (+20 points) et la précision du morceau exact, comme l'Opening ou l'Ending (+10 points).

Détails techniques :

  • Architecture moderne et performante basée sur Next.js et React 19.
  • Développement robuste et structuré en TypeScript.
  • Design immersif, complètement responsive et animé grâce à Tailwind CSS et Lucide React.
React React Next.js TypeScript TypeScript Tailwind CSS Tailwind CSS
04

Strinova Map Assistant

ReactTypeScriptVite +2
Vidéo de démonstration À venir

Outil web interactif conçu pour la planification stratégique et le partage de tactiques pour le jeu Strinova. Le projet permet de marquer dynamiquement des cartes, de placer des icônes de personnages et de visualiser des line-ups (compétences et grenades).

Note : Ce projet est un fork du travail original de ShrLeeKNsword. J'en assure la maintenance, l'amélioration de l'expérience utilisateur et l'internationalisation complète (notamment la traduction française).

Fonctionnalités :

  • Système de dessin interactif (pinceau, lignes, flèches) sur les maps
  • Drag & drop de personnages et d'objets sur le canvas
  • Générateur d'icônes de compétences et de trajectoires
  • Support multi-langue (Français, Anglais, Chinois, Japonais)
  • Export de stratégies sous forme d'images
React React TypeScript TypeScript Vite Vite Semi UI Canvas Canvas
05

DevineMoi

ReactTypeScriptVite +1
Vidéo de démonstration À venir

Application web interactive (jeu de société en ligne) de devinettes de mots en français. Le projet propose une expérience de jeu fluide où les joueurs doivent deviner des mots sélectionnés aléatoirement parmi une vaste base de données lexicale française.

Détails techniques :

  • Interface épurée et moderne utilisant les composants Semi UI
  • Gestion dynamique de dictionnaires de mots français
  • Architecture performante basée sur Vite et React 19
  • Développement robuste avec TypeScript pour une meilleure maintenabilité
React React TypeScript TypeScript Vite Vite Semi UI

Compétences

Icône React React
0%
Icône TypeScript TypeScript
0%
Icône Java Java
0%
Icône C C
0%
Icône Spring Boot Spring Boot
0%
Icône Express Express
0%