Détecteur de type de fichier
Identifiez le véritable type d'un fichier en analysant ses signatures binaires. Vérifiez l'extension, le MIME réel et l'authenticité d'un fichier en ligne.
À propos du détecteur de type de fichier
Cet outil détecte le vrai format d'un fichier grâce aux magic bytes, plutôt que de se fier à l'extension. Téléversez un fichier pour découvrir son MIME authentique et l'extension recommandée. Idéal pour repérer des fichiers renommés, vérifier un téléchargement ou identifier un format inconnu, sans sortir du navigateur.
Comment fonctionne un détecteur de type de fichier sans l'extension ?
Les véritables détecteurs de type de fichier lisent les premiers octets du fichier — appelés nombre magique ou signature de fichier — plutôt que de faire confiance à l'extension. La plupart des formats binaires commencent par un motif d'octets unique : PNG commence par 89 50 4E 47 0D 0A 1A 0A, JPEG par FF D8 FF, PDF par 25 50 44 46 (qui est ASCII pour %PDF) et ZIP par 50 4B 03 04 (PK plus octets de version). Le détecteur compare ces octets à une base de données de signatures connues et renvoie la meilleure correspondance. Cette approche est bien plus fiable que la détection basée sur l'extension car les utilisateurs peuvent renommer fichier.exe en fichier.txt, mais ne peuvent pas facilement modifier les octets magiques intégrés sans corrompre le fichier. La technique est documentée dans des standards comme RFC 2046 (MIME) et sous-tend des outils comme la commande Unix file(1).
Pourquoi mon fichier a-t-il la mauvaise extension mais s'ouvre correctement ?
Les applications modernes ignorent souvent l'extension et inspectent le contenu réel. Quand vous double-cliquez sur un fichier, le système d'exploitation utilise l'extension comme première supposition pour choisir une application, mais l'application elle-même lit les octets magiques pour décider comment analyser le contenu. Ainsi un JPEG renommé photo.png s'ouvrira toujours dans n'importe quel visionneur d'images car le visionneur détecte l'en-tête JPEG FF D8 FF et change son analyseur. L'extension importe principalement pour la couche d'association de fichiers du SE et pour les utilisateurs parcourant des dossiers. C'est aussi pourquoi une pièce jointe .pdf malveillante peut être en réalité un .exe — le SE peut lancer un lecteur PDF s'attendant à un contenu PDF valide, mais si Windows est configuré pour masquer les extensions et que le fichier est facture.pdf.exe, il peut s'exécuter comme du code.
Que sont les types MIME et comment se rapportent-ils aux types de fichier ?
Les types MIME (Multipurpose Internet Mail Extensions, définis dans RFC 2045–2049 et enregistrés via RFC 6838) sont des chaînes standardisées comme image/png, application/pdf ou text/html qui décrivent le format d'un fichier pour usage dans les en-têtes HTTP, pièces jointes d'e-mail et API web. Chaque type MIME a une catégorie de premier niveau (text, image, audio, video, application, multipart, message, model, font) et un sous-type. Les détecteurs de type de fichier renvoient généralement à la fois le nom de format lisible et le type MIME pour que le résultat puisse être utilisé directement dans le code : définir un en-tête Content-Type sur une réponse web, choisir une icône de fichier ou router le fichier vers le bon processeur. L'IANA maintient le registre officiel des types MIME — plus de 2000 sont enregistrés.
Quand dois-je détecter le type de fichier au lieu de faire confiance à l'extension ?
Détectez toujours par contenu lorsque vous gérez des téléversements d'utilisateurs, traitez des pièces jointes d'e-mail, scannez des malwares ou construisez tout système où la sécurité compte. Les extensions sont des métadonnées contrôlées par l'utilisateur et peuvent être fausses par accident (Windows masque les extensions par défaut, donc les utilisateurs renomment négligemment) ou par intention malveillante (les attaquants déguisent les exécutables en images ou documents). Détectez par extension uniquement pour des indices d'interface utilisateur à faible enjeu — choisir une icône dans un explorateur de fichiers, trier un dossier ou deviner une application de démarrage. Les applications web téléversant du contenu utilisateur devraient rejeter les fichiers dont le MIME détecté ne correspond pas à l'extension déclarée, ou stocker le type détecté et servir les fichiers avec les bons en-têtes Content-Type et Content-Disposition.

Quels types de fichiers sont les plus difficiles à détecter de manière fiable ?
Les formats de texte brut ont les signatures les plus faibles car ils consistent principalement en caractères ASCII sans en-tête fixe. Distinguer entre CSV, TSV, JSON, YAML, XML, Markdown et code source nécessite souvent une analyse statistique ou un reniflage de schéma — vérifier les délimiteurs communs, les accolades équilibrées ou les règles d'indentation YAML. Les fichiers UTF-8 peuvent commencer par une marque d'ordre des octets (EF BB BF) mais c'est optionnel. Les formats conteneurs comme ZIP, OOXML (.docx, .xlsx), JAR et EPUB partagent tous la même signature PK car OOXML et apparentés sont techniquement des archives ZIP avec une disposition interne spécifique. Les détecteurs doivent lire le répertoire central du ZIP pour trouver des fichiers comme [Content_Types].xml ou META-INF/MANIFEST.MF pour affiner la classification. Les fichiers chiffrés, par conception, ressemblent à du bruit aléatoire.
Un fichier peut-il avoir plusieurs types valides ou être hybride ?
Oui — les fichiers polyglottes sont délibérément conçus pour être valides dans deux ou plusieurs formats simultanément. Un exemple classique est GIFAR (GIF+JAR), un fichier qui se charge comme image dans un navigateur mais s'exécute comme archive Java dans une JVM, utilisé dans les premières attaques web. Les polyglottes PDF/JPEG et PDF/ZIP existent aussi car PDF tolère les données en fin de fichier tandis que ZIP scanne à reculons depuis la fin du fichier. Ce ne sont pas des bugs d'un format individuel mais des exploits de tolérances d'analyseur qui se chevauchent. Au-delà des polyglottes, les formats conteneurs comme Matroska (MKV) et ISO BMFF (MP4) peuvent contenir de nombreux codecs, donc le type de fichier ne restreint que l'enveloppe — les flux audio et vidéo réels nécessitent une inspection plus approfondie.
Quelle est la précision du reniflage MIME dans les navigateurs, et quel est le risque de sécurité ?
Les navigateurs ont historiquement effectué un reniflage MIME agressif — outrepassant l'en-tête Content-Type du serveur en inspectant les premières centaines d'octets de la réponse. C'était utile quand les serveurs configuraient mal les en-têtes mais c'est devenu un désastre de sécurité : un fichier HTML servi avec image/png pouvait toujours être interprété comme HTML et exécuter des scripts, permettant des attaques par injection de contenu. Le correctif est l'en-tête de réponse X-Content-Type-Options: nosniff (défini dans le standard WHATWG fetch), qui force les navigateurs à respecter le Content-Type déclaré. Les navigateurs modernes restreignent aussi le reniflage dans de nombreux contextes. Les détecteurs de type de fichier côté serveur complètent cela en s'assurant que le contenu téléversé correspond réellement à son type déclaré avant le stockage.
Quelle est la différence entre format de fichier, conteneur et codec ?
Un format de fichier est la disposition sur disque (ordre des octets, en-têtes, sections de métadonnées, emplacements de charge utile). Un conteneur est un type spécifique de format conçu pour envelopper des flux de données multimédia sans dicter comment ces flux sont encodés — les exemples incluent MP4, MKV, OGG, WebM et AVI. Un codec est l'algorithme qui compresse et décompresse les échantillons audio ou vidéo réels à l'intérieur du conteneur — les exemples incluent H.264, H.265, VP9, AV1 pour la vidéo et AAC, MP3, Opus, FLAC pour l'audio. Le même conteneur peut contenir de nombreux codecs, et le même codec peut vivre dans de nombreux conteneurs. La détection de type de fichier identifie le conteneur de manière fiable à partir des octets magiques mais a généralement besoin d'analyser les métadonnées internes (l'atome moov dans MP4, l'en-tête EBML dans MKV) pour énumérer les codecs et pistes à l'intérieur.
