Intervenants

  • Hélène Coullon (RUE)
  • Dimitri Saingre

Vue d’ensemble

  • 16/09/2026
    • Introduction
    • Cours et tutoriel REST et OpenAPI
    • début du TP noté
  • 23/09/2026
    • Evaluation partie REST/OpenAPI
    • Cours et tutoriel GraphQL
    • Suite TP noté
  • 07/10/2026
    • Evaluation partie GraphQL
    • Cours et tutoriel gRPC
    • Introductions à MongoDB et JWT
    • Suite TP noté
  • 14/10/2026
    • Evaluation partie gRPC
    • Suite et fin TP noté (intégrer MongoDB et JWT)
  • 21/10/2026
    • présentation du sujet de projet et début des projets
    • évaluation orale TP noté
    • rendu Moodle
  • 04/11/2026, 25/11/2026, 02/12/2026, 09/12/2026 Projet (encadré par Dimitri Saingre)
  • 16/12/2026 évaluation orale du projet et rendu Moodle

REST

GraphQL

gRPC

MongoDB et JWT

Projet

Le projet vise à développer un backend (ou une application complète avec frontend - optionnel) sur le thème des déplacements multimodaux. À vous de choisir le spectre de votre application : Nantes, Bretagne, France, ou dans le monde. Pour cela il sera nécessaire d’interroger plusieurs APIs externes et de croiser les données: trains, bus, naolib, vélo perso, voiture et co-voiturage, moto, trottinnette, bâteaux etc. Il ne s’agit pas forcément de calculer l’itinéraire le plus direct, il faut penser aux connections, au trafic, aux conditions de sécurité etc. Vous pouvez même imaginer d’autres critères plus qualitatifs que quantitatifs sur les trajets à considérer. Laissez parler votre imagination pour une application originale (ou même farfelue) !

Votre application offrira elle même plusieurs micro-services (calculs diverses, comptes utilisateurs/préférences, gateway, etc.) avec leurs APIs correspondantes. Les APIs de votre application seront utilisées pour que les micro-services se parlent entre eux, et pour qu’un éventuel frontend ou utilisateur y fasse des requêtes. Pensez bien vos API et votre architecture !

  • Organisation : constituer des groupes de 4 ou 5 élèves
  • Contraintes
    • coder au moins 3 micro-services dans votre application avec au moins une API REST et une API GraphQL (gRPC non obligatoire)
    • coder au moins un micro-service dans un autre langage que Python (Go, Js, Ts, Java etc.)
    • utiliser des APIs externes pour obtenir des données pour votre application
    • votre application doit être dockerisée
    • fournir l’export Insomnia permettant de tester votre application (si vous n’avez pas fait de front)
    • bonus :
      • utilisation d’une base de données NoSQL (voir cours/tuto MongoDB plus bas) pour gérer les données des micros-services (cache, données calculées)
      • utiliser un broker de messages (MQTT, RabbitMQ, Kafka ou autre) dans votre application pour gérer des événements ou messages asynchrones ou un cache de données des APIs externes
      • coder une API gRPC (voir cours/tutoriel proposé plus bas)
      • coder un frontend en ANGULAR ou REACT ou autre techno

Evaluations

  • Evaluation orale TP noté - 10 minutes par groupe
    • contexte de la présentation : le groupe et les enseignants seulement
    • préparer une démonstration de votre TP MIXTE dockerisée et utilisant MongoDB
      • dérouler les tests insomnia avec un scénario logique d’utilisation de l’application
    • questions/réponses
  • Evaluation orale projet - 15 minutes par groupe
    • contexte de la présentation : devant toute la classe
    • présenter avec des slides votre projet et l’architecture de votre application avec les différentes API et langages utilisés
    • présenter votre application à travers une démonstration