C'est toujours bien de s'intéresser à comment font les autres.
Sous Linux aussi ce genre de truc existe depuis longtemps. Les plus connus sont Baloo (KDE), Tracker (plutôt Gnome), et Recoll (plutôt agnostique).
Je ne crois pas que ce soit ce qu'il décrit. Tu parle d'indexer (qui analyse le contenu des fichiers) et lui parle de tag (qui sont des métadonnées des fichiers). Ça existe aussi sur mac, c'est spotlight mais je ne suis pas certains que ce soit ce dont il parle.
Un problème c'est que ces solutions ne sont pas compatibles et pas toujours super stable. L'idéal ce serait quelque chose basé sur le système de fichiers mais d'après ce que je comprends, ce n'est pas possible d'implémenter ça correctement car les FS POSIX copient par une création de nouveau fichier et copie du contenu et non un appel système dédié qui permettrait au FS de gérer tout ça proprement.
La question n'est pas syscall vs autre chose, mais que le VFS l'API de filesystem que tout système de fichiers doivent implémenter pour être un système de fichier contient la sémantique de fichier/dossier (en fait c'est la définition de fichier/dossier/etc). De manière très simple quand un programme fais un `int fd = open("/foo/bar/file.ext");" il faut que ton système de fichier sache quoi en faire.
Tu peux très bien faire un mapping de la hiérarchie vers les tags. Les dossiers sont des tags, un fichier dans le dossier t1 a le tag t1. Tu trouvera dans t1/t2 tous les fichiers qui ont à la fois le tag t1 et t2. Donc tous les fichiers dans t1/t2 sont les même que ceux qui sont dans t2/t1. Il faut voir comment tu gère la copie et le déplacement pour ajouter/supprimer un tag (ou plusieurs) sur un fichier. Tout ça implique des décisions qui ne font pas forcément consensus.
[^] # Re: macOS
Posté par barmic 🦦 . En réponse au journal Classer efficacement et durablement ses fichiers. Évalué à 9.
C'est toujours bien de s'intéresser à comment font les autres.
Je ne crois pas que ce soit ce qu'il décrit. Tu parle d'indexer (qui analyse le contenu des fichiers) et lui parle de tag (qui sont des métadonnées des fichiers). Ça existe aussi sur mac, c'est spotlight mais je ne suis pas certains que ce soit ce dont il parle.
La question n'est pas syscall vs autre chose, mais que le VFS l'API de filesystem que tout système de fichiers doivent implémenter pour être un système de fichier contient la sémantique de fichier/dossier (en fait c'est la définition de fichier/dossier/etc). De manière très simple quand un programme fais un `int fd = open("/foo/bar/file.ext");" il faut que ton système de fichier sache quoi en faire.
Tu peux très bien faire un mapping de la hiérarchie vers les tags. Les dossiers sont des tags, un fichier dans le dossier t1 a le tag t1. Tu trouvera dans
t1/t2tous les fichiers qui ont à la fois le tag t1 et t2. Donc tous les fichiers danst1/t2sont les même que ceux qui sont danst2/t1. Il faut voir comment tu gère la copie et le déplacement pour ajouter/supprimer un tag (ou plusieurs) sur un fichier. Tout ça implique des décisions qui ne font pas forcément consensus.https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll