Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Les chemins de fichiers dans les projets Godot

Cette page explique comment les chemins de fichiers fonctionnent dans les projets Godot. Vous apprendrez comment accéder aux chemins dans vos projets en utilisant les notations res:// et user://, et où Godot stocke les fichiers utilisateurs sur votre disque-dur.

Séparateurs de chemin

Afin de supporter le plus grand nombre de plateformes possible, Godot n'accepte que les séparateurs de chemin de style UNIX (/). Ceux-ci fonctionnent sur toutes les plateformes, y compris sous Windows.

Au lieu d'écrire des chemins comme C:\Projects\Game, dans Godot, vous devriez écrire C:/Projects/Game.

Les séparateurs de chemin d'accès de style Windows (barre oblique inversée \) sont également pris en charge dans certaines méthodes relatives aux chemins d'accès, mais ils doivent être doublés (\\), car \ est normalement utilisé comme échappement pour les caractères ayant une signification spéciale.

Il est ainsi possible de travailler avec des chemins d'accès renvoyés par d'autres applications Windows. Nous vous recommandons toujours d'utiliser uniquement des barres obliques dans votre propre code afin de garantir que tout fonctionnera comme prévu.

Accéder aux fichiers dans le dossier du projet (res://)

Godot considère qu'un projet existe dans tout dossier qui contient un fichier texte project.godot, même si ce fichier est vide. Le dossier qui contient ce fichier est le dossier racine de votre projet.

Vous pouvez accéder à n'importe quel fichier de manière relative à celui-ci en écrivant des chemins commençant par res://, qui représente les ressources. Par exemple, vous pouvez accéder à un fichier d'image character.png situé dans le dossier racine du projet dans le code avec le chemin suivant : res://some_texture.png.

Accès aux données persistantes des utilisateurs (user://)

Pour stocker des fichiers de données persistants, comme la sauvegarde ou les paramètres du joueur, vous devez utiliser user:// au lieu de res:// comme préfixe de votre chemin. En effet, lorsque le jeu est en cours d'exécution, le système de fichiers du projet sera probablement en lecture seule.

Le préfixe user:// pointe vers un autre dossier sur l'appareil de l'utilisateur. Contrairement au préfixe res://, le répertoire pointé par user:// est créé automatiquement et garanti d'être accessible en écriture, même dans un projet exporté.

L'emplacement du dossier user:// dépend de ce qui est configuré dans les paramètres du projet :

  • Par défaut, le dossier user:// est créé dans le chemin des données de l'éditeur dans le dossier app_userdata/[project_name]. C'est la valeur par défaut pour que les prototypes et les projets de test restent autonomes dans le dossier de données de Godot.

  • Si application/config/use_custom_user_dir est activé dans les paramètres du projet, le dossier user:// est créé à côté du chemin des données de l'éditeur de Godot, c'est-à-dire dans l'emplacement standard des données des applications.

    • Par défaut, le nom du dossier sera déduit du nom du projet, mais il peut être personnalisé avec application/config/custom_user_dir_name. Ce chemin peut contenir des séparateurs de chemin, vous pouvez donc l'utiliser par exemple pour regrouper les projets d'un studio donné avec la syntaxe Nom du studio/Nom du jeu.

Sur les plateformes de bureau, les emplacements des dossiers pour user:// sont actuellement :

Type

Localisation

Par défaut

Windows : %APPDATA%\Godot\app_userdata\[project_name]
macOS : ~/Library/Application Support/Godot/app_userdata/[nom_du_projet]
Linux : ~/.local/share/godot/app_userdata/[nom_du_projet]

Dossier personnalisé

Windows : %APPDATA%\[project_name]
macOS : ~/Library/Application Support/[project_name]
Linux : ~/.local/share/[project_name]

Dossier et nom personnalisés

Windows : %APPDATA%\[custom_user_dir_name]
macOS : ~/Library/Application Support/[custom_user_dir_name]
Linux : ~/.local/share/[custom_user_dir_name]

[project_name] est basé sur le nom de l'application défini dans les Paramètres du projet, mais vous pouvez le modifier en fonction de la plateforme en utilisant feature tags.

Sur plateformes mobiles, ce chemin est unique au projet et n'est pas accessible aux autres applications pour des raisons de sécurité.

On HTML5 exports, user:// will refer to a virtual filesystem stored on the device via IndexedDB. (Interaction with the main filesystem can still be performed through the JavaScriptBridge singleton.)

File logging

Voir aussi

Documentation on file logging has been moved to Logging.

Conversion des chemins en chemins absolus ou en chemins "locaux"

Vous pouvez utiliser ProjectSettings.globalize_path() pour convertir un chemin "local" comme res://path/to/file.txt en un chemin absolu de l'OS. Par exemple, ProjectSettings.globalize_path() peut être utilisé pour ouvrir des chemins "locaux" dans le gestionnaire de fichiers de l'OS en utilisant OS.shell_open() puisqu'il n'accepte que les chemins natifs de l'OS.

Pour convertir un chemin absolu du système d'exploitation en un chemin "local" commençant par res:// ou user://, utilisez ProjectSettings.localize_path(). Cela ne fonctionne que pour les chemins absolus qui pointent vers des fichiers ou des dossiers dans la racine de votre projet ou dans les dossiers user://.

Chemins de données de l'éditeur

L'éditeur utilise différents chemins pour les données de l'éditeur, les paramètres de l'éditeur et le cache, en fonction de la plate-forme. Par défaut, ces chemins sont :

Type

Localisation

Données de l'éditeur

Windows : C:\Users\[username]\AppData\Roaming\Godot\app_userdata\[Name]
macOS : ~/Library/Application Support/Godot/
Linux : ~/.local/share/godot/

Paramètres de l'éditeur

Windows : C:\Users\[username]\AppData\Roaming\Godot\app_userdata\[Name]
macOS : ~/Library/Application Support/Godot/
Linux : ~/.config/godot/

Cache

Windows : %TEMP%\Godot\
macOS : ~/Library/Caches/Godot/
Linux : ~/.cache/godot/
  • Les données de l'éditeur contiennent des modèles d'exportation et des données spécifiques au projet.

  • Paramètres de l'éditeur contient le fichier de configuration principal des paramètres de l'éditeur ainsi que diverses autres personnalisations propres à l'utilisateur (dispositions de l'éditeur, profils de fonctionnalités, modèles de script, etc.).

  • Cache contient des données générées par l'éditeur ou enregistrées temporairement. Il peut être supprimé en toute sécurité lorsque Godot est fermé.

Godot complies with the XDG Base Directory Specification on Linux/*BSD. You can override the XDG_DATA_HOME, XDG_CONFIG_HOME and XDG_CACHE_HOME environment variables to change the editor and project data paths.

Note

Si vous utilisez Godot comme package Flatpak, les chemins de données de l'éditeur seront situés dans des sous-dossiers de ~/.var/app/org.godotengine.Godot/.

Mode autonome

If you create a file called ._sc_ or _sc_ in the same directory as the editor binary (or in MacOS/Contents/ for a macOS editor .app bundle), Godot will enable self-contained mode. This mode makes Godot write all editor data, settings, and cache to a directory named editor_data/ in the same directory as the editor binary. You can use it to create a portable installation of the editor.

La version Steam de Godot utilise le mode autonome par défaut.

Note

Le mode autonome n'est pas encore supporté pour les projets exportés. Pour lire et écrire des fichiers dans un chemin relatif à l’exécutable, utilisez OS.get_executable_path(). Notez que l’écriture de fichiers dans le chemin de l’exécutable ne fonctionne que s'il est placé dans un emplacement qui autorise l’écriture (ex. Pas dans Programmes ou tout autre dossier en lecture seule pour les utilisateurs de base).