Résumé de section

  • << Voir le syllabus >>

  • Introduction au développement Web côté serveur et à Node.js

    Contenus

    • Évolution du développement Web côté serveur
    • Architectures client-serveur
    • Présentation des principaux frameworks Back-End
    • Introduction à Node.js
    • Installation de Node.js et npm
    • Présentation de TypeScript
    • Installation de NestJS CLI
    • Création du premier projet NestJS
    • Architecture générale d'une application NestJS

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • expliquer le rôle des frameworks de développement Web côté serveur ;
    • installer un environnement de développement Node.js ;
    • créer une première application NestJS ;

    comprendre l'organisation d'un projet NestJS

  • Architecture NestJS et TypeScript

    Contenus

    • Structure d'un projet NestJS
    • Modules
    • Contrôleurs
    • Services
    • Providers
    • Injection de dépendances
    • TypeScript avancé
    • Architecture modulaire

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • organiser une application selon l'architecture NestJS ;
    • développer des modules réutilisables ;
    • créer des contrôleurs et des services ;

    appliquer les principes de l'injection de dépendances

  • Développement d'API REST

    Contenus

    • Architecture REST
    • Routes
    • Requêtes HTTP
    • Réponses HTTP
    • DTO (Data Transfer Objects)
    • Validation des données
    • Pipes
    • Gestion des exceptions
    • Documentation avec OpenAPI (Swagger)

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • développer une API REST professionnelle ;
    • valider les données d'entrée ;
    • gérer les erreurs ;

    documenter automatiquement une API.

  • Accès aux bases de données

    Contenus

    • Introduction aux ORM
    • Prisma ORM
    • PostgreSQL
    • Modélisation des données
    • Opérations CRUD
    • Migrations
    • Transactions
    • Introduction à MongoDB

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • connecter une application à PostgreSQL ;
    • réaliser des opérations CRUD ;
    • gérer les migrations ;

    comprendre les différences entre SQL et NoSQL

  • Authentification et sécurité

    Contenus

    • Sécurité des API
    • JWT
    • Authentification
    • Autorisation
    • Guards
    • Passport
    • OAuth2
    • OpenID Connect
    • OWASP Top 10
    • Validation des entrées

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • sécuriser une API REST ;
    • implémenter JWT ;
    • protéger les ressources d'une application ;
    • appliquer les bonnes pratiques de sécurité.
  • Développement avancé d'API

    Contenus

    • Pagination
    • Filtrage
    • Tri
    • Recherche
    • Upload de fichiers
    • Gestion des fichiers
    • GraphQL (introduction)
    • WebSockets (introduction)

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • enrichir une API avec des fonctionnalités avancées ;
    • développer des services plus performants ;

    comprendre les principes de GraphQL et des communications temps réel

  • Tests et qualité logicielle

    Contenus

    • Tests unitaires
    • Tests d'intégration
    • Jest
    • Mocking
    • Couverture de code
    • Débogage
    • Qualité logicielle
    • Documentation technique

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • développer des tests unitaires ;
    • réaliser des tests d'intégration ;
    • améliorer la qualité du code ;

    produire une documentation technique

  • Conteneurisation et DevOps

    Contenus

    • Docker
    • Docker Compose
    • Variables d'environnement
    • Git
    • GitHub
    • GitHub Actions
    • CI/CD
    • Gestion des versions

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • conteneuriser une application NestJS ;
    • collaborer avec Git ;

    automatiser les tests et le déploiement avec GitHub Actions

  • Cloud et observabilité

    Contenus

    • Déploiement sur Azure App Service
    • Azure Container Apps
    • Monitoring
    • Logging
    • OpenTelemetry (introduction)
    • Application Insights (introduction)
    • Variables de configuration

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • déployer une application dans le Cloud ;
    • superviser une application en production ;
    • analyser les journaux d'exécution ;

    diagnostiquer les anomalies

  • Intelligence artificielle appliquée au développement Back-End

    Contenus

    • GitHub Copilot
    • ChatGPT
    • Microsoft Copilot
    • OpenAI API
    • Introduction à NestJS AI
    • Génération automatique de documentation
    • Génération de tests
    • Intégration d'un assistant conversationnel
    • Introduction au RAG

    Objectifs pédagogiques

    À la fin de cette semaine, l'étudiant sera capable de :

    • utiliser des assistants IA pour accélérer le développement ;
    • intégrer un modèle de langage dans une application NestJS ;
    • produire automatiquement de la documentation et des tests ;
    • développer une fonctionnalité intelligente basée sur un LLM.