
```
************************************************************************************************************************************************************
*                                                                                                                                                          *
*     ██╗          ████████╗           ███████╗                                                                                                            *
*     ██║  ██████  ╚══██╔══╝  ██████   ██╔════╝      Internet of Things Operating System                                                                   *
*     ██║ ██    ██╗   ██║    ██    ██╗ ███████╗       Micro OS pour Arduino UNO R4 Minima                                                                  *
*     ██║ ██    ██║   ██║    ██    ██║      ██║       Ethernet Shield 2 -- W5500                                                                           *
*     ██║  ██████╔╝   ██║     ██████╔╝ ███████║                                                                                                            *
*     ╚═╝   ╚════╝    ╚═╝      ╚════╝  ╚══════╝      v1.2  --  Biechy Jean-Marc  --  2026                                                                  *
*                                                                                                                                                          *
************************************************************************************************************************************************************
*  Auteur    : Jean-Marc Biechy               Contact : radiobiechy@gmail.com                                                                              *
*  Site      : http://iotos.dsmynas.org/                                                                                                                   *
*  Licence   : GNU LGPL v2.1   https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html                                                                     *
*  Context   : Institution Saint-Jean -- Ecole d'Electronique Informatique et Reseau -- 68000 Colmar France                                                *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  1. DESCRIPTION GENERALE                                                                                                                                 *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  IoToS est un micro-systeme d'exploitation embarque destine a l'Arduino UNO R4 Minima.                                                                   *
*  Il transforme un Arduino en serveur reseau autonome offrant :                                                                                           *
*    - un shell en ligne de commande (CLI) accessible en Serial et Telnet                                                                                  *
*    - un serveur WEB HTTP/AJAX avec pages stockees sur carte Micro SD                                                                                     *
*    - un serveur FTP pour acceder a la carte Micro SD depuis un PC                                                                                        *
*    - une synchronisation d'horloge Internet (NTP)                                                                                                        *
*    - des outils reseau : Ping ICMP complet, Traceroute, Netstat                                                                                          *
*    - un Datalogger CSV horodate sur Micro SD                                                                                                             *
*    - une gestion de la configuration reseau persistante en EEPROM interne                                                                                *
*                                                                                                                                                          *
*  La librairie IoToS est un firmware clef-en-main : l'utilisateur n'edite                                                                                 *
*  qu'un seul fichier (IoToS_User.h) pour personnaliser son application.                                                                                   *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  2. PLATEFORME MATERIELLE                                                                                                                                *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  Carte         : Arduino UNO Rev 4 Minima                                                                                                                *
*  CPU           : Renesas RA4M1 / ARM Cortex-M4 @ 48 MHz                                                                                                  *
*  RAM           : 32 KB SRAM  (13820 octets utilises soit 42 %)                                                                                           *
*  Flash         : 256 KB      (142980 octets utilises soit 54 %)                                                                                          *
*  Reseau        : Ethernet Shield 2 -- puce W5500 -- port SPI D10 (CS)                                                                                    *
*  Stockage      : Micro SD Card  FAT32 MSDOS noms longs -- port SPI D4 (CS)                                                                               *
*  EEPROM        : EEPROM interne (sauvegarde configuration reseau)                                                                                        *
*  Afficheur opt.: LCD TFT I2C 128x64  GM12864-59N VER2.0  ST7567S  --  U8g2                                                                               *
*                                                                                                                                                          *
*  Connexions principales :                                                                                                                                *
*    D2 / D3  : Boutons (+) et (-)  (Grove)                                                                                                                *
*    D4       : CS Micro SD Card                                                                                                                           *
*    D5       : Module LED externe  (Grove)                                                                                                                *
*    D8       : Bouton OK           (Grove)                                                                                                                *
*    D10      : CS Ethernet W5500                                                                                                                          *
*    D13      : LED_BUILTIN  (allumee quand le serveur WEB demarre OK)                                                                                     *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  3. ENVIRONNEMENT DE DEVELOPPEMENT                                                                                                                       *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  IDE          : Arduino IDE 2.3.7  (IDE 1.x.x : Bug Ethernet IP Fixe -- ne pas utiliser)                                                                 *
*  Type de carte: Outils --> Type de carte --> Arduino UNO R4 Minima                                                                                       *
*  Partition SD : FAT32  --  Systeme MSDOS  --  Noms de fichiers longs actives                                                                             *
*  Librairie    : Ethernet@2.0.2  --  Ethernet (Arduino UNO R4 Minima) 1.5.3                                                                               *
*  Librairies a copier dans : \Mes Documents\Arduino\libraries\   (1er niveau -- pas de sous-dossier)                                                      *
*                                                                                                                                                          *
*  Double appui rapide sur RESET --> active le bootloader pour televersement                                                                               *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  4. ARCHITECTURE DE LA LIBRAIRIE IoToS                                                                                                                   *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  Structure des fichiers :                                                                                                                                *
*                                                                                                                                                          *
*  sketch_Arduino_IoToS.ino          Point d'entree utilisateur (setup / loop)                                                                             *
*  IoToS_User.h                      FICHIER UTILISATEUR : configuration, commandes, routes WEB                                                            *
*                                                                                                                                                          *
*  libraries\IoToS\                  Librairie systeme (ne pas modifier)                                                                                   *
*    IoToS_Firmware.h                Declarations globales, types, includes ordonnes                                                                       *
*    IoToS_Boot_Driver.h             Initialisation complete au demarrage (setup)                                                                          *
*    IoToS_Kernel.h                  Boucle principale (loop) : orchestration des services                                                                 *
*    App_ServeurWEB.h                Moteur HTTP AJAX avec routeur par table (Flask-inspired)                                                              *
*    Driver_Ethernet_Reseau.h        Initialisation Ethernet IP Fixe ou DHCP + NTP                                                                         *
*    Shell_CmdLine_SD.h              Shell CLI systeme : commandes et fonctions                                                                            *
*    Utils_Common.h                  Utilitaires communs : OK/FAILED/INIT, Datalogger, PrintMAC                                                            *
*    CmdLine.h / CmdLine.cpp         Librairie interpreteur CLI multi-canaux v24                                                                           *
*    CmdLineKey.h                    Detection automatique de la plateforme cible                                                                          *
*                                                                                                                                                          *
*  Ordre d'inclusion obligatoire dans IoToS_Firmware.h :                                                                                                   *
*                                                                                                                                                          *
*    1  Utils_Common.h           Utilitaires communs                                                                                                       *
*    2  Shell_CmdLine_SD.h       Shell CLI systeme                                                                                                         *
*    3  App_ServeurWEB.h         Serveur WEB + routeur HTTP                                                                                                *
*    4  Driver_Ethernet_Reseau.h Init Ethernet + NTP                                                                                                       *
*    5  IoToS_Boot_Driver.h      Setup complet                                                                                                             *
*    6  IoToS_Kernel.h           Loop complet                                                                                                              *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  5. MODULES FONCTIONNELS                                                                                                                                 *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  ┌───────────┬──────────────────────────────────────────────────────────────┬──────────────────────────────────────────────────────────────┐             *
*  │  Module   │  Description                                                 │  Details                                                     │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [CLI]    │  Shell ligne de commande interactif                          │  TAB : Autocompletion                                        │             *
*  │           │  Serial / Telnet / Bluetooth (ESP32)                         │  Fleches Haut/Bas : Historique des commandes                 │             *
*  │           │  Analogie Mini MS-DOS                                        │  Login / Password sur Serial et Telnet                       │             *
*  │           │  3 canaux independants simultanement                         │  Commandes : dir  rename  del  type  copie                   │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [WEB]    │  Serveur HTTP AJAX (port 80)                                 │  Authentification Login/Password Base64  ON/OFF              │             *
*  │           │  Architecture routeur par table (Flask-inspired)             │  Configuration IP Ethernet par page WEB                      │             *
*  │           │  Pages htm/html/css stockees sur Micro SD Card               │  Reponse XML aux requetes AJAX                               │             *
*  │           │  Commande LED Arduino par boutons CSS                        │  Fallback automatique : tout fichier sur SD est servi        │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [FTP]    │  Serveur FTP (port 21)                                       │  Acces Micro SD Card depuis FileZilla ou tout client FTP     │             *
*  │           │  Login / Password configurable                               │  Transfert fichiers datalogger et pages WEB                  │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [NET]    │  Config reseau : ip, subnet, gateway, mac, dhcp              │  Outils reseau : Ping ICMP complet  --  Traceroute           │             *
*  │           │  IP Fixe ou DHCP avec bascule automatique                    │  Netstat  --  Test validite adresse IP / masque              │             *
*  │           │  Port WEB configurable (defaut 80)                           │  Test connexion Internet (DNS Google)                        │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [NTP]    │  Horloge synchronisee Internet                               │  Format JJ/MM/AAAA HH:MM:SS                                  │             *
*  │           │  Backend EthernetUDP pour W5500                              │  Gestion UTC+1 / UTC+2 (heure France)                        │             *
*  │           │  Jour de la semaine en francais                              │  Horodatage du Datalogger et des evenements                  │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [SD]     │  Gestion Micro SD Card  FAT32                                │  Carte SD sur Ethernet Shield V2 port SPI CS D4              │             *
*  │           │  Librairie SdFat v2.3.1                                      │  Fonctions : dir, del, rename, type, copie                   │             *
*  │           │  Stockage pages WEB + fichier Datalogger                     │  Acces depuis CLI, WEB et FTP                                │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [LOG]    │  Datalogger au format Excel CSV sur Micro SD                 │  Horodatage NTP  --  Etat LED  --  Evenements                │             *
*  │           │  Fichier : datalogger.csv                                    │  En-tete CSV : Date ; Heure ; Etat LED                       │             *
*  ├───────────┼──────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────┤             *
*  │  [EEP]    │  Sauvegarde configuration systeme en EEPROM interne          │  Commandes : save  --  reload  --  defaults                  │             *
*  │           │  Parametres reseau persists apres redemarrage                │  Reset + chargement EEPROM automatique                       │             *
*  └───────────┴──────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────┘             *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  6. COMMANDES SHELL DISPONIBLES (CLI Serial et Telnet)                                                                                                   *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  ┌──────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────┐                               *
*  │  Commande                │  Description                                                                               │                               *
*  ├──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────┤                               *
*  │  help                    │  Affiche la liste des commandes disponibles                                                │                               *
*  │  print                   │  Affiche la configuration reseau complete                                                  │                               *
*  │  reset                   │  Redemarrage de l'Arduino                                                                  │                               *
*  │  mem                     │  Affiche la memoire libre (RAM disponible)                                                 │                               *
*  │  save                    │  Sauvegarde la configuration en EEPROM                                                     │                               *
*  │  reload                  │  Recharge la configuration depuis l'EEPROM                                                 │                               *
*  │  defaults                │  Reinitialise la configuration par defaut                                                  │                               *
*  ├──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────┤                               *
*  │  ip <x.x.x.x>            │  Definit l'adresse IP fixe                                                                 │                               *
*  │  gateway <x.x.x.x>       │  Definit la passerelle                                                                     │                               *
*  │  msr <x.x.x.x>           │  Definit le masque de sous-reseau                                                          │                               *
*  │  mac <xx:xx:xx:xx:xx:xx> │  Definit l'adresse MAC                                                                     │                               *
*  │  dhcp <on/off>           │  Active / desactive le mode DHCP                                                           │                               *
*  ├──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────┤                               *
*  │  ping <IP ou URL>        │  Test ICMP complet vers une cible                                                          │                               *
*  │  tracert <URL>           │  Traceroute TTL 1-30 vers une cible                                                        │                               *
*  │  netstat                 │  Affiche l'etat des connexions reseau                                                      │                               *
*  ├──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────┤                               *
*  │  dir                     │  Liste les fichiers de la Micro SD Card                                                    │                               *
*  │  del <fichier>           │  Supprime un fichier                                                                       │                               *
*  │  rename <src> <dst>      │  Renomme un fichier                                                                        │                               *
*  │  type <fichier>          │  Affiche le contenu d'un fichier texte                                                     │                               *
*  │  copie <src> <dst>       │  Copie un fichier                                                                          │                               *
*  ├──────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────┤                               *
*  │  led on / led off        │  Commande la LED externe D5 et enregistre dans le Datalogger                               │                               *
*  │  login <motDePasse>      │  Authentification pour acceder au CLI (si login active)                                    │                               *
*  │  cli on / cli off        │  Active / desactive l'echo local (MobaXterm : cli off)                                     │                               *
*  └──────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────┘                               *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  7. SERVEUR WEB : ROUTEUR HTTP PAR TABLE                                                                                                                 *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  Architecture a trois couches (Flask-inspired) :                                                                                                         *
*                                                                                                                                                          *
*    Requete HTTP cliente                                                                                                                                  *
*         |                                                                                                                                                *
*         v                                                                                                                                                *
*    [ user_routes[] ]      Prioritaire -- defini dans IoToS_User.h par le developpeur                                                                     *
*         |  si non trouve                                                                                                                                 *
*         v                                                                                                                                                *
*    [ iotos_routes[] ]     Systeme IoToS : ajax_outputs, ajax_inputs, favicon...                                                                          *
*         |  si non trouve                                                                                                                                 *
*         v                                                                                                                                                *
*    [ Handler_SD_File ]    Fallback : sert tout fichier present sur la Micro SD Card                                                                      *
*                                                                                                                                                          *
*  Routes systeme integrees :                                                                                                                              *
*                                                                                                                                                          *
*  ┌──────────────────────┬─────────────┬────────────────────────────────────────────────────┐                                                             *
*  │  URL / mot-cle       │  Methode    │  Fonction                                          │                                                             *
*  ├──────────────────────┼─────────────┼────────────────────────────────────────────────────┤                                                             *
*  │  ajax_outputs        │  GET        │  Reception config IP depuis ConfIP.html --> EEPROM │                                                             *
*  │  ajax_inputs?led     │  GET        │  Polling etat LED depuis index.html --> XML <LED>  │                                                             *
*  │  ajax_inputs         │  GET        │  Envoi config IP complete vers ConfIP.html         │                                                             *
*  │  favicon.ico         │  ANY        │  Reponse 404 pour favicon.ico                      │                                                             *
*  │  (vide)              │  ANY        │  Fallback SD : sert tout fichier sur la SD         │                                                             *
*  └──────────────────────┴─────────────┴────────────────────────────────────────────────────┘                                                             *
*                                                                                                                                                          *
*  Correspondance URL <--> fichiers Micro SD Card :                                                                                                        *
*                                                                                                                                                          *
*  ┌────────────────────────┬─────────────────────────────┬───────────────────────────────┐                                                                *
*  │  URL navigateur        │  Fichier SD                 │  Content-Type                 │                                                                *
*  ├────────────────────────┼─────────────────────────────┼───────────────────────────────┤                                                                *
*  │  http://192.168.0.10/  │  index.html  (page princ.)  │  text/html                    │                                                                *
*  │  .../ConfIP.html       │  ConfIP.html (config IP)    │  text/html                    │                                                                *
*  │  .../style.css         │  style.css                  │  text/css                     │                                                                *
*  │  .../script.js         │  script.js                  │  application/javascript       │                                                                *
*  │  .../data.xml          │  data.xml                   │  text/xml                     │                                                                *
*  │  .../MonFichier.xxx    │  MonFichier.xxx             │  application/octet-stream     │                                                                *
*  │  .../absent.html       │  (absent de la SD)          │  HTTP 404 Not Found           │                                                                *
*  └────────────────────────┴─────────────────────────────┴───────────────────────────────┘                                                                *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  8. PERSONNALISATION UTILISATEUR : IoToS_User.h                                                                                                          *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  C'est le SEUL fichier que l'utilisateur doit modifier.                                                                                                  *
*                                                                                                                                                          *
*  Ce fichier contient :                                                                                                                                   *
*                                                                                                                                                          *
*  8.1  Configuration reseau par defaut (default_conf)                                                                                                     *
*       IP, masque, passerelle, MAC, port WEB, login WEB/FTP, Datalogger...                                                                                *
*                                                                                                                                                          *
*  8.2  Commandes CLI utilisateur (user_commands[])                                                                                                        *
*       Meme syntaxe que les commandes systeme.                                                                                                            *
*       Ajout sans modifier Shell_CmdLine_SD.h                                                                                                             *
*       Exemple :                                                                                                                                          *
*         void MaCommande(const char *arg) { cmdLine.println("Hello"); }                                                                                   *
*         const cmd_t user_commands[] = { {"macommande", MaCommande}, };                                                                                   *
*                                                                                                                                                          *
*  8.3  Routes WEB utilisateur (user_routes[])                                                                                                             *
*       Prioritaires sur les routes systeme IoToS.                                                                                                         *
*       3 etapes : declaration, route, handler.                                                                                                            *
*       Exemple :                                                                                                                                          *
*         void Handler_Mon_Capteur(EthernetClient &client) {                                                                                               *
*           client.println(F("HTTP/1.1 200 OK"));                                                                                                          *
*           client.println(F("Content-Type: text/xml"));                                                                                                   *
*           client.println(F("Connection: close"));                                                                                                        *
*           client.println();                                                                                                                              *
*           client.print(F("<capteurs><TEMP>22.5</TEMP></capteurs>"));                                                                                     *
*         }                                                                                                                                                *
*         const route_t user_routes[] = {                                                                                                                  *
*           { "/api/capteur", HTTP_GET, Handler_Mon_Capteur },                                                                                             *
*         };                                                                                                                                               *
*                                                                                                                                                          *
*  8.4  Banner de demarrage personnalisee (InfoVersion)                                                                                                    *
*       Texte affiche au boot sur Serial et Telnet.                                                                                                        *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  9. LIBRAIRIES TIERCES INTEGREES                                                                                                                         *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  ┌──────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐          *
*  │  Librairie           │  Auteur / Source                              │  Role                                                               │          *
*  ├──────────────────────┼───────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤          *
*  │  CmdLine v24         │  IndustrialShields -- modif. Biechy           │  CLI multi-canaux Serial/Telnet/Bluetooth                           │          *
*  │  SdFat v2.3.1        │  Bill Greiman                                 │  Gestion Micro SD Card FAT16/32/exFAT                               │          *
*  │  SimpleFTPServer     │  Renzo Mischianti -- modif. Biechy            │  Serveur FTP sur W5500                                              │          *
*  │  NTPClient2          │  Fabrice Weinberg -- modif. Biechy            │  Horloge Internet NTP format francais                               │          *
*  │  EthernetICMP        │  Blake Foster -- modif. Biechy                │  Ping ICMP + Traceroute TTL sur W5500                               │          *
*  │  U8g2 v2.35.30       │  Oliver Kraus                                 │  Afficheur LCD TFT I2C ST7567S  128x64                              │          *
*  │  MemoryFree          │  Sudar Muthu                                  │  Affichage RAM libre                                                │          *
*  │  Ethernet@2.0.2      │  Arduino SA                                   │  Pile reseau W5500                                                  │          *
*  └──────────────────────┴───────────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────┘          *
*                                                                                                                                                          *
*  Attention : certaines librairies ont ete modifiees par Jean-Marc Biechy                                                                                 *
*  pour la compatibilite ARM Cortex-M4 (Renesas RA4M1).                                                                                                    *
*  Rechercher les versions : cmdLineTelnet_SD  --  NTPClient2  --  EthernetICMP modif.                                                                     *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  10. DEMARRAGE (BOOT) ET BOUCLE (KERNEL)                                                                                                                 *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  Sequence de demarrage IoToS_Boot() :                                                                                                                    *
*                                                                                                                                                          *
*    [1]  PORT I/O          LED_BUILTIN, D5, D2, D3, D8                                                                                                    *
*    [2]  Serial 115200     Attente max 2 s -- affichage banner InfoVersion                                                                                *
*    [3]  EEPROM            Chargement configuration reseau persistante                                                                                    *
*    [4]  SPI               Init bus SPI partage W5500 (D10) et SD (D4)                                                                                    *
*    [5]  Micro SD Card     Montage FAT32 -- detection erreur                                                                                              *
*    [6]  Ethernet          IP Fixe ou DHCP -- test validite -- test WAN                                                                                   *
*    [7]  Telnet            Serveur port 23                                                                                                                *
*    [8]  FTP               Serveur port 21 (si SD ok)                                                                                                     *
*    [9]  WEB               Serveur port 80 (configurable)                                                                                                 *
*    [10] CmdLine           Init CLI systeme + CLI utilisateur (addCommands)                                                                               *
*                                                                                                                                                          *
*  Boucle principale IoToS_Kernel() :                                                                                                                      *
*                                                                                                                                                          *
*    [1]  CmdLine.update()  Traitement entrees Serial                                                                                                      *
*    [2]  CmdLine.updateNetwork()  Traitement entrees Telnet                                                                                               *
*    [3]  ServeurWEB()      Si WEB actif : traitement requetes HTTP                                                                                        *
*    [4]  FTP.handleFTP()   Si FTP actif : traitement sessions FTP                                                                                         *
*    [5]  Telnet Banner     Banner premiere connexion Telnet                                                                                               *
*    [6]  Serial Banner     Banner premiere connexion Serial                                                                                               *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  11. CONFIGURATION RESEAU PAR DEFAUT                                                                                                                     *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  IP fixe      : 192.168.0.10                                                                                                                             *
*  Masque       : 255.255.255.0                                                                                                                            *
*  Passerelle   : 192.168.0.254                                                                                                                            *
*  MAC          : DE:AD:BE:EF:FE:B1  (a modifier si plusieurs Arduino sur le reseau)                                                                       *
*  Port WEB     : 80                                                                                                                                       *
*  Login WEB    : user:pass  (base64 : dXNlcjpwYXNz)  --> Encoder sur base64encode.org                                                                     *
*  Login FTP    : arduino / arduino                                                                                                                        *
*  Login CLI    : changerLeMotDePasse  (login desactive par defaut)                                                                                        *
*  DHCP         : desactive (IP fixe)                                                                                                                      *
*  Datalogger   : desactive (activer dans IoToS_User.h)                                                                                                    *
*                                                                                                                                                          *
************************************************************************************************************************************************************


************************************************************************************************************************************************************
*  12. CONTEXTE PEDAGOGIQUE                                                                                                                                *
************************************************************************************************************************************************************
*                                                                                                                                                          *
*  IoToS est utilise comme support pedagogique a l'Institution Saint-Jean de Colmar                                                                        *
*  pour l'enseignement des reseaux embarques et des protocoles Internet :                                                                                  *
*                                                                                                                                                          *
*    - Protocoles : HTTP, FTP, Telnet, NTP, ICMP                                                                                                           *
*    - Programmation systeme sur microcontroleur ARM Cortex-M4                                                                                             *
*    - Architecture logicielle : librairie, routeur, machine d'etat                                                                                        *
*    - Reseaux embarques : IP fixe, DHCP, DNS, WAN                                                                                                         *
*                                                                                                                                                          *
*  Site du projet  : http://iotos.dsmynas.org/                                                                                                             *
*  Version actuelle: IoToS v1.2  --  2026                                                                                                                  *
*                                                                                                                                                          *
************************************************************************************************************************************************************
```
