E.S
Retour aux réalisations
Stage 2026

Stage — Gestion des clés des Andelys

Application Web interne pour tracer les remises et retours de clés, avec scan de codes, historique, dashboard et parcours mobile.

Compétences mobilisées — Bloc 1

Support et mise à disposition de services informatiques

C1

Gérer le patrimoine informatique

  • C1.1 Recenser et identifier les ressources numériques
  • C1.6 Vérifier le respect des règles d'utilisation des ressources numériques
C2

Répondre aux incidents et aux demandes d'assistance et d'évolution

  • C2.3 Traiter des demandes concernant les applications
C3

Développer la présence en ligne de l'organisation

  • C3.3 Participer a l'évolution d'un site Web exploitant les données de l'organisation
C4

Travailler en mode projet

  • C4.1 Analyser les objectifs et les modalites d'organisation d'un projet
  • C4.2 Planifier les activités
C5

Mettre a disposition des utilisateurs un service informatique

  • C5.2 Déployer un service
  • C5.3 Accompagner les utilisateurs dans la mise en place d'un service

Contexte

Le projet répond au besoin de la Mairie des Andelys de fiabiliser la remise de clés aux agents, prestataires et intervenants exterieurs. L'application remplace un suivi manuel par un parcours de scan ou de saisie, puis conservé la cle, l'emprunteur, les dates et le retour dans un historique.

Une interface mobile permet de réaliser les actions rapides au guichet. Le projet prend aussi en compte la protection des données : les informations de l'emprunteur restent dans les operations d'emprunt et ne sont pas gérées comme un annuaire de personnes.

Environnement technologique

React TanStack Start TanStack Router Prisma PostgreSQL Docker Code-barres / QR PWA mobile

Preuves

Captures et documents

obligatoire
Capture de la page de présentation de l’application interne de gestion des clés.
secteurs -> clés -> emprunts

Emprunt : cle, emprunteur, date_emprunt, date_retour, statut
Historique conservé après le retour
Ressources gérées et tracees par l'application.

Détails techniques

Scan ou saisie manuelle
  -> resolution de la cle / du trousseau
  -> vérification de la disponibilité
  -> enregistrement de la remise ou du retour
  -> mise à jour du dashboard
Parcours de traitement d'une remise et d'un retour par scan.
const agent = (input.agent ?? '').trim().slice(0, 120) || 'Agent non identifie'
await client.auditLog.create({
  data: {
    action: input.action,
    entite: input.entite,
    cible: input.cible.slice(0, 200),
    détails: input.détails?.slice(0, 500) || null,
    agent,
  },
})
Journalisation des opérations — src/server/keys.server.ts (extrait).