Retour aux projets

Horas — Gestion du Temps

2025-10

Horas est une application de gestion du temps pensée pour accompagner le fonctionnement réel d’une organisation. Plannings, pointages, absences et suivi d’activité se retrouvent au même endroit, avec une distinction claire entre les besoins des employés et ceux des managers.

Mais derrière cette apparente simplicité se cache un enjeu plus intéressant : comment concevoir un outil suffisamment flexible pour s’adapter aux différentes réalités d’une entreprise, tout en restant simple à utiliser et fiable au quotidien ?

C’est autour de cette question qu’Horas a été conçu.

backendfullstackdevops
Horas — Gestion du Temps — image 1
1 / 11

Un système de gestion du temps pensé pour représenter les vraies contraintes d'une organisation.

Horas permet aux employés de pointer, consulter leurs horaires et gérer leurs absences, tandis que les managers pilotent leurs équipes, leurs plannings et leurs indicateurs.

Le projet m'a surtout amené à résoudre une question : comment représenter suffisamment de situations métier sans transformer le backend en accumulation de cas particuliers ?

Mon rôle
Backend — conception & implémentation
Équipe
4 développeurs
Stack
TypeScript · Express · Prisma · PostgreSQL
Frontend
Contribution UI & intégration
Contexte
Epitech · Architecte des SI

Ce que j'ai cherché à résoudre

01

Comprendre le besoin

Traduire les besoins métier en une structure suffisamment flexible pour représenter les situations réelles.

02

Préserver la cohérence

Garantir une logique cohérente à travers les différents concepts métier, du fonctionnement des pointages jusqu’à la gestion des droits et des autorisations par rôle.

03

Scalabilité

Conceptualiser une architecture et des systèmes scalables et maintenables tout au long du cycle de développement.

Le point technique qui m'a le plus intéressé

Comment faire évoluer plusieurs couches d'un backend sans recopier les mêmes structures partout ?

Horas utilise une hiérarchie de types et des projections typées toutes dépendantes de la couche Domaine pour faire remonter ces incohérences au compilateur.

1 définitionPrismaDomaineDTOcompilation
  • Une modification
  • Des erreurs ciblées
  • Pas de divergence silencieuse