LDI12 Diagnostic est l'outil que j'emmène en intervention. Un fichier unique, posé sur une clé USB, qui examine un PC Windows et rend deux documents : un rapport détaillé pour le technicien, un bilan lisible pour la personne à qui appartient la machine. Il est gratuit, il ne s'installe pas, et rien de ce qu'il relève ne quitte l'ordinateur.
Ce qu'il regarde
Trente-neuf modules parcourent la machine et cent quarante-neuf règles traduisent ce relevé en constats. L'analyse rapide prend une dizaine de secondes, l'analyse complète deux à quatre minutes selon l'état du disque.
- Matériel : processeur, mémoire, carte mère, écrans, batterie, températures, et les erreurs que la machine signale elle-même dans ses journaux.
- Stockage : santé SMART des disques, espace réel, occupation cachée du dossier Windows, usure des SSD, vitesse mesurée plutôt que déduite de la référence.
- Windows : mises à jour, services, démarrage, tâches planifiées, logiciels installés, comptes et profils, horloge et synchronisation, points de restauration.
- Réseau : cartes, adresses, qualité du sans-fil, table de routage, fichier hosts, résolution de noms, ports en écoute, et le chemin réel d'un paquet jusqu'à la sortie.
Ce qu'il affirme, et ce qu'il refuse d'affirmer
C'est la règle qui a décidé de tout le reste : ne jamais dire ce qui n'a pas été mesuré. Une valeur que la machine n'a pas voulu donner n'est pas remplacée par une estimation, elle est affichée absente, avec la raison de son absence. Un contrôle qui n'a pas pu s'exécuter ne fait pas baisser la note : il sort du calcul, et la confiance affichée le dit.
La note sur cent n'est donc pas un chiffre décoratif. Chaque point retiré se rattache à un constat, chaque constat à une mesure, et le rapport technicien contient le détail ligne à ligne de ce calcul.
Dix-sept réparations, montrées avant d'être faites
Le logiciel ne se contente pas de décrire. Il sait vider un cache DNS, renouveler une adresse, remettre le fichier hosts dans son état d'origine, relancer la découverte du voisinage réseau, réinitialiser le pare-feu, réparer les fichiers système, nettoyer les fichiers temporaires, sauvegarder les dossiers personnels vers un disque externe.
Aucune de ces opérations ne part sur un simple clic. Chacune affiche d'abord ce qu'elle va faire, ce qu'elle ne touchera pas, la commande exacte qu'elle va lancer et ce qui sera perdu au passage. Le nettoyage montre la liste des fichiers concernés avant de supprimer quoi que ce soit. Un point de restauration se crée en un bouton, et tout ce qui a été fait pendant l'intervention est consigné dans un journal repris dans les rapports.
Comment il est fait
Le logiciel est écrit en C#, avec une interface WPF, sur le .NET Framework 4.6.2. Ce choix n'est pas de la nostalgie : cette version est présente d'origine sur tout Windows depuis Windows 10, et s'installe sur un Windows 7 SP1. Un logiciel de diagnostic qui exigerait d'abord l'installation d'un environnement d'exécution serait inutilisable sur la moitié des machines qu'on m'apporte.
- Un seul fichier, une seule architecture : l'exécutable est compilé en AnyCPU. Il tourne en 64 bits sur un Windows 64 bits, en 32 bits sur un Windows 32 bits, et en émulation sur les machines ARM. Ses dépendances sont embarquées dedans, il n'y a rien à côté.
- Les mesures viennent des interfaces de Windows : appels système natifs quand ils existent, base de registre, WMI, journaux d'événements, et seulement en dernier recours la sortie d'un outil en ligne de commande.
- Les modules fragiles tournent à part : un relevé qui bloque, sur une machine dont le service WMI est abîmé, s'exécute dans un second processus et ne peut pas emporter l'application.
- Neuf cents tests automatisés accompagnent le code, dont une bonne part porte sur les cas tordus rencontrés sur de vraies machines plutôt que sur le cas idéal.
Les seules bibliothèques tierces embarquées sont Newtonsoft.Json pour la lecture des diagnostics archivés, et LibreHardwareMonitorLib pour les capteurs matériels, désactivée par défaut. La liste complète et les licences sont fournies avec le logiciel.
Le code est publié : github.com/valben12/ldi12-diagnostic. On peut y lire comment chaque mesure est prise, et les documents de conception qui expliquent ce qui a été essayé puis abandonné en chemin. La licence autorise la lecture et la copie du programme, pas sa modification ni sa revente.
Le pilote de capteurs et votre antivirus
Un point mérite d'être expliqué clairement, parce qu'il inquiète à juste titre.
Windows ne donne aucun moyen de lire la température d'un processeur depuis un programme ordinaire. Ni le capteur d'Intel ni celui d'AMD ne sont accessibles autrement que par un pilote qui parle directement au matériel. C'est vrai pour tout le monde : HWMonitor, HWiNFO, Core Temp, MSI Afterburner et NZXT CAM installent tous un pilote de ce type. Il n'existe pas d'autre chemin.
Or ces pilotes donnent un accès très large au matériel, et Microsoft en a placé plusieurs sur sa liste de pilotes vulnérables. Résultat : quand ce pilote est chargé, Windows Defender le signale, sous un nom qui désigne le pilote lui-même et non le logiciel qui l'utilise. Cette alerte ne parle pas de LDI12 Diagnostic : elle parle d'un composant tiers, connu, utilisé par tous les outils qui affichent une température.
Voilà pourquoi, dans LDI12 Diagnostic, cette lecture est désactivée par défaut. Tant que vous n'activez pas l'interrupteur prévu dans les réglages, aucun pilote n'est chargé, et aucune alerte n'apparaît. Le reste du diagnostic fonctionne entièrement sans lui : les températures de la carte graphique et des disques, elles, se lisent sans rien installer.
Si vous l'activez, l'écran vous dit exactement ce que cela engage avant de le faire, et le pilote est déchargé à la fermeture. C'est un choix que vous prenez en connaissance de cause, pas un cadeau glissé dans l'installation.
Les deux documents
À la fin de l'analyse, le logiciel écrit un rapport technicien, un bilan client et un instantané au format JSON. Le rapport technicien contient tout : les caractéristiques relevées, y compris celles qui manquent avec leur raison, l'état de chaque module de collecte, et le détail des points retirés. Le bilan client dit la même chose sans jargon et sans identifiant de règle, dans une page qui s'imprime depuis n'importe quel navigateur.
Deux analyses de la même machine se comparent : le comparatif avant et après montre ce qui a été réglé, ce qui reste, et ce qui n'a pas pu être revérifié. C'est ce qu'on remet à quelqu'un pour justifier une intervention.
Envoyer le dossier dans Klarvi
Klarvi est l'application avec laquelle je suis mes interventions. LDI12 Diagnostic sait y déposer un dossier une fois l'analyse faite : le rapport se range à côté de la fiche du client, sans recopie et sans pièce jointe à retrouver dans une boîte aux lettres.
C'est facultatif d'un bout à l'autre. Sans configuration d'atelier, l'écran d'export ne propose aucune destination et le logiciel se comporte exactement comme s'il n'en existait pas. Avec, rien ne part tant que personne ne l'a demandé : « Préparer l'envoi » affiche d'abord, ligne par ligne, ce qui quitterait la machine, et le bouton d'envoi ne vient qu'après.
Ce qui part : le nom de la machine, la référence du dossier, le nom du technicien, la note, l'empreinte de la machine, qui est un condensé servant à rapprocher deux passages du même poste et non un numéro de série, et les documents tels qu'ils sont remis au client. Rien d'autre : ni le diagnostic brut, ni les comptes Windows, ni les réseaux sans fil relevés dans le logement.
Ce qu'il ne fait pas
- Ce n'est pas un antivirus. Il constate l'état des protections installées, il ne cherche pas de logiciel malveillant et n'en retire aucun.
- Il ne supprime jamais de données personnelles de lui-même, et rien n'est effacé sans avoir été montré ligne à ligne.
- Il ne promet pas d'accélérer la machine. Il montre ce qui la ralentit, ce qui est différent.
- Il n'envoie rien de lui-même. Aucun compte, aucune inscription, aucune statistique d'usage. Deux connexions existent, et l'une comme l'autre se demandent : la vérification de mise à jour, proposée au premier lancement, et le dépôt d'un dossier dans Klarvi pour les ateliers qui s'en servent.
S'en servir
Téléchargez le fichier, copiez-le sur une clé USB, lancez-le sur la machine à examiner. Il fonctionne en session utilisateur ordinaire. Certaines mesures et certaines réparations demandent les privilèges administrateur : le logiciel ouvre alors une invite Windows, une seule fois pour toute la session, et dit à chaque fois ce que cela engage.
Il n'écrit rien ailleurs que dans un seul dossier de votre profil, et l'écran Nettoyage propose d'effacer toute trace de son passage.
Vérifier le fichier avant de le lancer
Le logiciel n'est pas encore signé numériquement : Windows annoncera un éditeur inconnu au premier lancement, et proposera de ne pas l'exécuter. C'est le comportement normal pour un exécutable sans certificat, quel qu'il soit.
L'empreinte SHA-256 est affichée sur cette page, à côté du téléchargement. Pour la vérifier, ouvrez PowerShell dans le dossier du fichier et lancez Get-FileHash .\LDI12-Diagnostic-1.23.0.exe. Si les deux chaînes sont identiques, caractère pour caractère, le fichier que vous avez est exactement celui que j'ai publié : ni un intermédiaire ni un téléchargement de travers ne l'ont modifié.
Et si un antivirus dit quelque chose ? Un exécutable sans certificat de signature déclenche parfois une détection dite heuristique, chez un moteur ou deux sur la soixantaine que compare un service comme VirusTotal. Ce n'est pas un avis sur le contenu du fichier : c'est la façon dont ces moteurs traitent un programme qu'ils n'ont jamais vu, qui lit du matériel et que personne n'a signé. Un logiciel installé par des millions de gens ne déclenche rien parce qu'il est connu, pas parce qu'il est meilleur.
Ce qui répond vraiment à la question est ailleurs, et tient en trois points : l'empreinte ci-dessus, qui prouve que le fichier est bien celui publié ici ; le fait que le logiciel n'ouvre aucune connexion, ce que n'importe quel pare-feu confirme ; et le certificat de signature, qui viendra lever l'avertissement de Windows.
