Pour ceux qui auraient raté un épisode et ne sauraient pas ce qu'est un symlink, je vous invite à aller lire ce billet que j'ai rédigé il y a un petit moment qui est en fait un petit tuto pour en créer via la ligne de commandes. Si vous n'êtes vraiment pas à l'aise avec ce genre de manipulations mais que vous souhaitez tout de même faire vos liens symboliques, je pense que Symlink Creator devrait vous intéresser. C'est un petit utilitaire très simple où il suffit de rentrer l'adresse du lien à créer, le nom de ce dernier, l'endroit vers lequel il doit pointer, et quel sera son type.
Par exemple, si je souhaite créer un symlink sur le bureau qui s'appèlera HD C du PC2 et qui pointera vers le disque dur C de mon 2ème ordinateur, que ce lien ne soit pas qu'une simple redirection mais que l'adresse soit en "dur" et que les informations dans les propriétés soient plus intéressantes que la taille d'un fichier .lnk, voilà à quoi ressemblera ma configuration de Symlink Creator:
Je vous voir venir avec votre "mais à quoi servent les autres options disponibles dans Select the type of link" ? Et bien c'est assez simple, Hard Link signifie que votre lien ne représentera pas une adresse mais réellement le fichier que vous aurez choisi et que pour réellement supprimer ce dernier, il vous faudra enlever tous les hard links s'y référant (à noter que les hard links ne peuvent pas pointer sur un volume différent). Quant à Directory Junction, c'est une jonction de répertoire plus classique que les autres. Si vous souhaitez en savoir plus sur les jonctions, je vous invite à aller lire cette page. Si vous ne voulez pas trop vous prendre la tête, utilisez Symbolic Link !
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 ! 😉