Qu'est-ce que le format de fichier IML ?
Un fichier .iml est un fichier de configuration XML qui décrit un module unique au sein d'un projet IntelliJ IDEA. Chaque définition de module enregistre le type de module (tel que JAVA_MODULE, WEB_MODULE ou PYTHON_MODULE), les racines de sources et de tests dans le répertoire de contenu du module, les dossiers exclus et la chaîne complète de dépendances - incluant le JDK, d'autres modules et les références de bibliothèques. IntelliJ IDEA, Android Studio et les autres IDE de JetBrains lisent les fichiers .iml pour déterminer la structure du projet sans avoir à rescanner le système de fichiers.
Le fichier est en XML UTF-8 brut. L'élément racine est <module type="..." version="4">, et son enfant principal est le composant NewModuleRootManager, qui contient les éléments <content>, <sourceFolder>, <excludeFolder> et <orderEntry>. Aucune donnée binaire, compression ou chiffrement n'est impliqué.
Les fichiers .iml sont créés et maintenus automatiquement par l'IDE. Ils sont stockés soit dans le répertoire racine du module, soit dans le dossier de projet .idea/ selon la version de l'IDE et la disposition du projet. JetBrains recommande d'ajouter les fichiers .iml au fichier .gitignore dans les projets multi-développeurs utilisant Gradle ou Maven, car l'IDE les régénère automatiquement à partir du script de construction lors de l'importation. Dans les projets sans outil de construction, les fichiers .iml sont généralement gérés par le contrôle de version.
L'édition manuelle est rarement nécessaire ; l'IDE gère les paramètres du module via la boîte de dialogue « Structure du projet ».
Sécurité et sûreté
RISQUE : LOWLes fichiers IML sont des fichiers de configuration XML bruts - non exécutables. Ils peuvent référencer des JAR externes ou des bibliothèques qui pourraient théoriquement pointer vers des chemins malveillants, mais le fichier lui-même ne peut pas exécuter de code. Sûr à ouvrir dans un éditeur de texte. Dans un dépôt malveillant, un fichier .iml altéré pourrait diriger les chemins de dépendance vers des emplacements inattendus - inspectez-le avant de synchroniser un projet inconnu.
Détails du format
en bref- ACT! Internet Mail Message - Ancien fichier de message électronique du logiciel de gestion de contacts ACT! (Sage) ; obscur et effectivement obsolète.
Programmes qui ouvrent les fichiers IML
Détails techniques
spécifications approfondies| Élément racine XML | `<module type="..." version="4">` - `version="4"` est la révision actuelle du format |
| Types de modules | `JAVA_MODULE`, `WEB_MODULE`, `PYTHON_MODULE`, `ANDROID_MODULE` et d'autres types spécifiques à l'IDE |
| Composant clé | `NewModuleRootManager` contient les racines de sources, les dossiers exclus et les entrées d'ordre de dépendance |
| Déclaration de racine de source | `<sourceFolder url="..." isTestSource="false"/>` distingue les ensembles de sources de production des sources de test |
| Entrées de dépendance | Les éléments `<orderEntry>` référencent le JDK, les dépendances de module à module et les fichiers JAR de bibliothèque |
| Encodage | Texte UTF-8 brut ; pas de compression, de chiffrement ou de sections binaires |
| Emplacement de stockage | Répertoire racine du module ou dossier de projet `.idea/`, selon la version de l'IDE et la configuration du projet |
| Auto-génération | Les imports Gradle et Maven régénèrent les fichiers `.iml` ; les entrées modifiées à la main peuvent être écrasées lors du ré-import |
| Conseils de contrôle de version | Exclure du VCS lorsque Gradle/Maven est utilisé ; inclure lorsqu'aucun outil de construction n'est présent |
| Historique des versions du format | L'attribut `version` de l'élément racine est passé de `2` → `3` → `4` au fil des versions d'IDEA |
| IDEs compatibles | IntelliJ IDEA, Android Studio, PyCharm, WebStorm et tous les autres IDE de la plateforme JetBrains |
| Taille typique | 1 Ko - 50 Ko, plus importante pour les modules ayant de nombreuses dépendances ou racines de sources |
| Publié | IntelliJ IDEA 1.0, January 2001 |
| Dernière version | No formal versioning; format evolved continuously with IDEA releases; current format used in IDEA 2024+ |
| Spécification | www.jetbrains.com |
Conversions IML
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers IML.