diff --git a/course/05.IT_operations_and_automation-1.pdf b/course/05.IT_operations_and_automation-1.pdf
deleted file mode 100644
index 5b4e8f61d1a170ead9149ad34e4df799fbe03df5..0000000000000000000000000000000000000000
Binary files a/course/05.IT_operations_and_automation-1.pdf and /dev/null differ
diff --git a/course/06.Observability_monitoring_telemetry.pdf b/course/06.Observability_monitoring_telemetry.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..09461b5e6bde86dd13cf869e07785bd239ed1218
Binary files /dev/null and b/course/06.Observability_monitoring_telemetry.pdf differ
diff --git a/course/06.Observability_monitoring_telemetry.with_notes.pdf b/course/06.Observability_monitoring_telemetry.with_notes.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..c627fa42f9da3bc2e866c52ff70462446b3981ab
Binary files /dev/null and b/course/06.Observability_monitoring_telemetry.with_notes.pdf differ
diff --git a/labs/labo6_ansible/lab-ansible/ansible/playbooks/install_docker.yml b/labs/labo6_ansible/lab-ansible/ansible/playbooks/install_docker.yml
deleted file mode 100644
index cc02b1194286926631c47e107d14453f3f6105f8..0000000000000000000000000000000000000000
--- a/labs/labo6_ansible/lab-ansible/ansible/playbooks/install_docker.yml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-- name: Update apt cache
-  apt:
-    update_cache: yes
-
-- name: Install Docker dependencies
-  apt:
-    name:
-      - apt-transport-https
-      - ca-certificates
-      - curl
-      - gnupg
-      - lsb-release
-    state: present
-
-- name: Add Docker GPG key
-  apt_key:
-    url: https://download.docker.com/linux/debian/gpg
-    state: present
-
-- name: Add Docker repository
-  apt_repository:
-    repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
-    state: present
-
-- name: Install Docker
-  apt:
-    name: docker-ce
-    state: present
-    update_cache: yes
-
-- name: Start and enable Docker
-  systemd:
-    name: docker
-    state: started
-    enabled: yes
\ No newline at end of file
diff --git a/labs/labo6_ansible/lab-ansible/ansible/playbooks/kind-metallb.yml b/labs/labo6_ansible/lab-ansible/ansible/playbooks/kind-metallb.yml
index 94d93d8afa67373264ba03f166def29a91cb152b..b2a8e4c7d51128c713e335dbfd2564be62366a66 100644
--- a/labs/labo6_ansible/lab-ansible/ansible/playbooks/kind-metallb.yml
+++ b/labs/labo6_ansible/lab-ansible/ansible/playbooks/kind-metallb.yml
@@ -1,88 +1,111 @@
 ---
-- name: Provision KinD and deploy MetalLB
-  hosts: "{{ target_host | default('testserver') }}"
-  become: True
+- name: Provision KinD cluster and deploy a load-balanced app
+  hosts: testserver
+  become: true
+  vars:
+    kind_version: "v0.20.0"
+    kubectl_version: "stable"
+    metallb_version: "v0.13.7"
+    delete_existing_cluster: true  # flag pour option destroy cluster ou pas
 
   tasks:
-    - name: Install necessary packages
-      block:
-        - name: Update apt cache
-          apt:
-            update_cache: yes
-
-        - name: Install required packages
-          apt:
-            name:
-              - apt-transport-https
-              - ca-certificates
-              - curl
-              - gnupg
-              - lsb-release
-            state: present
-
-    - name: Install KinD
-      shell: |
-        curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
-        chmod +x ./kind
-        mv ./kind /usr/local/bin/kind
-      args:
-        creates: /usr/local/bin/kind
+    - name: S assurer que le repertoire de destinatin existe
+      file:
+        path: /home/terraform
+        state: directory
+        mode: '0755'
+
+    - name: Copier le fichier de configuration KinD
+      copy:
+        src: "manifests/kind-config.yaml"
+        dest: "/home/terraform/kind-config.yaml"
+      notify:
+        - Delete KinD cluster
+        - Create KinD cluster
+        - Install MetalLB
+        - Deploy HTTP-echo application
 
-    - name: Install Kubectl
+    - name: Supprimer le cluster KinD existant (si nécessaire)
       shell: |
-        curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
-        chmod +x kubectl
-        mv kubectl /usr/local/bin/kubectl
-      args:
-        creates: /usr/local/bin/kubectl
+        if kind get clusters | grep -q "kind"; then
+          kind delete cluster
+          sleep 30
+        fi
+      when: delete_existing_cluster  # destroy cluster si deja un présent
+      register: cluster_deletion
+      notify: Delete KinD cluster
 
-    - name: Configure KinD cluster
+    - name: Créer le cluster KinD
       shell: |
-        kind create cluster --name mycluster
-      args:
-        creates: /root/.kube/config
-
-    - name: Configure LoadBalancer service
-      block:
-        - name: Copy MetalLB configuration
-          copy:
-            src: files/metallb-native.yml
-            dest: /root/metallb-native.yml
-
-        - name: Apply MetalLB configuration
-          shell: |
-            kubectl apply -f /root/metallb-native.yml
-          args:
-            creates: /root/metallb-applied
-
-    - name: Check if KinD cluster exists
+        set -o errexit
+        cloud-init status --wait
+        sleep 30
+        kind create cluster --config /home/terraform/kind-config.yaml
+        sleep 30
+      register: kind_creation
+      ignore_errors: yes
+      notify: Create KinD cluster
+
+    - name: Copier le fichier de configuration MetalLB
+      copy:
+        src: "manifests/metallb-config.yaml"
+        dest: "/home/terraform/metallb-config.yaml"
+      notify: Deploy MetalLB configuration
+
+    - name: Installer MetalLB
       shell: |
-        kind get clusters | grep mycluster
-      register: kind_cluster_check
-      changed_when: false
-      failed_when: kind_cluster_check.rc != 0
+        cloud-init status --wait
+        kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.10/config/manifests/metallb-native.yaml
+        sleep 30
+        kubectl apply -f /home/terraform/metallb-config.yaml
+        sleep 30
+      register: metallb_deployment
+      ignore_errors: yes
+      notify: Deploy HTTP-echo application
+
+    - name: Copier le fichier de déploiement HTTP-echo
+      copy:
+        src: "manifests/lb-deployment.yaml"
+        dest: "/home/terraform/lb-deployment.yaml"
+      notify: Deploy HTTP-echo application
 
-    - name: Rebuild KinD cluster
+    - name: Déployer l'application HTTP-echo et le service LoadBalancer
       shell: |
-        kind delete cluster --name mycluster && kind create cluster --name mycluster
-      when: kind_cluster_check.rc != 0
-      notify: Rebuild KinD cluster
+        cloud-init status --wait
+        sleep 30
+        kubectl apply -f /home/terraform/lb-deployment.yaml
+        sleep 30
+      register: http_echo_deployment
+      changed_when: "'deployment.apps/http-echo' in http_echo_deployment.stdout"
+
+    - name: Debug HTTP-echo deployment
+      debug:
+        msg: "HTTP-echo deployment status: {{ http_echo_deployment.stdout }}"
 
+    - name: Debug MetalLB deployment
+      debug:
+        msg: "MetalLB deployment status: {{ metallb_deployment.stdout }}"
+
+    - name: Debug KinD cluster creation
+      debug:
+        msg: "KinD cluster creation status: {{ kind_creation.stdout }}"
+
+  handlers:
     - name: Delete KinD cluster
+      command: kind delete cluster
+
+    - name: Create KinD cluster
+      command: kind create cluster --config /home/terraform/kind-config.yaml
+
+    - name: Install MetalLB
       shell: |
-        kind delete cluster --name mycluster
-      tags: delete_cluster
-
-handlers:
-  - name: Rebuild KinD cluster
-    shell: |
-      kind delete cluster --name mycluster && kind create cluster --name mycluster
-
-  - name: Deploy MetalLB
-    shell: |
-      kubectl apply -f /root/metallb-native.yml
-    notify: Expose LoadBalancer IP
-
-  - name: Expose LoadBalancer IP
-    shell: |
-      socat TCP-LISTEN:80,fork TCP:$(kubectl get svc -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}'):80
\ No newline at end of file
+        kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.10/config/manifests/metallb-native.yaml
+        sleep 30
+        kubectl apply -f /home/terraform/metallb-config.yaml
+        sleep 30
+
+    - name: Deploy MetalLB configuration
+      command: kubectl apply -f /home/terraform/metallb-config.yaml
+
+    - name: Deploy HTTP-echo application
+      command: kubectl apply -f /home/terraform/lb-deployment.yaml
\ No newline at end of file
diff --git a/labs/labo6_ansible/lab-ansible/ansible/playbooks/main.yml b/labs/labo6_ansible/lab-ansible/ansible/playbooks/main.yml
deleted file mode 100644
index 7ec90bc1c28031adf21739a1704130d2d693716e..0000000000000000000000000000000000000000
--- a/labs/labo6_ansible/lab-ansible/ansible/playbooks/main.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- name: Complete setup and deployment
-  hosts: all
-  become: True
-  tasks:
-    - name: Include Docker installation tasks
-      include_tasks: install_docker.yml
-
-    - name: Include KinD and MetalLB provisioning tasks
-      include_tasks: kind-metallb.yml
-
-    - name: Include HTTP-Echo deployment tasks
-      include_tasks: deploy_http_echo.yml
\ No newline at end of file