Bien connus des utilisateurs de Linux, les liens symboliques ont fait leur apparition sous Windows 7. Ce tutoriel a pour but d'expliquer ce qu’est un lien symbolique et de vous apprendre à les utiliser. Ils peuvent s'avérer très pratiques pour réorganiser vos fichiers sans gêner le bon fonctionnement de vos programmes 🙂

Un lien symbolique, qu’est-ce que c’est ?

Un lien symbolique est une redirection vers un dossier ou un fichier, qui permet de « voir » un fichier ou un dossier à un autre emplacement que celui où il se trouve réellement :

Principe des liens symboliques

Dans le schéma ci-dessus, lorsque l’on tente d’accéder au fichier se trouvant dans l’emplacement 1, on est redirigé de façon transparente vers le fichier dans l’emplacement 2, un peu comme les redirections de Wikipédia.

Par exemple, en prenant C:\Monfichier.txt comme lien symbolique et C:\fichiers\doc.txt comme cible du lien symbolique, si l'on tente d’ouvrir C:\Monfichier.txt dans le bloc-notes, c’est le fichier C:\fichiers\doc.txt qui sera ouvert, mais le bloc-notes indiquera Monfichier.txt comme fichier ouvert. La redirection est donc invisible pour les applications :

Exemple de lien symbolique

Bien sûr, une application peut tester si un fichier est un lien symbolique et en retrouver la cible en le demandant explicitement au système.

Pourquoi utiliser des liens symboliques

A première vue, il peut paraitre inutile de faire de telles redirections. En effet, pourquoi ne pas ouvrir directement le vrai fichier au lieu de créer des redirections ? Mais cela peut servir dans certains cas de figure, par exemple pour éviter les doublons dans le cas ou deux applications possèdent un fichier identique, ou déplacer un fichier/dossier dont une application a besoin sans empêcher son bon fonctionnement.

Voici deux applications concrètes des liens symboliques :

Rétrocompatibilité des applications

Sous Windows XP, le dossier contenant les données des utilisateurs se nommait Documents and Settings. Or, sous Windows 7 et ultérieur, il s’appelle Users. Dans un tel cas de figure, comment faire pour permettre le fonctionnement d’anciennes applications qui essaient d’accéder aux données utilisateur dans le mauvais dossier ?

Les liens symboliques solutionnent le problème via une redirection de Documents and Settings vers Users. C’est ainsi que sous Windows 7, tous les chemins d’accès commençant par C:\Documents and Settings\ sont automatiquement convertis en C:\Users\.

Gagner de l’espace disque

Si vous n’avez presque plus d’espace sur votre disque C, et beaucoup de place sur votre disque D, parce que vous avez installé des jeux ou gros logiciels, vous pouvez regagner de la place en désinstallant certains logiciels ... ou simplement en déplaçant les dossier les plus volumineux sur votre disque D. Cependant, certains programmes peuvent ne pas bien supporter le déménagement et ne fonctionneront alors plus.

Encore une fois, les liens symboliques peuvent solutionner le problème : Après avoir déplacé le dossier, il suffit de créer un lien symbolique à l’ancien emplacement qui redirige vers le nouveau : Vous regagnez ainsi de la place et votre jeu ou logiciel fonctionne toujours comme avant 😎

Créer des liens symboliques

Maintenant que le principe et l'intérêt des liens symboliques a été présenté, voyons à présent comment créer lesdits liens 🙂

En ligne de commande

Sous Windows comme Linux, il existe une commande pour créer des liens symboliques depuis la console :

Sous Linux, la commande à utiliser est ln :

ln -s <cible> <nom du lien>

Sous Windows, la commande se nomme mklink :

mklink [/D] <nom du lien> <cible>

Attention à ne pas confondre l'ordre des paramètres : sous Linux la cible est à spécifier en premier, sous Windows la cible est à spécifier en deuxième. Dans le cas où la cible est un dossier, le paramètre /D doit être ajouté.

Depuis l'explorateur Windows

La création de liens symboliques n'étant pas très pratique depuis la console surtout pour les utilisateurs débutants, il serait intéressant de le faire depuis l’explorateur Windows. Pour cela, il est possible d'utiliser Link Shell Extension.

Avant d'installer le logiciel, il vous faut installer les bibliothèques Visual Studio 2005 :

Vous pouvez ensuite installer la version correspondant à votre type de système :

Télécharger Link Shell Extension (32 bits)
Télécharger Link Shell Extension (64 bits)

À moins de posséder un ancien ordinateur avec moins de 4 Go de mémoire vive, il est probable que votre version de Windows soit en 64 bits.

Pour créer le lien symbolique, il suffit dans un premier temps de se positionner sur le fichier ou dossier cible, et le prendre comme cible du lien via un clic droit :

Lien symbolique : Prendre comme cible du lien

Ensuite, faire un clic droit sur le dossier source et y coller le lien symbolique :

Lien symbolique : coller le lien dans le dossier source

C'est tout ! Le lien symbolique sera collé à l'endroit désiré et pointera sur l'élément choisi.

L'outil permet également de créer des liens physiques. Ceux-ci ont l'avantage de fonctionner également sous Windows 2000 et XP car il s'agit d'une fonction du système de fichiers NTFS, mais il n'est pas possible d'utiliser un lien physique pour pointer en dehors d'une partition : pas de lien de C:\ vers D:\ par exemple.

Vous savez à présent tout ce qu'il y a à savoir sur les liens symboliques ! À vous de jouer 😉