TCL - Recrutement, Offres d'emploi, Dépôt de CVLogo TCL
Publiée le 30 septembre 2026 - Référence : 109740-0MhKOd

Développeur Backend junior

Lyon 3èmeCDD1 moisTCL Relation UsagersEn présentiel

Les missions du poste

Contexte :

Le pôle Communication de TCL Relation Usagers gère différents espaces pour déployer à la fois les campagnes de communication TCL et celles des partenaires TCL.​

Il existe 3 grands types d'espace : ​

  • Les epaces appartenant au réseau TCL. (Ex : les cadres A3 dans les rames de tram).​
  • Les espaces dont on peut bénéficier gratuitement à certain moment de l'année 
  • Les espaces payants 

​

Le Pôle Communication utilise actuellement un logiciel pour planifier la réservation des espaces d’autopromotion. Le contrat du logiciel arrive à échéance et celui-ci ne donnant pas pleinement satisfaction, TCL Relation Usagers a décidé de développer un logiciel de gestion des espaces.

 

Le projet est développé en 6 sprints agiles (85 jours calendaires).

En tant que développeur·se backend junior, vous travaillez, sous la responsabilité du développeur Fullstack Senior de la DSI, sur la construction de l'API REST, du moteur de réservation anticollision et de la migration des données depuis l'ancien système.

Vous serez rattaché au pôle Etude, Outils et Data de la Direction des Systèmes d’Information. 

 

Vous devrez respecter les différents standards, règles et procédures de la DSI TCL Relation Usagers (environnement de développement, sécurité, langage, etc..) fixés par le pôle Infrastructure Exploitation Supervision, Le développeur Fullstack Senior et l’architecte technique.

 

Vos missions seront :

1. Développement de l'API REST (Fastify + Node.js)

  • Implémenter les endpoints définis dans les contrats OpenAPI : catalogue de supports, réservations, projets, exports.
  • Écrire les services métier (ReservationService, CatalogService, AuditService) en TypeScript strict, selon les spécifications du Lead Développer.
  • Intégrer la validation des données entrantes via les schémas Zod partagés (package @paon/shared).
  • Documenter chaque endpoint dans l'annotation Fastify (génération OpenAPI automatique).

2. Base de données & Migrations Prisma

  • Écrire et appliquer les migrations Prisma (provider SQL Server — Azure Fabric) selon le schéma défini par le Lead Développer.
  • Rédiger des seeds idempotents pour les données de test (supports TCL fictifs, comptes de démonstration).
  • Optimiser les requêtes critiques (index, includes Prisma, pagination).

3. Système de verrous anticollision (Azure Managed Redis)

  • Implémenter le LockManager (commandes Redis SET NX EX, libération via script Lua) pour prévenir les doubles réservations simultanées.
  • Écrire les tests de concurrence Vitest : 10 requêtes simultanées sur le même créneau → exactement 1 doit réussir.

4. Sécurité & RGPD

  • Maintenir le middleware RBAC Fastify (5 rôles : PLANIFICATEUR, VALIDEUR, ADMIN, CATALOGUE_ADMIN, PARTENAIRE).
  • Veiller à ce que pino-redact masque automatiquement les champs sensibles (email, IP, Authorization) dans tous les logs.
  • Respecter les règles RGPD intégrées : jamais de données personnelles dans les JWT, rétention audit logs 5 ans.

5. Tests & qualité

  • Atteindre et maintenir une couverture de tests Vitest ≥ 70% sur le backend.
  • Respecter les conventions Git et de commit (commitlint, lint-staged, Husky) définies dans la charte de collaboration.
  • Participer aux code reviews et aux daily standups (9h15, 15 minutes maxi).
     

Le profil recherché

Compétences techniques requises pour le poste :

  • Node.js / TypeScript : Bases solides en JavaScript ES2022+, typage TypeScript. L'expérience Fastify est un plus, Express est acceptable.
  • Base de données relationnelle : Connaissance des concepts SQL : jointures, index, transactions. Prisma ou un autre ORM apprécié.
  • API REST : Comprendre les conventions REST, les codes HTTP, la pagination, la gestion des erreurs.
  • Git : Maîtrise des workflows Git (branches de feature, pull requests, résolution de conflits).
  • Docker : Savoir lire un docker-compose.yml et utiliser les commandes de base.
  • Tests : Avoir déjà écrit des tests unitaires (Jest, Vitest ou équivalent) — même en formation.

 

Compétences comportementales requises pour le poste :

  • Rigueur : Respecter stricts les standards du projet (lint, typage strict, format de commit) sans qu'on ait besoin de rappeler.
  • Proactivité et dynamisme : solliciter des précisions, confirmation et avis en cas de blocage ou doute.
  • Méthode : profiter des briefings journaliers avec le développeur Senior pour faire le point des actions réalisées la veille et celle à faire le jour même. 
  • Autonomie progressive : Capable de prendre en charge une user story complète (du schéma BDD au test) après une phase d'accompagnement de 2 semaines.
  • Curiosité technique : Intérêt pour les sujets abordés dans le projet : sécurité API, patterns anti-collision, RGPD by design.
     


Informations utiles

  • Tickets Restaurant pris en charge à 60% par l'employeur (10€ par jour travaillé)
  • Abonnement TCL pris en charge à 100%
  • Mutuelle & Prévoyance

TCL Relation Usagers a pour missions principales l'information voyageurs, la relation client, la communication, le marketing et la gestion de la billettique pour l'ensemble du réseau TCL.

TCL Relation Usagers participe à faire vivre les meilleures expériences de mobilité aux usagers du réseau TCL, en toutes circonstances.

Rejoignez nous et contribuez à améliorer la satisfaction de nos usagers !

Les étapes de recrutement

1

Mail confirmant la réception de votre candidature

2

Entretien RH

3

Entretien Manager

4

Retour sur l’issue du process de recrutement

Postuler en un clic

Cette offre vous intéresse ? Déposez votre candidature ici.

Charger mon CV