Chargement en cours

Développeur Backend junior H/F

LYON 3E, 69
il y a 13 heures
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.\n\n

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.\n\n

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.\n\nVos 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 (Reservation

    Service, Catalog

    Service, Audit

    Service) en Type

    Script 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).
  • Tickets Restaurant pris en charge à 60% par l'employeur (10€ par jour travaillé)
  • Abonnement TCL pris en charge à 100%
  • Mutuelle & Prévoyance
Compétences techniques requises pour le poste :
  • Node.js / Type

    Script : Bases solides en Java

    Script ES2022+, typage Type

    Script. 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 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.
Entreprise
TCL Relation Usagers
Plateforme de publication
JOOBLE
Offres pouvant vous intéresser
ÎLE- E FRANCE, FRANCE
il y a 6 jours
PARIS, 75
il y a 15 jours
PARIS, 75
il y a 27 jours
Soyez le premier à postuler aux nouvelles offres
Soyez le premier à postuler aux nouvelles offres
Créez gratuitement et simplement une alerte pour être averti de l’ajout de nouvelles offres correspondant à vos attentes.
* Champs obligatoires
Ex: boulanger, comptable ou infirmière
Alerte crée avec succès