Bonjour, je suis François, développeur web le jour, dompteur de bugs la nuit
Je transforme le code et le café en projets qui ont du sens.
Voir mes projetsMes projets
Not Another TodoList
Une todo-list moderne fonctionnant en web app ou en application desktop grâce à Express, React et Electron.
Not Another TodoList ™
Découvrez Not Another TodoList, une application de gestion de tâches polyvalente fonctionnant aussi bien comme application web que comme application desktop grâce à Electron.
Introduction
Ce projet explore une architecture complète combinant :
- Backend Express + SQLite avec validation via Zod
- Frontend React + TypeScript
- Version Desktop Electron intégrant sa propre base SQLite
Le tout propose une interface moderne avec thème clair/sombre et une liste animée pour une expérience fluide.
Technologies utilisées
Fonctionnalités principales
- CRUD complet des tâches (API REST ou IPC Electron)
- Ajout, édition, suppression et completion de tâches
- Thème clair/sombre
- Scroll automatique vers la nouvelle tâche
- Liste de tâches animée
- Compteur des tâches restantes
- Fonctionne en :
- Web app (React + Express)
- Desktop app (Electron + SQLite)
Points forts du projet
- Architecture modulaire (backend, frontend, desktop séparés)
- Validation robuste côté backend via Zod
- Expérience utilisateur fluide et moderne
- Projet idéal pour apprendre :
- Les API REST simples
- La communication frontend ↔ backend
- L’intégration Electron avec SQLite
Screenshot

Lien
Conclusion
Not Another TodoList démontre comment combiner React, Express, SQLite et Electron pour créer une application de tâches complète, fonctionnelle et multi-plateforme, le tout avec une interface agréable et réactive.
ExLibrisDomus
Application web complète pour gérer une bibliothèque personnelle, les emprunts et les étagères.
ExLibrisDomus
Découvrez ExLibrisDomus, une application web moderne pour gérer une bibliothèque personnelle et les emprunts.
Introduction
Cette application front-end est développée avec SvelteKit et TypeScript, tandis que le backend repose sur Express (JavaScript) et PostgreSQL via Sequelize.
Technologies utilisées
Fonctionnalités principales
- Gestion complète de livres, auteurs, catégories, emprunt de livre et étagères de rangement
- Ajout, modification et suppression de livres et auteurs
- Gestion du rangement et des emprunts
- Interface responsive et intuitive
- Historique des emprunts et disponibilités en temps réel
Points forts du projet
- Front-end moderne avec SvelteKit et TypeScript
- Backend Express (JavaScript) robuste et modulable
- Déploiement facilité via Docker
- API RESTful documentée avec Swagger
- Code maintenable et modulable
- Idéal pour apprendre à gérer des projets web complets avec bases de données relationnelles
Screenshot

Lien
Conclusion
ExLibrisDomus illustre comment combiner SvelteKit, TypeScript, Express et PostgreSQL pour créer une application web complète et robuste, avec gestion des livres et des emprunts, tout en restant modulable et déployable via Docker.
ChatForge
Un assistant intelligent basé sur l'IA pour générer du contenu et des conversations.
ChatForge
Découvrez ChatForge, un projet qui explore l'intégration de l'intelligence artificielle dans un assistant conversationnel.
Introduction
ChatForge est une application front-end développée avec Svelte. Elle permet de créer une interface de chat où l’utilisateur peut échanger avec une IA via l’API Mistral, tout en stockant les conversations localement avec PocketBase.
Technologies utilisées
Fonctionnalités principales
- Génération de texte via prompts
- Conversations interactives
- Intégration facile dans des projets web
Points forts du projet
- Utilisation de JavaScript moderne
- Code modulable et clair
- Idéal pour apprendre à manipuler des API d'IA
Screenshot

Lien
Conclusion
ChatForge illustre comment combiner JavaScript, API et intelligence artificielle pour créer des outils interactifs et utiles, tout en restant modulable pour d’autres projets web.
CalmCSS
Une base CSS minimaliste et accessible pour créer des sites élégants sans effort.
CalmCSS
Découvrez CalmCSS, une petite bibliothèque CSS pensée pour créer des interfaces web légères, élégantes et rapides à mettre en œuvre.
Introduction
CalmCSS a été conçue pour répondre à un besoin simple : offrir une base CSS minimaliste, sans classes, accessible et naturelle.
- Style simple, sans surcharge.
- Composants réutilisables basés sur des balises HTML5.
- Une approche minimaliste pour les développeurs front‑end qui veulent du CSS direct, sans framework lourd.
Technologies & usage
Fonctionnalités principales
- CSS sans classes : styles appliqués directement aux éléments HTML5.
- Variables CSS modernes : couleurs, typographie, espacements et transitions configurables.
- Mode sombre automatique selon les préférences du système.
- Menu mobile en pur CSS grâce à
<details>et<summary>. - Structure modulaire et responsive.
Points forts du projet
- Rapidité de chargement : taille ultra‑légère.
- Style cohérent et épuré.
- Accessible, fluide et facile à personnaliser.
Exemple de code
<link rel="stylesheet" href="calm.css">
<header><h1>Bienvenue sur mon site</h1></header>
<main>
<p>Un design simple, sans classes, directement sur vos balises HTML.</p>
</main>
Lien
Conclusion
CalmCSS montre qu’un bon design n’a pas besoin d’être complexe : avec du CSS léger et naturel, on obtient des interfaces élégantes, rapides et faciles à maintenir.
Mission Nombre
Un mini-jeu en JavaScript pour deviner un nombre mystère et progresser dans un univers ludique et animé.
Mission Nombre
Mission Nombre est un petit jeu éducatif développé en JavaScript, qui invite le joueur à deviner un nombre aléatoire entre 1 et 100.
Un projet simple, visuel et interactif, pensé pour allier apprentissage et plaisir.
Introduction
Le joueur doit entrer un nombre compris entre 1 et 100.
Le jeu indique ensuite si le nombre mystère est plus grand, plus petit ou trouvé, en affichant un message de félicitations en cas de réussite.
L’interface est composée d’un ciel en dégradé, de nuages animés, et d’un paysage fixe, offrant une expérience agréable et légère.
Technologies utilisées
Fonctionnalités principales
- Génération aléatoire d’un nombre entre 1 et 100
- Indications visuelles “C’est plus !” / “C’est moins !”
- Message de réussite et possibilité de rejouer
- Validation du nombre saisi (entre 1 et 100)
- Taille et position aléatoires des nuages
- Design responsive et fluide
Points forts du projet
- 100 % JavaScript pur sans framework
- Une interface animée et minimaliste
- Une approche ludique de la logique et des conditions
Évolutions envisagées
Ce projet a vocation à devenir une plateforme de mini-jeux éducatifs, permettant à l’utilisateur de passer d’un jeu à l’autre via une interface fluide (carrousel, onglets ou navigation dynamique).
Screenshot

Lien
Auteur
François
Licence
Projet libre à usage personnel et pédagogique.
À propos de moi
En reconversion pour devenir développeur fullstack , je me plonge dans le développement web avec curiosité et motivation, toujours désireux d’apprendre et de progresser chaque jour.
J'apprends en construisant : chaque projet de ce portfolio m'a permis de progresser sur une nouvelle stack ou de résoudre un problème concret . Du frontend au backend, je travaille sur tous les aspects d'une application web avec des technologies variées.
Toujours curieux et motivé à relever de nouveaux défis techniques, je cherche à construire des projets utiles et bien pensés .
Polyvalence
Frontend, backend et bases de données pour des projets complets
Innovation
Explorer de nouvelles technologies et trouver des solutions originales
Pragmatisme
Créer des applications fonctionnelles et efficaces, prêtes à l’usage