<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Partie 3 : Conteneurs et API :: Teknolabs</title>
    <link>https://teknolabs.net/courses/devops-cloud/partie-3-conteneurs-api/index.html</link>
    <description>Produire des images Docker petites et sûres, puis une API robuste et testée qui sert de fil conducteur aux parties suivantes.&#xA;TP Outil(s) Approche TP7 Docker, Compose, Buildx Images multi-stage non-root, HEALTHCHECK, pile app + PostgreSQL + Adminer, images multi-architecture TP8 Express, Zod, Vitest API sécurisée (validation, erreurs centralisées, Helmet, rate limiting, OWASP API Top 10) et testée (Supertest, intégration PostgreSQL) Prérequis : VM de lab de la partie 2 (Ubuntu 26.04, Docker).</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://teknolabs.net/courses/devops-cloud/partie-3-conteneurs-api/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TP7 : Docker avancé et Docker Compose (multi-stage, non-root, PostgreSQL)</title>
      <link>https://teknolabs.net/courses/devops-cloud/partie-3-conteneurs-api/tp7-docker-compose/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teknolabs.net/courses/devops-cloud/partie-3-conteneurs-api/tp7-docker-compose/index.html</guid>
      <description>Vous savez déjà lancer un conteneur et écrire un Dockerfile simple (TP4, partie 4). Ce TP vous apprend à produire des images petites, reproductibles et sûres, puis à décrire une application complète (application + base de données + outil d’administration) avec Docker Compose.&#xA;Fichiers de départ : app-starter.zip&#xA;1. Objectifs pédagogiques À l’issue du TP, vous serez capable de :&#xA;expliquer le rôle des couches et du cache dans un build Docker ; écrire un Dockerfile multi-stage avec un .dockerignore, un utilisateur non-root et un HEALTHCHECK ; mesurer et comparer la taille, le temps de build et le nombre de vulnérabilités de deux images ; décrire une pile Compose avec réseaux, volume nommé, healthcheck, depends_on et fichier .env ; construire une image multi-architecture (amd64 / arm64) avec Buildx. Les images de cette page sont des schémas explicatifs, pas des captures d’écran.</description>
    </item>
    <item>
      <title>TP8 : API Express sécurisée et testée (Zod, Helmet, rate limiting, Vitest)</title>
      <link>https://teknolabs.net/courses/devops-cloud/partie-3-conteneurs-api/tp8-api-express-tests/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teknolabs.net/courses/devops-cloud/partie-3-conteneurs-api/tp8-api-express-tests/index.html</guid>
      <description>Une API exposée sur un réseau reçoit n’importe quoi : champs manquants, types inattendus, JSON cassé, scripts, tentatives d’injection SQL, rafales de requêtes. Ce TP part d’une petite API de formulaire de contact volontairement fragile et la rend robuste, puis prouve cette robustesse par des tests automatisés que la CI pourra exécuter.&#xA;Fichiers de départ : api-starter.zip&#xA;1. Objectifs pédagogiques À l’issue du TP, vous serez capable de :&#xA;situer les risques d’une API à l’aide de l’OWASP API Security Top 10 ; valider strictement les entrées avec Zod et uniformiser les erreurs avec un middleware d’erreur centralisé ; ajouter les headers de sécurité (Helmet), limiter la taille des requêtes et le débit (rate limiting) ; écrire des tests de routes avec Vitest + Supertest, y compris des cas négatifs (injection, entrées malformées) ; écrire un test d’intégration contre un vrai PostgreSQL lancé avec Docker Compose, et appliquer des migrations. Les images de cette page sont des schémas explicatifs, pas des captures d’écran.</description>
    </item>
  </channel>
</rss>