diff --git a/Logiciel/Firmware_testeur/Drivers/rj45.c b/Logiciel/Firmware_testeur/Drivers/rj45.c
index 7102c708d962e7b5cc2c444a4d0eef3a778d35ff..413b84cb5a5edbf1ea486d4ddf0847518827b039 100644
--- a/Logiciel/Firmware_testeur/Drivers/rj45.c
+++ b/Logiciel/Firmware_testeur/Drivers/rj45.c
@@ -8,6 +8,7 @@
 #include "rj45.h"
 
 // Fonctions publiques
+
 void RJ45_Entree_init               (RJ45_Entree* connecteur,
                                      RJ45_Entree_lireBroche_ptr lireBroche) {
         connecteur->lireBroche_ = lireBroche;
diff --git a/Logiciel/Firmware_testeur/Drivers/rj45.h b/Logiciel/Firmware_testeur/Drivers/rj45.h
index 1a2acce4d03b1e555014eafdd0bbaf85bf617db6..5b764ede3330b73fac9df9e6e32bf5b5712794ee 100644
--- a/Logiciel/Firmware_testeur/Drivers/rj45.h
+++ b/Logiciel/Firmware_testeur/Drivers/rj45.h
@@ -19,34 +19,92 @@
 #define RJ45_BR_7   6
 #define RJ45_BR_8   7
 
-// États logiques
+/*
+ * @brief États logiques
+ */
 typedef enum {
         RJ45_BAS    = 0,
         RJ45_HAUT   = 1,
         RJ45_ERREUR
 } RJ45_Etat;
 
-// Pointeurs de fonctions abstraites
-typedef RJ45_Etat   (*RJ45_Entree_lireBroche_ptr  ) (void*, int numeroBroche);
-typedef void        (*RJ45_Sortie_ecrireBroche_ptr) (void*, int numeroBroche, RJ45_Etat niveauLogique);
+/*
+ * @brief Prototype des fonctions de lecture et écriture des broches
+ *          Chaque fonction est implémentée dans une classe enfant 'Port'.
+ *          Elle contient le code spécifique au matériel permettant de régler l'état
+ *          d'un segment (par exemple un appel au HAL GPIO du MCU).
+ *
+ * @param void*         connecteur      L'objet "self" de la fonction (ici un RJ45)
+ * @param int           numeroBroche    Broche à lire/écrire
+ * @param RJ45_Etat     niveauLogique   État (allumé/éteint) sur lequel régler le segment.
+ */
+typedef RJ45_Etat   (*RJ45_Entree_lireBroche_ptr  ) (void* connecteur, int numeroBroche);
+typedef void        (*RJ45_Sortie_ecrireBroche_ptr) (void* connecteur, int numeroBroche,
+                                                     RJ45_Etat niveauLogique);
 
 // Structures
+
+/*
+ * @brief Struct du connecteur en entrée, abstrait au matériel
+ *
+ * @param RJ45_Entree_lireBroche_ptr  lireBroche_  Fonction de lecture de broche
+ */
 typedef struct {
         RJ45_Entree_lireBroche_ptr  lireBroche_;
 } RJ45_Entree;
 
+/*
+ * @brief Struct du connecteur en sortie, abstrait au matériel
+ *
+ * @param RJ45_Sortie_ecrireBroche_ptr  ecrireBroche_  Fonction d'écriture de broche
+ */
 typedef struct {
         RJ45_Sortie_ecrireBroche_ptr ecrireBroche_;
 } RJ45_Sortie;
 
 // Fonctions publiques
+
+/*
+ * @brief Constructeur
+ *
+ * @param RJ45_Entree*                  connecteur  Objet à initialiser (allocation statique)
+ * @param RJ45_Entree_lireBroche_ptr    lireBroche  Fonction de lecture de broche
+ */
 void RJ45_Entree_init               (RJ45_Entree* connecteur,
                                      RJ45_Entree_lireBroche_ptr lireBroche);
+
+/*
+ * @brief Lire l'état binaire à l'entrée d'une broche
+ *
+ * @param RJ45_Entree*  connecteur      Objet "self"
+ * @param int           numeroBroche    Broche à lire
+ */
 RJ45_Etat RJ45_Entree_lireBroche    (RJ45_Entree* connecteur, int numeroBroche);
 
+/*
+ * @brief Constructeur
+ *
+ * @param RJ45_Entree*                  connecteur      Objet à initialiser (allocation statique)
+ * @param RJ45_Sortie_ecrireBroche_ptr  ecrireBroche    Fonction d'écriture de broche
+ */
 void RJ45_Sortie_init               (RJ45_Sortie* connecteur,
                                      RJ45_Sortie_ecrireBroche_ptr ecrireBroche);
+
+/*
+ * @brief Régler l'état binaire en sortie d'une broche
+ *
+ * @param RJ45_Sortie*  connecteur      Objet "self"
+ * @param int           numeroBroche    Broche à écrire
+ * @param RJ45_Etat     niveauLogique   Haut ou bas
+ */
 void RJ45_Sortie_ecrireBroche       (RJ45_Sortie* connecteur, int numeroBroche, RJ45_Etat niveauLogique);
+
+/*
+ * @brief Réinitialiser les sorties de toutes les broches
+ *
+ * @param RJ45_Sortie*  connecteur      Objet "self"
+ * @param RJ45_Etat     niveauLogique   Haut ou bas
+ */
 void RJ45_Sortie_ecrireToutesBroches(RJ45_Sortie* connecteur, RJ45_Etat niveauLogique);
 
 #endif /* RJ45_H_ */
diff --git a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c
index 9a82a209fa8573bfe03cf8c5f94febad8619e40b..81148cb0c8a1f5edda5a9ac95e31e854dce4cc5d 100644
--- a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c
+++ b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c
@@ -9,6 +9,7 @@
 #include <string.h>
 
 // Fonctions privées
+
 RJ45_Etat convertirGPIO_PinState       (GPIO_PinState etatBroche) {
         switch (etatBroche) {
                 case GPIO_PIN_SET:
@@ -31,8 +32,8 @@ GPIO_PinState convertirRJ45_Etat       (RJ45_Etat niveauLogique) {
         }
 }
 
-
 // Fonctions publiques
+
 void RJ45_Entree_Port_init                  (RJ45_Entree_Port* connecteur,
                                              GPIO_TypeDef** ports, uint16_t* broches) {
         RJ45_Entree_init(&(connecteur->base_), (void*) RJ45_Entree_Port_lireBroche);
diff --git a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h
index bdb7c69489191a08589524b9c367743770c8ecf0..de9b370ea48aa95d0976fee191235fd53601ea1e 100644
--- a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h
+++ b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h
@@ -12,12 +12,28 @@
 #include "main.h"
 
 // Structures
+
+/*
+ * @brief Struct du connecteur en entrée, portée au HAL STM32
+ *
+ * @param RJ45_Entree     base_                     Objet de la classe parent, abstraite du matériel
+ * @param GPIO_TypeDef*   ports_  [RJ45_N_BROCHES]  Ports GPIO
+ * @param uint16_t        broches_[RJ45_N_BROCHES]  Broches GPIO
+ */
 typedef struct {
         RJ45_Entree     base_;
         GPIO_TypeDef*   ports_  [RJ45_N_BROCHES];
         uint16_t        broches_[RJ45_N_BROCHES];
 } RJ45_Entree_Port;
 
+
+/*
+ * @brief Struct du connecteur en sortie, portée au HAL STM32
+ *
+ * @param RJ45_Sortie     base_                     Objet de la classe parent, abstraite du matériel
+ * @param GPIO_TypeDef*   ports_  [RJ45_N_BROCHES]  Ports GPIO
+ * @param uint16_t        broches_[RJ45_N_BROCHES]  Broches GPIO
+ */
 typedef struct {
         RJ45_Sortie     base_;
         GPIO_TypeDef*   ports_  [RJ45_N_BROCHES];
@@ -25,14 +41,51 @@ typedef struct {
 } RJ45_Sortie_Port;
 
 // Fonctions publiques
+
+/*
+ * @brief Constructeur
+ *
+ * @param RJ45_Entree_Port* connecteur  Objet à initialiser (allocation statique)
+ * @param GPIO_TypeDef**    ports       Ports GPIO
+ * @param uint16_t*         broches     Broches GPIO
+ */
 void RJ45_Entree_Port_init                  (RJ45_Entree_Port* connecteur,
                                              GPIO_TypeDef** ports, uint16_t* broches);
+
+/*
+ * @brief Lire l'état binaire à l'entrée d'une broche
+ *
+ * @param RJ45_Entree_Port* connecteur      Objet "self"
+ * @param int               numeroBroche    Broche à lire
+ */
 RJ45_Etat RJ45_Entree_Port_lireBroche       (RJ45_Entree_Port* connecteur, int numeroBroche);
 
+/*
+ * @brief Constructeur
+ *
+ * @param RJ45_Sortie_Port* connecteur  Objet à initialiser (allocation statique)
+ * @param GPIO_TypeDef**    ports       Ports GPIO
+ * @param uint16_t*         broches     Broches GPIO
+ */
 void RJ45_Sortie_Port_init                  (RJ45_Sortie_Port* connecteur,
                                              GPIO_TypeDef** ports, uint16_t* broches);
+
+/*
+ * @brief Régler l'état binaire en sortie d'une broche
+ *
+ * @param RJ45_Sortie_Port* connecteur      Objet "self"
+ * @param int               numeroBroche    Broche à écrire
+ * @param RJ45_Etat         niveauLogique   Haut ou bas
+ */
 void RJ45_Sortie_Port_ecrireBroche          (RJ45_Sortie_Port* connecteur, int numeroBroche,
                                              RJ45_Etat niveauLogique);
+
+/*
+ * @brief Réinitialiser les sorties de toutes les broches
+ *
+ * @param RJ45_Sortie_Port* connecteur      Objet "self"
+ * @param RJ45_Etat         niveauLogique   Haut ou bas
+ */
 void RJ45_Sortie_Port_ecrireToutesBroches   (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique);
 
 #endif /* RJ45_PORT_STM32F071V8_H_ */
diff --git a/Logiciel/Firmware_testeur/Drivers/sept_segments.c b/Logiciel/Firmware_testeur/Drivers/sept_segments.c
index 3f519f8e1e787ab1af0d48c9d8a4b316c7f169b0..47df6944c5780bc8f73959346c6fed47832f5587 100644
--- a/Logiciel/Firmware_testeur/Drivers/sept_segments.c
+++ b/Logiciel/Firmware_testeur/Drivers/sept_segments.c
@@ -8,6 +8,15 @@
 #include "sept_segments.h"
 #include <stddef.h>
 
+// Fonctions privées
+
+/*
+ * @brief Agencement des segments allumés et éteint pour former un caractère
+ *
+ * @param   unsigned char   caractere   Caractère à former parmi: chiffre 0..9, tiret '-'
+ *
+ * @retval  SeptSegment_Etat*   Tableau d'états de segments
+ */
 SeptSegment_Etat* charEnSegments(unsigned char caractere) {
         static SeptSegment_Etat config[N_SEGMENTS];
 
@@ -116,6 +125,8 @@ SeptSegment_Etat* charEnSegments(unsigned char caractere) {
         }
 }
 
+// Fonctions publiques
+
 void SeptSegment_init     (SeptSegment* ecran, SeptSegment_allumerSegment_ptr allumerSegments) {
         for (int i=0 ; i<N_SEGMENTS ; i++) {
                 ecran->allumerSegment_[i] = allumerSegments[i];
diff --git a/Logiciel/Firmware_testeur/Drivers/sept_segments.h b/Logiciel/Firmware_testeur/Drivers/sept_segments.h
index 8340f48c16d11595fda97f984d3a11fa1a1accb5..ed422347871f0886dd618888c51c6a801a0f754d 100644
--- a/Logiciel/Firmware_testeur/Drivers/sept_segments.h
+++ b/Logiciel/Firmware_testeur/Drivers/sept_segments.h
@@ -9,6 +9,14 @@
 #define SEPT_SEGMENTS_H_
 
 // Index des segments
+//        ___A___
+//       /      /
+//      F      B
+//     /--G---/
+//    /      /
+//   E      C
+//  /___D__/
+//
 #define N_SEGMENTS 7
 #define SEG_A 0
 #define SEG_B 1
@@ -18,32 +26,121 @@
 #define SEG_F 5
 #define SEG_G 6
 
+/*
+ * @brief État éteint ou allumé d'un segment
+ */
 typedef enum {
         SEGMENT_ETEINT = 0,
         SEGMENT_ALLUME = 1
 } SeptSegment_Etat;
 
+/*
+ * @brief Prototype de l'array de fonctions d'allumage de chaque segment
+ *          Chaque fonction de l'array est implémentée dans une classe enfant 'Port'.
+ *          Elle contient le code spécifique au matériel permettant de régler l'état
+ *          d'un segment (par exemple un appel au HAL GPIO du MCU).
+ *          Il y a une fonction à implémenter par segment, même si leurs implémentations
+ *          seront sans doute très similaires.
+ *
+ * @param void*             ecran   L'objet "self" de la fonction (ici un sept segment)
+ * @param SeptSegment_Etat  etat    État (allumé/éteint) sur lequel régler le segment.
+ */
 typedef void (*SeptSegment_allumerSegment_ptr[N_SEGMENTS]) (void* ecran, SeptSegment_Etat etat);
 
+/*
+ * @brief Struct d'un écran 7-segments, abstrait du matériel
+ *
+ * @param SeptSegment_allumerSegment_ptr     allumerSegment_    Tableau de pointeurs vers les
+ *          fonctions de contrôle des segments individuels
+ */
 typedef struct {
         SeptSegment_allumerSegment_ptr allumerSegment_;
 } SeptSegment;
 
+/*
+ * @brief Constructeur
+ *
+ * @param SeptSegment*  ecran   Objet à initialiser (allocation statique)
+ * @param SeptSegment_allumerSegment_ptr    allumerSegment_ Tableau de pointeurs vers les
+ *          fonctions de contrôle des segments individuels
+ */
 void SeptSegment_init     (SeptSegment* ecran, SeptSegment_allumerSegment_ptr allumerSegments);
 
 // Affichage de caractères
 
+/*
+ * @brief Afficher un caractère parmi: 0..9 ou un tiret '-'
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param unsigned char     caractere   Caractère à afficher, parmi:
+ *                                          - Un chiffre: 0..9
+ *                                          - Tiret: '-'
+ */
 void SeptSegment_afficher (SeptSegment* ecran, unsigned char caractere);
+
+/*
+ * @brief Éteindre tout les segments
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ */
 void SeptSegment_eteindre (SeptSegment* ecran);
 
 // Contrôle des segments individuels
 
+/*
+ * @brief Régler le segment A
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerA (SeptSegment* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment B
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerB (SeptSegment* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment C
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerC (SeptSegment* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment D
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerD (SeptSegment* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment E
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerE (SeptSegment* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment F
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerF (SeptSegment* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment G
+ *
+ * @param SeptSegment*      ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_allumerG (SeptSegment* ecran, SeptSegment_Etat etat);
 
 #endif /* SEPT_SEGMENTS_H_ */
diff --git a/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.c b/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.c
index ef59a6cb1861ef874736a9577bf19e4a86309da2..02764b211d852b46c606478f0a22bedfd2d82b55 100644
--- a/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.c
+++ b/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.c
@@ -9,6 +9,14 @@
 #include <string.h>
 
 // Fonctions privées
+
+/*
+ * @brief Correspond un état GPIO du HAL STM32 à un état d'allumage de sept-segments
+ *
+ * @param   SeptSegment_Etat    etat    État à convertir
+ *
+ * @retval  GPIO_PinState
+ */
 GPIO_PinState convertirEtat(SeptSegment_Etat etat) {
         switch (etat) {
                 case SEGMENT_ALLUME:
@@ -21,6 +29,7 @@ GPIO_PinState convertirEtat(SeptSegment_Etat etat) {
 }
 
 // Fonctions publiques
+
 void SeptSegment_Port_init     (SeptSegment_Port* ecran,
                                 GPIO_TypeDef** ports, uint16_t* broches) {
         SeptSegment_allumerSegment_ptr allumerPort = {
diff --git a/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.h b/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.h
index 3619eb98888304143f9078ae7be6fcb3894b098c..9aaae8fac4959bd52f9b09dd12185c825f863396 100644
--- a/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.h
+++ b/Logiciel/Firmware_testeur/Drivers/sept_segments_port_stm32f071v8.h
@@ -11,23 +11,103 @@
 #include "sept_segments.h"
 #include "main.h"
 
+/*
+ * @brief Struct d'un écran 7-segments, portée au HAL STM32
+ *
+ * @param SeptSegment     base_                 Objet de la classe parent, abstraite du matériel
+ * @param GPIO_TypeDef*   ports_[N_SEGMENTS]    Ports GPIO des segments
+ * @param uint16_t        broches_[N_SEGMENTS]  Broches GPIO des segments
+ */
 typedef struct {
         SeptSegment     base_;
         GPIO_TypeDef*   ports_[N_SEGMENTS];
         uint16_t        broches_[N_SEGMENTS];
 } SeptSegment_Port;
 
+/*
+ * @brief Constructeur
+ *
+ * @param SeptSegment*  ecran   Objet à initialiser (allocation statique)
+ * @param GPIO_TypeDef**    ports       Ports GPIO des segments
+ * @param uint16_t*         broches     Broches GPIO des segments
+ */
 void SeptSegment_Port_init     (SeptSegment_Port* ecran, GPIO_TypeDef** ports, uint16_t* broches);
 
+// Affichage de caractères
+
+/*
+ * @brief Afficher un caractère parmi: 0..9 ou un tiret '-'
+ *
+ * @param void*             ecran       L'objet "self"
+ * @param unsigned char     caractere   Caractère à afficher, parmi:
+ *                                          - Un chiffre: 0..9
+ *                                          - Tiret: '-'
+ */
 void SeptSegment_Port_afficher (SeptSegment_Port* ecran, unsigned char caractere);
+
+/*
+ * @brief Éteindre tout les segments
+ *
+ * @param void*             ecran       L'objet "self"
+ */
 void SeptSegment_Port_eteindre (SeptSegment_Port* ecran);
 
+// Contrôle des segments individuels
+
+/*
+ * @brief Régler le segment A
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerA (SeptSegment_Port* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment B
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerB (SeptSegment_Port* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment C
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerC (SeptSegment_Port* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment D
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerD (SeptSegment_Port* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment E
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerE (SeptSegment_Port* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment F
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerF (SeptSegment_Port* ecran, SeptSegment_Etat etat);
+
+/*
+ * @brief Régler le segment G
+ *
+ * @param SeptSegment_Port* ecran       L'objet "self"
+ * @param SeptSegment_Etat  etat        État (allumé/éteint) sur lequel régler le segment.
+ */
 void SeptSegment_Port_allumerG (SeptSegment_Port* ecran, SeptSegment_Etat etat);
 
 #endif /* SEPT_SEGMENTS_PORT_STM32F071V8_H_ */
diff --git a/Logiciel/Firmware_testeur/Drivers/testeur.c b/Logiciel/Firmware_testeur/Drivers/testeur.c
index 637149e4bf354753bfb1eb19a159442aae224cc5..f867b519416b613f105db4dd7b17a3bc681e962d 100644
--- a/Logiciel/Firmware_testeur/Drivers/testeur.c
+++ b/Logiciel/Firmware_testeur/Drivers/testeur.c
@@ -10,6 +10,7 @@
 #include <string.h>
 
 // Fonctions publiques
+
 void Testeur_init           (Testeur* testeur) {
         RJ45_Sortie_Port connecteurA;
         RJ45_Entree_Port connecteurB;
@@ -36,18 +37,15 @@ void Testeur_eteindreAlim2V (Testeur* testeur) {
 }
 
 /*
- * @brief Exécuter le processus complet de test de câble
  * @note  Les étapes du processus sont:
  *              -Pour chaque broche du câble RJ45
  *                  -Allumer la broche du connecteur en sortie
  *                  -Regarder quelle broche y est connecte
  *                      -Si aucune ou plusieur, afficher tiret
  *                      -Si une seule, afficher le chiffre correspondant
- * @param Testeur* testeur Pointeur objet
  */
 void Testeur_testerCable    (Testeur* testeur) {
 
-        // FIXME: La ligne ci-dessous plante au max
         RJ45_Sortie_Port_ecrireToutesBroches(&(testeur->ethernetA_), RJ45_BAS);
 
         int nContacts[RJ45_N_BROCHES] = { 0 };
@@ -92,11 +90,4 @@ void Testeur_testerCable    (Testeur* testeur) {
         for (int i=0; i<N_ECRANS; i++) {
                 SeptSegment_Port_afficher(&(testeur->ecrans_[i]), affichageEcrans[i]);
         }
-
-//        for (int i=0; i<=9; i++) {
-//                for (int j=0; j<N_ECRANS; j++) {
-//                        SeptSegment_Port_afficher(&(testeur->ecrans_[j]), i + '0');
-//                }
-//                HAL_Delay(500);
-//        }
 }
diff --git a/Logiciel/Firmware_testeur/Drivers/testeur.h b/Logiciel/Firmware_testeur/Drivers/testeur.h
index 8eb0c8efc73605ae47427f66ad4cc766d439ac06..3f3b9f858d58c68773f8d306d59a3ad1d4a5aaf7 100644
--- a/Logiciel/Firmware_testeur/Drivers/testeur.h
+++ b/Logiciel/Firmware_testeur/Drivers/testeur.h
@@ -16,7 +16,14 @@
 // Assignation des ports et broches GPIO des périphériques
 #include "testeur_liste_gpios.h"
 
-// Structure
+/*
+ * @brief Struct du testeur
+ *
+ * @param   RJ45_Sortie_Port    ethernetA_  Connecteur ethernet
+ * @param   RJ45_Entree_Port    ethernetB_  Connecteur ethernet
+ *
+ * @param   SeptSegment_Port    ecrans_[N_ECRANS]   7-segments contrôlables
+ */
 typedef struct {
         RJ45_Sortie_Port ethernetA_;
         RJ45_Entree_Port ethernetB_;
@@ -25,9 +32,38 @@ typedef struct {
 } Testeur;
 
 // Fonctions publiques
+
+/*
+ * @brief Constructeur
+ *
+ * @param Testeur*  testeur   Objet à initialiser (allocation statique)
+ */
 void Testeur_init           (Testeur* testeur);
+
+/*
+ * @brief Allumer l'alimentation 2V, utilisée par les 7-segments
+ *
+ * @param   Testeur*    testeur     Objet "self"
+ */
 void Testeur_allumerAlim2V  (Testeur* testeur);
+
+/*
+ * @brief Éteindre l'alimentation 2V, utilisée par les 7-segments
+ *
+ * @param   Testeur*    testeur     Objet "self"
+ */
 void Testeur_eteindreAlim2V (Testeur* testeur);
+
+/*
+ * @brief Lance la procédure de test d'un câble. Affiche le résultat sur les 7-segments
+ *          à droite. En fonction des connections détectées au connecteur RJ45 de droite,
+ *          l'affichage est:
+ *              -Aucun contact détectée (faux contact): tiret '-'
+ *              -Un contact: le numéro 0..9 de la broche connectée
+ *              -Plusieurs contacts détectés (court-circuit): tiret '-'
+ *
+ * @param   Testeur*    testeur     Objet "self"
+ */
 void Testeur_testerCable    (Testeur* testeur);
 
 #endif /* TESTEUR_H_ */
diff --git a/Logiciel/Firmware_testeur/Src/stm32f0xx_it.c b/Logiciel/Firmware_testeur/Src/stm32f0xx_it.c
index c2c13841a9145e3af8c127bb49583f0434e38afa..62e9bb0cf505150706286c0acf1c2dd4c1ae11e9 100644
--- a/Logiciel/Firmware_testeur/Src/stm32f0xx_it.c
+++ b/Logiciel/Firmware_testeur/Src/stm32f0xx_it.c
@@ -147,6 +147,7 @@ void EXTI4_15_IRQHandler(void)
 {
   /* USER CODE BEGIN EXTI4_15_IRQn 0 */
 
+        // Interruption du bouton carré
         Testeur_testerCable(&testeur);
 
   /* USER CODE END EXTI4_15_IRQn 0 */