// projets personnels

Les projets personnels de Ritchie Dagonia

Je suis Ritchie Dagonia, 19 ans, développeur web front-end à Lyon, et voici quatre projets personnels que je fais avancer le soir et le week-end. Ils n'ont rien de spectaculaire, mais ce sont eux qui m'ont appris le plus, et qui m'ont donné la confiance nécessaire pour commencer à travailler aussi jeune. Pour chacun, je note l'objectif de départ, les technologies choisies, la difficulté rencontrée et ce que j'en retiens.

projet 01 · portfolio

Mon portfolio

Objectif

Avoir une page à moi, sans framework, qui se charge en une fraction de seconde et qui présente mon travail de façon sobre. Je voulais aussi un terrain de jeu pour tester les nouveautés CSS sans risquer de casser quelque chose d'important.

Technologies

HTML sémantique, CSS moderne (grille, variables, container queries) et zéro JavaScript. Les pages sont écrites à la main, versionnées avec Git et mises en ligne comme de simples fichiers statiques.

Difficulté rencontrée

Le plus dur a été de résister à l'envie d'en faire trop. Chaque animation supplémentaire, chaque effet au survol ajoutait du bruit. J'ai fini par supprimer la moitié de ce que j'avais construit, et la page en est ressortie plus claire.

Ce que j'en retiens

Un site sans dépendance vieillit très bien. Et l'exercice de tout faire en CSS pur m'a montré à quel point le langage est devenu puissant : beaucoup de choses pour lesquelles je sortais du JavaScript se font aujourd'hui en quelques lignes de style.

  • HTML
  • CSS
  • Git

projet 02 · météo

Une application météo

Objectif

Afficher la météo de l'endroit où je me trouve et des prévisions sur quelques jours, avec une interface qui reste lisible dehors, en plein soleil, sur un téléphone tenu d'une main.

Technologies

React avec TypeScript, une API publique de prévisions, et une couche CSS pilotée par des variables pour gérer un thème clair et un thème sombre selon l'heure de la journée.

Difficulté rencontrée

Gérer tous les états de l'interface : chargement, erreur, absence de connexion, permission de géolocalisation refusée. La version où tout va bien se code en une soirée ; les cas limites m'ont pris trois semaines.

Ce que j'en retiens

Une interface, c'est d'abord une liste d'états. Depuis ce projet, je commence par dessiner chaque état sur papier avant d'écrire le premier composant, et cela m'évite beaucoup de retours en arrière.

  • React
  • TypeScript
  • CSS

projet 03 · jeu

Un jeu de mémoire

Objectif

Recréer le jeu des paires de cartes, mais entièrement accessible : jouable au clavier, annoncé correctement par un lecteur d'écran, avec des animations qui respectent la préférence de mouvement réduit.

Technologies

JavaScript sans framework, animations CSS pour retourner les cartes en trois dimensions, attributs ARIA pour décrire l'état de chaque carte, et quelques tests de bout en bout pour vérifier qu'une partie se termine bien.

Difficulté rencontrée

Faire cohabiter une animation de retournement et une annonce vocale claire. Retourner une carte visuellement et dire « carte retournée, cœur » au bon moment demande de bien séparer l'état du jeu de son affichage.

Ce que j'en retiens

L'accessibilité n'est pas une couche qu'on ajoute à la fin. Quand elle est prévue dès le départ, elle rend le code plus propre, parce qu'elle oblige à nommer les choses et à décider qui fait quoi.

  • JavaScript
  • CSS
  • ARIA
  • tests

projet 04 · habitudes

Un outil de suivi d'habitudes

Objectif

Cocher chaque jour quelques habitudes (boire de l'eau, prendre le vélo, lire un peu de documentation) et voir la série en cours d'un coup d'œil, sans compte ni synchronisation.

Technologies

Vue avec TypeScript, stockage local dans le navigateur, et une petite grille CSS façon calendrier dont les cases changent de couleur selon la régularité.

Difficulté rencontrée

Les dates. Les changements d'heure, les fuseaux horaires et le passage à minuit m'ont fait perdre des séries entières pendant les tests. J'ai fini par ne manipuler que des chaînes de dates locales, sans heure du tout.

Ce que j'en retiens

Choisir un framework que je connais moins m'a forcé à relire la documentation au lieu de coder par réflexe. Et les dates restent le sujet le plus sournois du développement web, quel que soit l'outil.

  • Vue
  • TypeScript
  • CSS

Et la suite

Ces projets vivent dans un dépôt Git sur mon ordinateur et évoluent au fil de mes envies. Je ne les considère jamais tout à fait terminés : chaque nouvelle chose apprise me donne envie de revenir dessus, de simplifier un composant ou de corriger un détail d'accessibilité que je n'avais pas vu.

Si vous débutez, je vous conseille de faire pareil : choisir des projets petits, utiles pour vous, et les finir avant d'en commencer d'autres. C'est de cette manière que j'apprends le plus vite, bien plus qu'en accumulant des tutoriels. Pour en savoir plus sur ma façon de travailler au quotidien, retournez à la page d'accueil.

Le code de ces projets, quand il est présentable, est sur mon GitHub.