Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Programmation au niveau SGF

1 réponse
Avatar
meta
Bonjour,

Dans le cadre d'une idée (confidentielle) de logiciel qui me trotte dans la
tête depuis un bon moment, j'aurais besoin de pouvoir associer d'une manière
ou d'une autre de l'information aux niveaux fichier et répertoire. Un simple
bit suffirait ou un octet si on a les moyens.

Cette information devrait obligatoirement "faire partie" du
fichier/répertoire au même titre que sa date de création, etc, et non pas
être stockée dans un fichier externe.

Malheureusement je ne connais pas la programmation système sous Windows
(quoique je n'aurais aucune objection à faire la même chose sous Linux)
d'une part, et d'autre part j'ignore si c'est réalisable. Par contre ayant
appris par exemple l'existence d'un logiciel qui permet de cacher
l'existence de fichiers sous l'explorateur, je me dis que ça a du être plus
ou moins fait avec la même idée. Mais c'est délicat puisqu'on touche au
système de gestion de fichiers.

Qui saurait me renseigner ?... Merci.

1 réponse

Avatar
Antoine Leca
meta écrivit :
j'aurais besoin de pouvoir associer d'une manière ou d'une autre
de l'information aux niveaux fichier et répertoire.



C'est «fichier», «répertoire», ou les deux ?

Suivant les cas (dépend du système de fichier), un répertoire peut être
une sorte de fichier un peu spécial, ou quelque chose de complètement
différent.

Cette information devrait obligatoirement "faire partie" du
fichier/répertoire au même titre que sa date de création, etc, et non
pas être stockée dans un fichier externe.



Attention aussi à ne pas confondre le fichier, c'est-à-dire le contenu,
avec son «descripteur» également appelé métadonnées ou inode : suivant
les types de systèmes de fichiers, pour un fichier (contenu) donné le
descripteur peut être unique (Unix, NTFS) ou multiple (FAT, CD).


Malheureusement je ne connais pas la programmation système sous Windows
d'une part, et d'autre part j'ignore si c'est réalisable.



C'est (bien sûr) réalisable, mais je pense que la description que tu en
as fait passe par la fabrication d'une pièce de logiciel capable
d'intervenir au niveau système de fichier (probablement un filtre), ce
qui signifie qu'il faut l'installer préalablement sur n'importe quelle
machine Windows où ti veux pouvoir manipuler l'information; de plus les
régles de programmation et d'installation de ce type de logiciel sont
assez strictes (sinon ce serait une porte trop grande ouverte pour les
virus et autres saletés).
Par ailleurs, comme tu peux le comprendre à partir des remarques
ci-dessus, ce logiciel devra s'adapter à tous les types de systèmes de
fichiers, ce qui est potentiellement un gros travail; si tu te limites à
NTFS, il y a déjà beaucoup moins de travail, mais par contre
l'information sera perdue dès que le fichier est copié sur une clé USB
:-( ... ce qui amène à devoir implémenter une version FAT et
probablement une version exFAT en plus... pas glop.

Une autre solution probablement plus simple, serait de revenir un peu en
arrière sur ton cahier des charges, et utiliser une sorte de fichier
externe que sont les flux alternés de données (alternate data stream) de
NTFS. Ce sont des contenus de fichier associés au même titre que le
contenu principal à un fichier (métadonnées). C'est une solution limitée
à NTFS (donc même souci que ci-dessus avec clés USB) mais qui est déjà
disponible en standard dans Windows.

Si tu veux essayer:
C> echo contenu du fichier > toto
C> dir t*
C> type toto
C> echo secret > toto:tutu
C> dir t*
C> type toto
(pas de différence visible)
C> type toto:tutu
(marche pas: la commande type ne comprend pas les FAD­S)
C> more <toto:tutu
(fonctionne: la redirection de CMD.EXE comprend les FAD !)
C> copy toto tata
C> dir t*
C> more <tata:tutu


Antoine