Files
varlog/_cache/similar/805084fe-172b-442a-bfa1-8d5f8e591515.json
2026-05-15 10:37:48 +02:00

1 line
26 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[{"uuid":"3f750a3a-fad0-4089-98e5-79c8b4287ea2","slug":"esp8266ex-restore-commandes-at","title":"Réinitialisation d'un ESP-01 : restauration du firmware AT","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-12-13 14:35","created_at":"2020-12-13 14:35:26","updated_at":"2026-05-13 18:15:11","tags":[],"plain":"Introduction\r\n\r\nL'ESP-01 est un petit module Wi-Fi très répandu, construit autour du microcontrôleur ESP8266EX fabriqué par Espressif. À sa sortie d'usine, il est livré avec un firmware (le programme interne du circuit) qui permet de le piloter à l'aide de commandes textuelles simples appelées commandes AT. Ce firmware peut être effacé ou corrompu, par exemple après avoir téléversé un programme Arduino ou MicroPython sur le module. Ce document explique comment remettre l'ESP-01 dans son état d'origine afin de retrouver l'usage des commandes AT.\r\n\r\nQuelques notions préalables\r\n\r\nAvant de commencer, il est utile de clarifier quelques termes.\r\n\r\nUn firmware est le logiciel embarqué dans un composant électronique. Contrairement à un programme installé sur un ordinateur, il s'écrit directement dans la mémoire flash du microcontrôleur et s'exécute au démarrage du circuit.\r\n\r\nUn fichier binaire (extension ) est le résultat de la compilation d'un code source écrit dans un langage évolué, généralement le C. Une fois compilé, le fichier ne contient plus que des instructions destinées au processeur, illisibles directement par un humain. Il n'est pas nécessaire de les modifier : ils se téléversent tels quels dans le microcontrôleur.\r\n\r\nLa mémoire flash de l'ESP8266EX est divisée en zones. Chaque binaire doit être écrit à une adresse mémoire précise, sans quoi le module ne saura pas où trouver le code à exécuter au démarrage. Sur l'ESP-01, la mémoire est généralement organisée en 512k + 512k, ce qui signifie que la flash totale de 8 Mbit (1 Mo) est partagée en deux zones de 512 ko : l'une pour le programme actif, l'autre réservée aux mises à jour à distance (OTA).\r\n\r\nÉtape 1 — Télécharger le firmware AT officiel\r\n\r\nLe firmware est mis à disposition par Espressif sur son site officiel :\r\n\r\nhttps://www.espressif.com/en/products/socs/esp8266ex/resources\r\n\r\n\r\n\r\nDans la section , choisir la version ou plus récente. L'archive ZIP téléchargée contient plusieurs binaires destinés à l'ESP8266EX.\r\n\r\nQuatre fichiers sont particulièrement importants :\r\nbootv1.7.bin — le chargeur de démarrage (bootloader), premier programme exécuté à la mise sous tension ;\r\nuser1.1024.new.2.bin — le programme AT proprement dit, qui interprète les commandes envoyées par la liaison série ;\r\nespinitdatadefaultv08.bin — les données d'initialisation (paramètres radio, calibration) ;\r\nblank.bin — un fichier rempli de zéros, utilisé pour réinitialiser certaines zones de la flash.\r\n\r\nUne copie de ces binaires pour la configuration ESP8266EX 512k+512k est disponible ici :\r\n\r\nhttps://gitlab.com/cedricAbonnel/esp/-/tree/master/esp01/esp8266exatbin\r\n\r\nÉtape 2 — Identifier le port série de l'ESP-01\r\n\r\nL'ESP-01 ne se connecte pas directement à un port USB : il faut passer par un adaptateur USB-série (souvent un module FTDI ou CH340). Une fois branché, l'ordinateur expose ce périphérique sous la forme d'un fichier dans .\r\n\r\nPour repérer ce fichier, exécuter dans un terminal :\r\n\r\n\r\n\r\nParmi les entrées affichées, celle qui nous intéresse est généralement /dev/ttyUSB0 (parfois si plusieurs adaptateurs sont branchés, ou selon le modèle).\r\n\r\nUne astuce utile : exécuter la commande une première fois sans l'adaptateur, puis une seconde fois après l'avoir branché. La nouvelle entrée qui apparaît est celle du module.\r\n\r\nÉtape 3 — Préparer le téléversement avec esptool.py\r\n\r\nesptool.py est l'outil officiel d'Espressif, écrit en Python, qui permet de communiquer avec la mémoire flash de l'ESP8266EX. S'il n'est pas déjà installé, on peut l'obtenir via :\r\n\r\n\r\n\r\nAvant le téléversement, l'ESP-01 doit être placé en mode programmation : la broche GPIO0 doit être reliée à la masse (GND) au moment de la mise sous tension. Sans cette manipulation, le module démarre normalement et refuse l'écriture en flash.\r\n\r\nÉtape 4 — Téléverser les binaires\r\n\r\nLa commande suivante écrit les quatre binaires aux bonnes adresses mémoire :\r\n\r\n\r\n\r\nDécortiquons les options :\r\nindique le port série identifié à l'étape précédente ;\r\nest la sous-commande d'écriture en mémoire flash ;\r\nprécise le mode d'accès à la flash (Quad I/O, le plus rapide, supporté par l'ESP-01).\r\n\r\nChaque valeur hexadécimale (, , etc.) qui précède un nom de fichier indique l'adresse mémoire à laquelle l'écriture doit commencer. La table de correspondance officielle pour une flash de 8 Mbit organisée en 512k+512k est la suivante :\r\n\r\n\r\n\r\nL'adresse correspond aux paramètres système, et à la zone RF système : les remplir de zéros () garantit un démarrage propre.\r\n\r\nSi tout se passe bien, esptool affiche la progression du téléversement et confirme la réussite de l'opération. C'est le moment d'apprécier le travail accompli :\r\n\r\n\r\n\r\nÉtape 5 — Vérifier le bon fonctionnement\r\n\r\nAprès le téléversement, retirer la connexion entre GPIO0 et la masse, puis redémarrer le module. Ouvrir une console série (par exemple avec , ou la console série de l'IDE Arduino) à la vitesse 115200 bauds :\r\n\r\n\r\n\r\nTaper la commande suivie d'un retour à la ligne. Le module doit répondre . La commande retourne la version du firmware installé, ce qui permet de confirmer la réussite de la réinitialisation.\r\n\r\n\r\n\r\nEn cas de problème\r\n\r\nQuelques pistes si la procédure échoue :\r\nAucune réponse d'esptool : vérifier que GPIO0 est bien reliée à GND au moment de l'alimentation, et que l'adaptateur USB-série fournit assez de courant (l'ESP-01 demande des pics jusqu'à 300 mA).\r\nRéponses illisibles dans la console série : la vitesse par défaut a pu changer selon la version du firmware. Essayer 9600, 74880 ou 115200 bauds.\r\nErreur de checksum ou de mode flash** : essayer à la place de , certains clones d'ESP-01 ne supportent pas le mode Quad I/O.\r\n\r\nConclusion\r\n\r\nCette procédure restaure un ESP-01 dans son état d'origine, prêt à recevoir des commandes AT depuis n'importe quel système capable de dialoguer en série : ordinateur, Arduino, Raspberry Pi, etc. Elle constitue également un bon exercice d'introduction aux notions de firmware, de mémoire flash et de programmation bas-niveau des microcontrôleurs."},{"uuid":"ca8c6097-1382-485b-a9b3-eebd6917ded0","slug":"api-first-concevoir-ses-applications-autrement","title":"🚀 API-First : Concevoir ses applications autrement","category":"informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2025-05-16 23:16:00","created_at":"2025-05-16 23:16:00","updated_at":"2025-05-16 21:19:41","tags":[],"plain":"Et si on arrêtait de développer des applications \"comme avant\" ? Lapproche API-First propose de repenser la manière dont nous concevons nos systèmes dinformation. Fini le back-end monolithique couplé à un front rigide : place aux APIs, universelles, testables, et réutilisables.\r\n\r\nAPI-First, ce nest pas seulement exposer des endpoints REST : cest un changement de paradigme.\r\n--\r\n\r\nQuest-ce que lapproche API-First ?\r\n\r\nConcrètement, cela signifie que toute la logique métier est exposée via une API, dès la conception. Que ce soit le site web, l'application mobile, ou même un script en ligne de commande, tout passe par lAPI, sans exception.\r\n\r\nLinterface utilisateur ne fait que consommer lAPI, comme nimporte quel client.\r\n--\r\n\r\nPourquoi adopter cette approche ?\r\n\r\n1. Séparation claire des responsabilités\r\n\r\nLAPI devient la \"source de vérité\" métier. Le front peut évoluer sans impacter la logique back, et inversement. On peut même changer totalement de techno front (passer de PHP à React ou Flutter) sans toucher au cœur de l'application.\r\n\r\n2. Réutilisation multi-clients\r\n\r\nUne fois développée, lAPI peut être utilisée :\r\n\r\n par le site web,\r\n par une appli mobile,\r\n par un back-office,\r\n par des scripts automatisés,\r\n voire par des clients externes si l'API est publique.\r\n\r\n3. Testabilité et documentation\r\n\r\nEn adoptant une spec comme OpenAPI (Swagger), lAPI peut être testée indépendamment de linterface, documentée automatiquement, et même simulée dès la phase de conception.\r\n\r\n4. Sécurité centralisée\r\n\r\nEn isolant la logique serveur dans une API, on peut gérer :\r\n\r\n lauthentification (token, JWT),\r\n les droits (ACL, RBAC),\r\n les logs daccès,\r\n la limitation de débit.\r\n--\r\n\r\nQuels défis à relever ?\r\n\r\n1. Organisation du projet\r\n\r\nLAPI devient le cœur de lapplication. Cela nécessite :\r\n\r\n une couche de services bien définie,\r\n des conventions strictes de nommage, versionnage, structure des réponses.\r\n\r\n2. Gestion des sessions côté client\r\n\r\nOn passe de la session PHP classique à des tokens (Bearer, JWT) stockés dans le client (cookies sécurisés, localStorage, etc.).\r\n\r\n3. Montée en compétences\r\n\r\nLes équipes front doivent apprendre à consommer efficacement une API, à gérer les erreurs, les délais, les formats JSON.\r\n--\r\n\r\nBonnes pratiques\r\n\r\n Spécifier lAPI dès la phase de design (OpenAPI / Swagger)\r\n Documenter tous les endpoints avec exemples concrets\r\n Gérer finement les statuts HTTP, les erreurs, et les droits\r\n Tester chaque endpoint indépendamment\r\n Prévoir le versionnage de lAPI\r\n--\r\n\r\nExemple concret\r\n\r\nUn projet en PHP peut tout à fait être API-first :\r\n\r\n\r\n\r\nLe front appelle ces endpoints via ou , et les réponses sont des objets JSON formatés uniformément.\r\n--\r\n\r\nEn conclusion\r\n\r\nLapproche API-First est plus quun buzzword : cest une architecture moderne, modulaire et pérenne. Elle impose de penser son application comme une plateforme ouverte, documentée et testable, au bénéfice de toute l’équipe projet.\r\n\r\nElle favorise la qualité, la scalabilité et la maintenabilité. Et dans un monde où les interfaces se multiplient (web, mobile, IoT…), cest probablement le meilleur choix à long terme.\r\n--\r\n\r\n✉️ Pour aller plus loin :\r\n\r\n https://swagger.io\r\n https://jsonapi.org\r\nhttps://restfulapi.net"},{"uuid":"6f2639a5-58ed-4102-a6a2-0acbecf01de5","slug":"esp8266-commandes-at","title":"ESP8266 : prise en main des commandes AT","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-12-13 08:51","created_at":"2020-12-13 08:51:55","updated_at":"2026-05-13 18:23:54","tags":[],"plain":"Présentation\r\n\r\nL'ESP8266 est un microcontrôleur Wi-Fi développé par Espressif. Lorsqu'il sort d'usine, ou lorsqu'il est flashé avec le firmware AT officiel d'Espressif, il accepte un jeu d'instructions textuelles appelées commandes AT (ou commandes Hayes, du nom du fabricant de modems qui les a popularisées dans les années 1980).\r\n\r\nLe module ESP-01, le plus répandu pour découvrir l'ESP8266, est généralement livré avec ce firmware AT préchargé. Il est donc utilisable immédiatement, sans programmation, simplement en lui envoyant des commandes texte sur sa liaison série.\r\nPrérequis matériel : un ESP-01 connecté à un PC via un adaptateur USB-série, et un terminal série (moniteur série de l'IDE Arduino, , , PuTTY…) configuré à 115200 bauds avec fin de ligne CR+LF.\r\nNote sur les versions : la syntaxe et les codes retour des commandes AT varient selon la version du firmware. Les exemples ci-dessous correspondent à un firmware AT v1.x typique sur ESP-01. Pour les firmwares plus récents (AT v2.x sur ESP32), certaines commandes prennent des paramètres supplémentaires.\r\n\r\nTravaux pratiques\r\n\r\nL'enchaînement ci-dessous permet de mettre l'ESP-01 sur un réseau Wi-Fi, puis de le transformer en serveur HTTP minimaliste. Chaque commande est envoyée depuis le terminal série ; les lignes préfixées par représentent la réponse du module.\r\n\r\n1. Vérifier le mode Wi-Fi courant\r\n\r\n\r\n\r\nLe module répond avec un chiffre indiquant son mode courant (voir glossaire plus bas).\r\n\r\n2. Passer en mode dual (client + point d'accès)\r\n\r\n\r\n\r\nLe mode 3 active simultanément le mode station (le module se connecte à un Wi-Fi existant) et le mode AP (le module expose son propre point d'accès). C'est le mode le plus polyvalent pour expérimenter.\r\n\r\n3. Se connecter à un réseau Wi-Fi\r\n\r\n\r\n\r\nTrois événements sont remontés successivement :\r\nWIFI CONNECTED : association réussie au point d'accès ;\r\nWIFI GOT IP : adresse IP obtenue via DHCP ;\r\nOK : la commande est terminée avec succès.\r\n\r\n4. Lister les adresses IP et MAC du module\r\n\r\n\r\n\r\nEn mode dual, le module possède deux interfaces réseau :\r\nAP (point d'accès) : adresse fixe par défaut, sur laquelle se connectent les clients du Wi-Fi exposé par l'ESP ;\r\nSTA (station/client) : adresse attribuée par le routeur du réseau auquel l'ESP s'est connecté.\r\n\r\n5. Activer les connexions multiples\r\n\r\n\r\n\r\nPar défaut, l'ESP n'accepte qu'une seule connexion TCP simultanée. Le mode multi-connexion est obligatoire pour faire fonctionner le module en serveur (étape suivante).\r\n\r\n6. Démarrer un serveur TCP sur le port 80\r\n\r\n\r\n\r\nLe module écoute désormais sur le port 80 de son adresse STA. Un simple navigateur pointé sur (l'adresse retournée par ) déclenche une connexion HTTP.\r\n\r\n7. Observer une requête entrante\r\n\r\nLorsqu'un client se connecte, l'ESP recopie sur la liaison série l'événement de connexion, puis la requête HTTP brute, et enfin la fermeture de la connexion :\r\n\r\n\r\n\r\nLecture :\r\n: un client vient de s'associer ; est l'identifiant de connexion (link ID), utile en mode multi-connexion ;\r\n: l'ESP a reçu 341 octets sur la connexion ; ces octets suivent immédiatement (ici, l'en-tête HTTP envoyé par Firefox) ;\r\n: le client a fermé la connexion (ou un timeout est intervenu).\r\n\r\nÀ ce stade, l'ESP ne répond rien au client : il faut explicitement envoyer une réponse avec (voir glossaire). Le navigateur affichera donc une page vide ou un message d'erreur.\r\n\r\nPour aller plus loin : répondre au client\r\n\r\nPour renvoyer une page HTML minimale au client :\r\n\r\n\r\n\r\nLe module affiche et attend exactement le nombre d'octets annoncé, puis envoie le tout sur la connexion . Il faut ensuite fermer la connexion avec :\r\n--\r\n\r\nGlossaire des commandes AT\r\n\r\nConventions\r\n\r\nTrois formes coexistent pour la plupart des commandes :\r\nForme | Syntaxe | Rôle |\r\n---|---|---|\r\nInterrogation | | Lire la valeur courante |\r\nTest | | Lister les valeurs autorisées |\r\nAffectation | | Modifier la valeur |\r\n\r\nLes chaînes de caractères (SSID, mot de passe…) sont toujours encadrées par des guillemets droits.\r\n\r\nCommandes Wi-Fi\r\n\r\n— Mode de fonctionnement Wi-Fi\r\n\r\n\r\n\r\nValeurs de :\r\nValeur | Mode | Description |\r\n---|---|---|\r\n1 | STA | Station/client : le module se connecte à un Wi-Fi existant |\r\n2 | AP | Point d'accès : le module expose son propre Wi-Fi |\r\n3 | STA+AP | Mode dual : les deux à la fois |\r\n\r\nExemple :\r\n\r\n\r\n\r\n— Lister les points d'accès visibles\r\n\r\n\r\n\r\nRetourne une ligne par réseau détecté, sous la forme :\r\nChamp | Signification |\r\n---|---|\r\n| Chiffrement : ouvert, WEP, WPA-PSK, WPA2-PSK, WPA/WPA2-PSK |\r\n| Nom du réseau |\r\n| Puissance du signal en dBm (plus la valeur est proche de 0, plus le signal est fort) |\r\n| Adresse MAC du point d'accès (BSSID) |\r\n| Canal Wi-Fi (1 à 13 en Europe sur 2,4 GHz) |\r\n\r\nExemple :\r\n\r\n\r\n\r\nPrérequis : doit inclure le mode station (1 ou 3).\r\n\r\n— Se connecter à un point d'accès\r\n\r\n\r\n\r\nCodes d'erreur retournés en cas d'échec via :\r\nCode | Signification |\r\n---|---|\r\n1 | Délai de connexion dépassé |\r\n2 | Mot de passe incorrect |\r\n3 | SSID introuvable |\r\n4 | Échec de connexion (autre) |\r\n\r\nExemple d'échec :\r\n\r\n\r\n\r\nExemple de réussite :\r\n\r\n\r\n\r\n— Se déconnecter du point d'accès\r\n\r\n\r\n\r\nÀ ne pas confondre avec une commande de sauvegarde : signifie Quit AP, c'est-à-dire déconnexion. Les paramètres de connexion (SSID, mot de passe) sont en revanche automatiquement mémorisés en flash par les commandes et dans les versions classiques du firmware AT — le module se reconnectera donc au démarrage suivant.\r\n\r\n— Adresses IP et MAC locales\r\n\r\n\r\n\r\nRenvoie les adresses IP et MAC du module pour chaque interface active :\r\n/ : interface point d'accès (toujours par défaut) ;\r\n/ : interface station (attribuée par le DHCP du réseau rejoint).\r\n\r\nEn mode , seule la partie STA est retournée ; en mode 2, seule la partie AP.\r\n\r\nCommandes TCP/IP\r\n\r\n— Activer les connexions multiples\r\n: connexion unique (mode par défaut) ;\r\n: jusqu'à 5 connexions simultanées, chacune identifiée par un link ID de 0 à 4.\r\n\r\nPrérequis pour passer en mode 1 : aucune connexion ne doit être active, et le module ne doit pas déjà être en mode serveur.\r\n\r\n— Démarrer un serveur TCP\r\n: pour démarrer, pour arrêter ;\r\n: port d'écoute, optionnel (par défaut 333).\r\n\r\nPrérequis : doit avoir été exécuté au préalable.\r\n\r\nAprès un arrêt (), un redémarrage du module est nécessaire () pour libérer complètement le port.\r\n\r\n— Envoyer des données sur une connexion\r\n\r\n\r\n\r\nLe module affiche un prompt et attend exactement octets, puis transmet le bloc au client. Indispensable pour répondre à une requête HTTP entrante.\r\n\r\n— Fermer une connexion\r\n\r\n\r\n\r\nCommandes générales utiles\r\nCommande | Rôle |\r\n---|---|\r\n| Test de présence du module (doit répondre ) |\r\n| Redémarrer le module |\r\n| Afficher la version du firmware AT |\r\n| Changer le débit série (non persistant) |\r\n/ | Désactiver / activer l'écho des commandes |\r\n--\r\n\r\nRécapitulatif : déclarer un serveur HTTP minimal\r\n\r\nSéquence complète depuis un ESP-01 vierge :\r\n\r\n\r\n\r\nÀ partir de cet instant, toute connexion entrante sur est remontée sur le port série sous forme d'événements , à charge pour le programme côté PC (ou pour un firmware personnalisé) de les analyser et de répondre via .\r\n\r\nLimites du firmware AT\r\n\r\nLe firmware AT est pratique pour découvrir et tester l'ESP8266, mais il montre vite ses limites :\r\nlatence importante (chaque commande passe par le port série) ;\r\npas de TLS correct dans les anciennes versions ;\r\ncomplexité pour gérer plusieurs clients simultanés ;\r\ndépendance à un hôte qui pilote l'ESP en permanence.\r\n\r\nPour des projets plus aboutis, il est préférable de flasher l'ESP avec un firmware personnalisé (Arduino, ESP-IDF, MicroPython, Tasmota, ESPHome…) qui exécute directement la logique applicative sur le microcontrôleur, sans intermédiaire série.\r\n```"},{"uuid":"cf73c090-c7ed-4d29-9432-4402fb18b3e6","slug":"la-cloche-de-l-eglise-de-saint-sulpice-des-rivoires-fait-peau-neuve","title":"La cloche de l'église de Saint-Sulpice des Rivoires fait peau neuve !","category":"Loisirs","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2021-08-26 06:36:37","created_at":"2021-08-26 06:36:37","updated_at":"2021-08-26 06:36:37","tags":[],"plain":"Les cloches font partie du patrimoine communal : ce sont des objets d'art et les instruments de musique des clochers. Outil liturgique servant de signal à la communauté chrétienne, elles sont aussi un organe de communication qui rythment la vie quotidienne, ton profane que religieuse, des habitants. Celle de notre clocher été endommagé au niveau des points de frappe suite au cumul des années de fonctionnement. Il fallait également sécuriser les cadres dégradés par les intempéries. La dépose, le ressuage, la restauration, la repose ont été confiés à une entreprise campanaire habilitée à ce genre de mission. Cette cloche date de 1868, sous l'empereur Napoléon III, et pèse 517 kg pour une circonférence de 98 cm. Elle est composée d'airain (alliage noble de cuivre à 78 % et d'étain à 22 %). Décorée d'ornementations, on peut voir aussi clairement inscrit dessus le nom des donateurs de l'époque qui ont permis sa réalisation. Faute de pouvoir se réunir de manière festive autour d'un verre de l'amitié pour inaugurer l'achèvement de sa restauration, la cloche a été exposé durant le weekend du 20 et 21 mars, dans le tambour de l'église. Un grand merci aux donateurs qui ont collaboré à la réfection de cet ouvrage et qui, ainsi, on contribuer à la conservation d'un bien commun du village.\n- // P.B. - Les Abrets, Tous Ensemble 239, juin 2021"},{"uuid":"dfdc14e3-cd61-486b-89d5-6e5da9d6db89","slug":"tout-savoir-sur-le-tbw-teraoctets-ecrits","title":"Tout savoir sur le TBW : Téraoctets Écrits","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2025-02-09 09:17:23","created_at":"2025-02-09 09:17:23","updated_at":"2025-02-09 09:17:23","tags":[],"plain":"Le TBW, ou Téraoctets Écrits, est une métrique clé pour évaluer la durée de vie des disques SSD (Solid State Drive). Il s'agit d'une mesure indiquant la quantité totale de données qu'un SSD peut écrire avant de commencer à risquer des défaillances. Le TBW correspond au volume total de données que le fabricant garantit pouvoir être écrit sur un SSD avant que les performances ou la fiabilité ne se dégradent. Par exemple, un SSD avec un TBW de 300 To signifie qu'il peut écrire jusqu'à 300 téraoctets de données sur sa durée de vie avant de dépasser sa garantie. Le TBW est une valeur essentielle, car contrairement aux disques durs traditionnels (HDD), les SSD utilisent des cellules de mémoire flash qui s'usent à chaque cycle d'écriture/effacement. Une fois les cellules trop usées, elles deviennent inutilisables. Les fabricants intègrent des technologies comme le wear leveling pour distribuer uniformément les écritures et prolonger la durée de vie du disque. Le TBW dépend de plusieurs facteurs : 1. Technologie de mémoire flash :\nSLC (Single-Level Cell) : Très durable, mais coûteuse. Chaque cellule peut supporter 90 000 à 100 000 cycles.\nMLC (Multi-Level Cell) : Plus courante, environ 3 000 à 10 000 cycles par cellule.\nTLC (Triple-Level Cell) : Offre 500 à 3 000 cycles par cellule. La plupart des SSD grand public l'utilisent.\nQLC (Quad-Level Cell) : Moins durable, entre 150 et 1 000 cycles, mais moins cher. 2. Capacité du SSD : Les SSD de plus grande capacité ont généralement un TBW plus élevé, car ils disposent de plus de cellules pour répartir les écritures. Si vous effectuez des tâches nécessitant de nombreuses écritures (montage vidéo, machine virtuelle, serveurs de données, etc.), un TBW élevé est nécessaire. Voici quelques exemples de TBW garantis pour des SSD typiques (ces valeurs varient selon le modèle et la marque) :\nSSD 250 Go : 100 à 150 TBW\nSSD 500 Go : 300 TBW\nSSD 1 To : 600 TBW\nSSD 2 To : 1 200 TBW Les SSD professionnels ou destinés aux serveurs peuvent offrir des TBW beaucoup plus élevés (plusieurs pétaoctets écrits). Le TBW permet de prédire la durée de vie d'un SSD en fonction de vos habitudes. Par exemple, si vous écrivez 50 Go par jour, un SSD avec un TBW de 300 To durera environ 16 ans (300 To ÷ 50 Go ÷ 365 jours). Pour un utilisateur moyen qui écrit 20 Go par jour (navigation, streaming, jeux, etc.), même un SSD avec un TBW de 100 To peut durer plus de 13 ans. Dans un environnement de travail nécessitant 300 Go/jour (édition vidéo, bases de données), un SSD avec un TBW de 600 To durerait environ 5 ans. Surveiller le TBW actuel sous Linux\nLancez la commande suivante pour analyser les données SMART de votre SSD : Pour les SSD NVMe, utilisez cette commande : Exemple de sortie pour un disque NVMe\nData Units Written :\nIl a été écrit 776903 unités de données, ce qui correspond à 397 Go. Cette valeur est directement lisible et ne nécessite aucune conversion supplémentaire pour les SSD NVMe. Le SSD a donc une usure très faible, ce qui est confirmé par le champ Percentage Used.\nPercentage Used :\nLa valeur 0% indique que le SSD n'a quasiment pas été utilisé par rapport à sa durée de vie estimée. Cela signifie que votre SSD est en excellent état et loin d'atteindre ses limites d'écriture.\nPower On Hours :\nLe SSD a fonctionné pendant 369 heures, ce qui équivaut à environ 15 jours de fonctionnement continu. Cela indique également qu'il est encore relativement peu utilisé.\nAutres indicateurs rassurants : Critical Warning : 0x00 (aucun problème critique détecté). Available Spare : 100% (tous les blocs de réserve sont disponibles, aucun n'a encore été utilisé pour compenser des blocs défectueux). Media and Data Integrity Errors : 0 (aucune erreur d'intégrité détectée).\nTempérature : Temperature Sensor 1 indique 52°C, ce qui est un peu élevé mais toujours dans la plage normale pour un SSD NVMe en fonctionnement. Temperature Sensor 2 est plus bas, à 31°C. ce qui est un peu élevé. Bien ventiler le SSD surtout s'il est utilisé pour des tâches intensives. Autre exemple de sortie pour un disque SSD\nPowerOnHours (9) : Le SSD a fonctionné pendant 6810 heures (soit environ 284 jours si utilisé 24h/24).\nPowerCycleCount (12) : Il a été mis sous tension 631 fois, ce qui indique un usage fréquent mais sans problèmes.\nTemperatureCelsius (194) : La température actuelle est de 13°C, avec un minimum de 5°C et un maximum de 32°C. Cela indique un bon environnement pour le SSD.\nTotalLBAsWritten (241) : La valeur brute de TotalLBAsWritten est 7348. Cela représente le nombre total de blocs logiques écrits. Conversion des LBA (Logical Block Address) en téraoctets écrits** Chaque LBA correspond généralement à 512 octets. Donc, les données totales écrites en octets sont : Convertissons cela en téraoctets : Que se passe-t-il lorsque le TBW est atteint ?\nLorsque le TBW dun SSD est atteint, cela ne signifie pas que le disque cesse immédiatement de fonctionner. La plupart des SSD continuent de fonctionner en mode lecture seule, mais les écritures supplémentaires risquent de provoquer des erreurs ou des pertes de données. Les constructeurs garantissent généralement les performances jusqu’à ce seuil, mais le disque peut rester utilisable au-delà, avec des risques accrus."}]