Voilà un billet purement geek, désolé d'avance pour ceux que tout ce charabia risque de ne pas intéresser, libre à vous de le zapper... Attention également aux geeks réfractaires aux lignes de commandes, cet article n'est pas non plus pour vous, car oui, nous allons bien traiter d'une fonction Windows, mais non, il n'y a pas d'interface graphique pour la traiter (ou en tout cas pas à ma connaissance, si vous en connaissez, n'hésitez pas à les poster dans les commentaires).
- Tout d'abord, qu'est ce qu'un lien symbolique ?
Pour faire simple, il s'agit d'un lien (ou raccourci ou alias, c'est la même chose) transparent entre le dossier/fichier dont on veut faire un raccourci. Il faut savoir que ce que nous appelons un dossier, est en fait un fichier dont l'arborescence va conduire à un ensemble de fichiers qu'il "contient". Ca peut sembler tout bête à ceux qui ont des connaissances plus ou moins avancées en informatique mais c'est selon moi un point assez important pour comprendre la suite.
- Quelle est donc la différence entre ce lien symbolique et les raccourcis que j'ai l'habitude de faire ?
Le lien fait avec la méthode que je vais décrire plus loin garde les propriétés du fichier vers lequel il pointe, il n'est pas qu'un stupide fichier lnk, il se comporte comme si vous étiez en train de consulter le dossier "original". Si vous naviguez dans le dossier via le terminal, vous pourrez y naviguer via le lien symbolique que vous aurez préalablement créé. Extra non ? Vous êtes un peu perdus ? Bon alors voici un exemple concret qui j'espère sera plus parlant. Si nous allons regarder dans les propriétés d'un raccourci "classique", nous ne trouverons rien d'utile (qu'est ce qu'on peut bien avoir à faire de savoir que c'est un fichier lnk qui pèse 800 octets ?), alors qu'avec un lien symbolique, nous pourrons savoir combien pèse le dossier cible, géré son partage, ses accès exactement comme si vous regardiez les propriétés de ce dit dossier... Vous voyez mieux son utilité maintenant ?
- Hum, c'est bien beau tout ça, mais dans quel cas vais-je pouvoir m'en servir ?
Si certains de vos dossiers sont perdus dans l'arborescence complexe de votre système et que vous avez besoin de les manager à partir de votre bureau, votre barre des tâches ou que sais-je encore, il vous suffira de créer un lien symbolique et le tour sera joué (perso je gère mes répertoires distants de cette façon). Autre utilité que j'ai découverte il y a peu grâce à MaximumPC, c'est de pouvoir synchroniser des dossiers (contenant des fichiers de conf ou autre) présents simultanément sur plusieurs ordis avec Dropbox (et oui, sans symlink, tout ce que nous pourrions synchroniser, ça serait des fichiers .lnk, la classe).
Passons maintenant à la pratique, lancez un terminal (ou invite de commande ou que sais encore) puis utilisez la commande mklink. Pour créer votre premier lien symbolique vers un fichier, il vous faut taper mklink \CheminDuLienQueVousVoulezCreer\NomDuLienQuiVaEtreCree \CheminDuFichierQueVousVoulezLinker\NomDuFichierQueVousVoulezLinker en oubliant pas de mettre le chemin exact (la touche TAB est votre amie, petit merci à Windows d'ailleur de ne pas automatiquement mettre le \ après la complétion concernant un dossier) ainsi que les extensions. Si vous souhaitez faire une jonction entre 2 répertoires, il vous faudra alors utiliser la commande mklink /J \CheminDuLienQueVousAllezCreer\NomDuDossierQuiSeraVotreLien \CheminDuDossierQueVousVoulezLinker . Pour en savoir plus, je vous invite à faire un petit mklink:
A noter que ce qu'on appelle en langage informatique les symlinks ne sont pas si vieux du côté des OS de Microsoft puisqu'il n'y a que depuis Windows 2000 qu'il est possible de faire des jonctions de dossiers, mais ça ne fonctionnait pas encore avec les fichiers, cette fonction n'ayant vu le jour que depuis Vista.
Je pense avoir fait un petit peu le tour de la question mais si vous avez des questions, n'hésitez pas, j'essaierais d'y répondre si j'y arrive. J'espère également ne pas vous avoir fait fuir et je sens d'ici qu'on va me demander de retourner dans ma grotte de vieu barbu avec mes lignes de commandes, mais je pense que ça fait partie des "joies" de l'informatique que de mettre les mains dans le cambouis de temps en temps et ne pas toujours se laisser guider par des interfaces (même s'il est clair que je ne passerais pas mon temps dessus). C'est aussi une petite pique perso vis-à-vis de ceux qui critiquent sans arrêt GNU/Linux par rapport au terminal et les lignes à taper dedans pour le configurer à sa convenance, sachez que même sur Windows, pour utiliser des fonctions avancées, il faut AUSSI savoir se servir du clavier ! 😉
Lien utile :
Merci pour cet article. Cela m’a bien été utile pour transfere mon profil sur une autre partition.
Ravi d’avoir pu vous être utile ! 😉
Excellent article, clair et précis, c’est assez rare sur le net pour le souligner !
Merci beaucoup pour ces compliments ! Ravi d’avoir pu t’être utile en tous cas.
Très pratique en effet.
Par contre, comment fait on pour créer des liens symboliques à travers un réseau (\\192.168.1.1\dossiers\… par exemple)
Bonjour !
Très pratiqueles symlinks, cependant on se heurte à un petit problème lorsque l’on pointe vers une autre unité : le fait qu’on (re)lie à un chemin via une lettre d’unité, lettre qui semble différer dans certaines situations (lors du boot semble-t-il).
Est-il possible de pointer une unité autrement que par l’usage d’une lettre ? (en utilisant un identifiant unique comme cela semble possible sous linux ?)
Merci !
Désolé pour la réponse tardive, je vous invite à aller voir de ce côté : http://www.simounet.net/creez-facilement-vos-symlinks-liens-symboliques-grace-a-symlink-creator/ .
Bonne soirée.
Exactement ce que je cherchais, le fonctionnement est le même que sur mac c’est agrèable de pas avoir un bête raccourcis.
Merci pour ces explication.