Brevet FR2715486A1 — publié le 19950728

PROCEDE DE COMPARAISON DE FICHIERS INFORMATIQUES L'invention concerne un procédé de comparaison de fichiers informatiques stockés sur les mémoires de masse, destiné tout particulièrement au contrôle, à l'analyse et à l'administration des gros volumes. En général et quel que soit le système d'exploitation: - une mémoire de masse est une unité physique de stockage, ou un ensemble d'unités physiques de stockage, divisée en secteurs, notamment comme un disque magnétique, un disque optique ou magnéto optique, une bande magnétique, une disquette magnétique, etc., laquelle mémoire de masse est divisée ou assemblée à d'autres mémoires de masse en unités logiques appelées partitions ou volumes; - un fichier est une chaîne de caractères stockée sur un volume. I1 existe des fichiers spéciaux et des fichiers ordinaires. Les fichiers spéciaux sont les fichiers nécessaires et suffisants pour le bon fonctionnement de la machine (fichiers systèmes et fichiers exécutables), les fichiers ordinaires sont les fichiers qui ne sont pas spéciaux; - Sur le plan physique, un répertoire, appelé aussi dossier ou catalogue, est un fichier d'un type particulier. Sur le plan logique, un répertoire contient des fichiers et d'autres répertoires, appelés sous-répertoires du premier, lesquels sous répertoires contiennent eux-mêmes d'autres fichiers et répertoires. Le seul répertoire à n'être contenu dans aucun répertoire s'appelle le répertoire racine ou répertoire principal. On définit ainsi un système de fichiers dont la structure est arborescente. La désignation d'un fichier se fait par l'intermédiaire des répertoires, qui définissent un chemin unique de l'arborescence, commençant au répertoire racine, se terminant au répertoire qui contient logiquement le fichier et mentionnant les répertoires intermédiaires de l'arborescence. Dans certains systèmes d'exploitation comme MS-DOS, le nom de fichier comporte deux parties, à savoir le nom proprement dit et le type, appelé aussi extension ou suffixe. I1 existe des gestionnaires de fichiers désignés par les noms "NORTON", "PC TOOLS", "WINFILE", "DOSSHELL" notamment pour les systèmes d'exploitation d'ordinateurs DOS, WINDOWS, MAC/OS, OS/2, NETWARE, XENIX (UNIX), lesquels gestionnaires consistent en une présentation des répertoires et fichiers des arborescences des mémoires de masse accessibles depuis l'ordinateur exécutant le gestionnaire, laquelle présentation facilite la navigation dans l'arborescence et la sélection manuelle desdits fichiers pour le déplacement, la copie, la suppression. I1 existe d'autre part des gestions de droits d'accès, intégrées à certains systèmes d'exploitation hauts de gamme, qui permettent un contrôle à priori des créations, modifications, suppressions de fichiers dans chacun des répertoires. Ces seuls moyens offerts à l'administrateur d'un système ne lui permettent qu'un contrôle à posteriori très limité de l'état de son système, en particulier dans le cas de volumes de fichiers très importants. En effet, l'administrateur du système doit veiller à contrôler que le système dont il a la charge est cohérent, et en particulier qu'il ne manque pas de fichier pour la bonne exécution des applications, que le contenu de certains fichiers n'a pas été modifié, que des fichiers n'ont pas été enregistrés par mégarde dans des répertoires où ils n'avaient pas lieu d'être, ce qui, avec les moyens usuels, est quasiment impossible dès qu'il y a des dizaines de milliers de fichiers. Une solution pour réduire sensiblement le nombre de fichiers à examiner est de concevoir un système de vérification automatique qui analyse l'évolution de chaque répertoire. S'il n'y a pas de fichier modifié, ni de fichier ajouté, ni de fichier supprimé entre un état correct du répertoire à l'instant t0 et l'état du même répertoire à l'instant tl, le répertoire est réputé sans problème. Dans le cas contraire, il est réputé douteux et doit être examiné. Néanmoins, ce nombre de fichiers à examiner reste beaucoup trop élevé, et cette solution ne règle pas le cas fort fréquent illustré par l'exemple suivant: Dans un répertoire de traitement de texte, correct à l'instant t,, il y a: - un fichier exécutable obligatoire: "traitext.exe" (fichier spécial) - et un fichier de données: "texteNol.doc" (fichier ordinaire) - pas de fichier backup avec l'extension: .bak Si à 11 instant t1, le fichier "traitext.exe" a été modifié, ou bien s'il y a en plus un fichier "exectx.ovl", il y a une erreur. Par contre si le "texteNol.doc" a été modifié, ou s'il y a un fichier "texteNol.bak" en plus, il n'y a pas d'erreur. L invention a pour but de remédier aux inconvénients ci-dessus en proposant un système d'analyse automatique, qui prend en compte ces particularités des fichiers informatiques, lesquelles particularités sont propres à leur type spécial ou ordinaire, notamment parmi les types exécutable, fichier de données, fichier système et fichier de paramétrages, stockés sur au moins une mémoire de masse d'ordinateurs, structurée sous la forme d'arborescences de répertoires contenant lesdits fichiers. A cet effet, l'invention concerne un procédé de comparaison de fichiers informatiques qui comporte les étapes suivantes: - mémorisation à l'instant t0 d'un premier état d'au moins une mémoire de masse, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une deuxième table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers, - mémorisation à l'instant tl=to+T d'un second état d'au moins une mémoire de masse, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une seconde table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers, - comparaison d'une partie pouvant constituer la totalité du premier état et d'une partie pouvant constituer la totalité du second état, consistant dans au moins une des étapes suivantes: a) mémorisation au moins temporaire des informations stockées dans les parties des états concernant respectivement les répertoires et fichiers supprimés, c'est à dire catalogués respectivement dans les première et seconde tables de la partie comparée du premier état mais non inventoriés respectivement dans les première et seconde tables de la partie comparée du second état, b) mémorisation au moins temporaire des informations stockées dans les parties des états, concernant respectivement les répertoires et fichiers ajoutés, c'est à dire non inventoriés respectivement dans les première et seconde tables de la partie comparée du premier état mais catalogués respectivement dans les première et seconde tables de la partie comparée du second état, c) mémorisation au moins temporaire des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers modifiés, c'est à dire catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, mais catalogués aussi respectivement dans les première et seconde tables de la partie comparée du second état, avec des informations fournies par le système d'exploitation de l'ordinateur, stockées dans les colonnes desdites premières et secondes tables, différentes dans la partie comparée du second état de celles qui sont associées auxdits répertoires et auxdits fichiers dans les tables de la partie comparée du premier état, pour ce qui concerne les lignes desdites premières et secondes tables qui sont communes aux deux parties comparées desdits états. d) mémorisation au moins temporaire des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers identiques, c'est à dire catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, mais catalogués aussi respectivement dans les première et seconde tables de la partie comparée du second état, avec des informations fournies par le système d'exploitation de l'ordinateur, stockées dans les colonnes desdites premières et secondes tables, identiques dans la partié comparée du second état à celles qui sont associées auxdits répertoires et auxdits fichiers dans les tables de la partie comparée du premier état, pour ce qui concerne les lignes desdites premières et secondes tables qui sont communes aux deux états. Selon une variante de réalisation, l'étape de comparaison comporte au moins l'une des étapes suivantes: a) mémorisation au moins temporaire de la réunion d'une part des informations, concernant respectivement les fichiers et répertoires, stockées dans la partie comparée du deuxième état et d'autre part des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers supprimés. b) mémorisation au moins temporaire de la réunion d'une part des informations, concernant respectivement les fichiers et répertoires, stockées dans la partie comparée du premier état et d'autre part des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers ajoutés. Selon un mode de réalisation préférentiel, au moins un des états comporte au moins une troisième table comportant des lignes relatives aux types de fichiers d'un répertoire des arborescences des mémoires de masse d'ordinateurs, lesquels types ordonnent les fichiers ordinaires et les fichiers spéciaux contenus dans ledit répertoire et laquelle troisième table associe chacun desdits types de fichiers du répertoire à des informations, obtenues par des opérations de type logique, de type arithmétique et de type opération sur des chaînes de caractères, exécutées sur les informations données par le système d'exploitation de l'ordinateur sur chacun des fichiers du type considéré contenus dans ledit répertoire des arborescences des mémoires de masse, lesquelles informations sont ensuite stockées dans les colonnes de ladite troisième table. Selon un mode de réalisation avantageux, l'étape de comparaison est précédée d'une étape de mémorisation de critères de comparaison dits " règles de diagnostic ", respectivement sur les répertoires, sur les fichiers et sur les types de fichiers, lesquels critères sont vérifiés lors de l'étape de comparaison, dans une phase dite phase de vérification des " règles de diagnostic ". Le procédé d'analyse automatique de fichiers conforme à l'invention est spécifiquement destiné à l'analyse, au contrôle et à la maintenance d'un grand nombre de fichiers informatiques. Dans un soucis de précision de la description, on a choisi le cadre du système d'exploitation DOS de MICROSOFT. I1 sera facile pour l'homme de l'art de se reporter aux spécifications de systèmes de fichiers de systèmes d'exploitation et à la littérature existante pour appliquer le procédé à d'autres environnements. Le système de fichiers FAT du DOS est ainsi nommé "File Allocation Table" pour sa méthode d'organisation liant par le moyen d'une table les unités d'allocations (un à plusieurs secteurs de la mémoire de masse), prises par un fichier, entre elles. Cette table est dupliquée pour permettre certains contrôles. Outre cette table, une partition de la mémoire de masse possède un répertoire racine ayant une taille fixe et un emplacement fixe dans la mémoire. Les autRes répertoires sont des fichiers spéciaux comportant chacun des entrées de 32 octets pour chaque fichier contenu dans le répertoire. Chaque entrée de répertoire comprend les informations suivantes: - le nom de fichier sur 8 octets, l'extension de fichier sur 3 octets (l'extension de DOS sera assimilée au type de fichier), - Les attributs de fichier sur 1 octet, y inclus le bit de positionnement du fichier ' en sous répertoires et le bit de positionnement du fichier en nom de volume (une seule entrée de ce type par volume, un volume étant une partition de mémoire de masse), - suivis de 10 octets réservés, l'heure et la date du dernier accès en écriture au fichier sur 4 octets, l'unité d'allocation de départ du fichier sur 2 octets (les autres unités d'allocation du fichier sont données par la FAT), - la taille du fichier sur 4 octets. Le premier octet du nom, au déplacement OOh de l'entrée de répertoire, peut être un caractère ou l'un des codes spéciaux suivants: - OOh Entrée non utilisée, les autres caractères du nom sont des espaces (20h), - 2Eh Entrée servant d'alias d'un répertoire ou d'un répertoire parent (dans ce dernier cas, le second octet est aussi 2Eh), - E5h Entrée supprimée, Les fonctions "findfirst" et "findnext" d'un compilateur C pour DOS (Compilateur C++ de BORLAND par exemple) permettent aisément de récupérer les informations de ladite FAT. On appelle par la suite table, l'ensemble des occurrences (appelées aussi lignes de la table) d'une structure de données (appelées aussi colonnes de la table). Dans un mode de réalisation préféré, à l'intérieur de chaque table, le nombre de colonnes dans une ligne est fixe, la taille de chaque colonne est elle-même fixe, de telle sorte que la taille d'une ligne, égale à la somme des tailles des différentes colonnes, est également fixe. I1 résulte de cette organisation que l'accès à la Xième colonne de la Yième ligne se fait classiquement par un simple calcul de déplacement par rapport au début de la table. Le procédé d'analyse automatique de fichiers selon l'invention, comporte une première phase dite " phase de création t0 " au cours de laquelle on mémorise à un instant to/ des tables comportant des informations délivrées par le système d'exploitation, tables représentatives d'un état, dit " état t0 ", de mémoires de masse ou d'un sous-ensemble homogène de celles-ci, suivie d'une deuxième phase dite " phase de saisie manuelle " au cours de laquelle on enrichit manuellement d'informations supplémentaires lesdites tables de 1'" état t0 ", suivie d'une troisième phase, dite " phase de création tl ", identique à ladite " phase de création t0 ", au cours de laquelle on crée les tables représentatives d'un état, dit " état tl ", des mêmes ou d'autres mémoires de masse, à un instant " t1 = t0 + T ", suivie d'une quatrième phase, dite " phase de comparaison ", au cours de laquelle on génère, à partir des tables de 1'" état t0 " et des tables de 1'" état tl ", 6 ensembles de tables représentatifs de 6 états intermédiaires, suivie d'une cinquième phase dite " phase d'exploitation des résultats " au cours de laquelle on exploite les tables générées au cours de la quatrième phase pour générer des comptes-rendus d'analyse et effectuer des actions correctrices sur les fichiers des mémoires de masse. Ladite " phase de création t0 ", comporte la mémorisation de trois tables, à savoir, une première table pour les informations relatives aux répertoires des mémoires de masse traitées, une deuxième table pour les informations relatives aux fichiers des mémoires de masse traitées, une troisième table pour les informations relatives aux types ou extensions des fichiers des mémoires de masse traitées. Ces trois tables comportent, des colonnes, dont certaines sont calculées lors desdites " phase de création " à partir des informations délivrées par le système d'exploitation, dont d'autres sont initialisées lors desdites " phases de création ", puis renseignées manuellement lors de ladite " phase de saisie manuelle ", d'autres enfin, sont initialisées lors desdites " phases de création ", puis calculées au moment de ladite " phase de comparaison ". L'accès aux valeurs de ces colonnes pour une ligne particulière est réalisé par l'intermédiaire de variables. On expose ci-dessous un exemple de structure à trois tables d'un état puis les " phases de création " de ces tables. La première table d'un état, relative aux répertoires des mémoires de masse traitées, comporte les colonnes suivantes: Une première série de colonnes de la première table d'un état, dite " table des répertoires ", est élaborée à partir des informations délivrées par le système d'exploitation, parmi lesquelles: - un identifiant unique, par exemple le numéro de ligne dans la table sur 4 octets, - le nom du répertoire sur 8 octets, - l'extension du répertoire sur 3 octets, - Les attributs du répertoire sur 1 octet, - l'heure et la date du dernier accès en écriture au répertoire sur 4 octets, - la somme des tailles des fichiers contenus dans le répertoire sur 4 octets. - l'identifiant du répertoire père sur 4 octets, - le niveau de ce répertoire dans l'arborescence sur 2 octets (0 est le niveau d'un répertoire "Super racine" de la mémoire de masse, répertoire que l'on ajoute pour les besoins du procédé, et auquel sont rattachés les répertoires racine, de niveau 1, de chacun des volumes de ladite mémoire de masse; on peut de la sorte, en gardant la même structure arborescente, regrouper dans la même table les informations relatives à tous les volumes de ladite mémoire de masse. Les répertoires de niveau n sont à la fois fils d'un répertoire père de niveau n-l, petits-fils d'un répertoire de niveau n-2, etc.), - le nombre de répertoires fils contenus dans le répertoire considéré sur 2 octets, - le plus petit des identifiants, dans la présente table, de répertoires fils du répertoire considéré, sur 4 octets, - le nombre de fichiers contenus dans le répertoire considéré, sur 4 octets, - le plus petit des identifiants, dans la seconde table, de fichiers contenus dans le répertoire considéré, sur 4 octets, - le nombre d'extensions de fichiers contenus dans le répertoire considéré sur 2 octets, - le plus petit des identifiants, dans la troisième table, d'extensions de fichiers contenus dans le répertoire considéré, sur 4 octets, - un " checksum " sur 4 octets constitué de la somme bit à bit des " checksums " (décrits plus loin) de tous les fichiers contenus dans le répertoire considéré, Une deuxième série de colonnes de la première table d'un état, dite " table des répertoires ", est initialisée dans la " phase de création " et renseignée à partir des calculs opérés dans la " phase de comparaison ", parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable d'occurrence " sur 1 octet, initialisée à Oh lors de la création de la ligne dans ladite " phase de création ", calculée dans ladite " phase de comparaison " entre le premier état t0 ", et le deuxième " état t1 ", pour mémoriser la présence, simultanée ou non, des mêmes fichiers dans un même répertoire de 1'" état t0 " et de 1'" état tl ". Une troisième série de colonnes de la première table d'un état, dite " table des répertoires ", est initialisée lors de la " phase de création " et renseignée manuellement lors de la " phase de saisie manuelle "; cette troisième série de colonnes comporte un ensemble de critères de comparaison dit "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers d'un répertoire, désigné par ladite ligne, parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable de contrôle d'intégrité " sur 2 octets, initialisée à zéro lors de la création de la ligne, renseignée manuellement dans la " phase de saisie manuelle " et utilisée dans la " phase de comparaison ", après le calcul des " variables d'occurrence ", pour constituer un test de définition des anomalies et des erreurs, concernant les fichiers du répertoire désigné par ladite ligne, en fonction des différentes valeurs desdites " variables d'occurrence - Une colonne comportant pour chaque ligne la valeur d'une " variable de contrôle de taille " sur 1 octet, initialisée à zéro lors de la création de la ligne, renseignée manuellement dans " la phase de saisie manuelle ", et utilisée dans la " phase de comparaison " pour constituer un seuil de définition des erreurs résultant notamment d'un accroissement excessif de la taille ou du nombre des fichiers du répertoire désigné par ladite ligne. Enfin, une quatrième série de colonnes de la première table d'un état, dite " table des répertoires ", est initialisées lors de la " phase de création ", puis calculée lors de la " phase de comparaison "; cette quatrième série de colonnes comporte un ensemble de valeurs d'erreurs résultant de tests effectués, lors de la comparaison, d'après les "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers du répertoire, désigné par ladite ligne, parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable d'erreur d'intégrité " sur 1 octet, initialisée à zéro, ce qui correspond à l'absence d'erreur, lors de la création de la ligne, mise à jour lors de la " phase de comparaison " après le calcul des " variables d'occurrence ", pour mémoriser les erreurs concernant les fichiers du répertoire désigné par ladite ligne, en fonction des différentes valeurs desdites " variables d'occurrence " et des informations contenues dans lesdites " variables de contrôle d'intégrité " relatives à ce répertoire. - Une colonne comportant pour chaque ligne la valeur d'une " variable d'erreur de taille " sur un octet, initialisée à zéro, ce qui correspond à l'absence d'erreur, lors de la création de la ligne, mise à jour lors de la " phase de comparaison " pour mémoriser les erreurs résultant d'un accroissement excessif de la taille ou du nombre des fichiers du répertoire désigné par ladite ligne, compte-tenu des informations contenues dans la " variable de contrôle de taille " relative à ce répertoire. Cette " variable de contrôle de taille " obéit aux mêmes règles que la " variable de contrôle d'intégrité sauf qu'elle concerne les erreurs résultant d'un accroissement excessif de la taille des fichiers. Chaque répertoire de la mémoire de masse traitée possède une et une seule ligne dans la première table, dite " table des répertoires ". La chaîne de caractères est écrite sur disque grâce aux fonctions de la librairie disque du compilateur C. Le " checksum " pourra être beaucoup plus complexe, élaboré sur un nombre supérieur d'octets et prendre en compte d'autres informations de façon à maximiser la probabilité que la modification d'un élément du répertoire modifie ledit " checksum La deuxième table d'un état, relative aux fichiers des mémoires de masse traitées, comporte les colonnes suivantes: Une première série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est élaborée à partir des informations délivrées par le système d'exploitation, parmi lesquelles: - un identifiant unique, par exemple le numéro de ligne dans la table sur 4 octets, - le nom du fichier sur 8 octets, l'extension du fichier sur 3 octets, - Les attributs de fichier sur 1 octet, y inclus le bit de positionnement du fichier en sous répertoires et le bit de positionnement du fichier en nom de volume (une seule entrée de ce type par volume, un volume étant une partition de mémoire de masse), l'heure et la date du dernier accès en écriture au fichier sur 4 octets, - la taille du fichier sur 4 octets. l'identifiant dans la première table du répertoire père contenant le fichier sur 4 octets. - le niveau du répertoire contenant le fichier. - un "checksum" sur 4 octets constitué de la somme bit à bit des 4 octets de la taille du fichier, des 4 octets de l'heure et date du dernier accès en écriture au fichier, des 3 octets de l'extension, des 4 premiers octets du nom et des 4 derniers octets du nom. Une deuxième série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est initialisée dans la " phase de création " et renseignée à partir des calculs opérés dans la " phase de comparaison ", parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable d'occurrence " sur 1 octet, initialisée à Oh lors de la création de la ligne, dans ladite " phase de création ", calculée dans la " phase de comparaison " entre le premier état, " état t0 ", et le deuxième état, " état t1 ", pour mémoriser la présence simultanée, ou non, de ce fichier sur les deux états. Une troisième série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est initialisée lors de la " phase de création " et renseignée manuellement lors de la " phase de saisie manuelle "; cette troisième série de colonnes comporte un ensemble de critères de comparaison dit "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant au fichier désigné par ladite ligne, parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable de contrôle d'intégrité " sur 1 octet, initialisée à zéro lors de la création de la ligne, renseignée manuellement dans la " phase de saisie manuelle " et utilisée dans la " phase de comparaison ", après le calcul des " variables d'occurrence ", pour constituer un test de définition des anomalies et des erreurs, concernant le fichier désigné par ladite ligne, en fonction des différentes valeurs desdites " variables d'occurrence - Une colonne comportant pour chaque ligne la valeur d'une " variable de contrôle de taille " sur 1 octet, initialisée à zéro lors de la création de la ligne, renseignée manuellement dans la " phase de saisie manuelle ", et utilisée dans la " phase de comparaison " pour constituer un seuil de définition des erreurs résultant notamment d'un accroissement excessif de la taille du fichier désigné par ladite ligne. Enfin, une quatrième série de colonnes de la deuxième table d'un état, dite " table des fichiers ", est initialisées lors de la " phase de création ", puis calculée lors de la " phase de comparaison "; cette quatrième série de colonnes comporte un ensemble de valeurs d'erreurs, résultant de tests effectués lors de la comparaison d'après les " règles de diagnostic ", parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable d'erreur d'intégrité " sur 1 octet, initialisée à zéro, ce qui correspond à l'absence d'erreur, lors de la création de la ligne, mise à jour lors de la " phase de comparaison ", après le calcul des " variables d'occurrence ", pour mémoriser les erreurs concernant le fichier désigné par ladite ligne, en fonction des différentes valeurs desdites " variables d'occurrence " et des informations contenues dans lesdites " variables de contrôle d'intégrité " relatives à ce fichier et relatives au répertoire le contenant. - Une colonne comportant pour chaque ligne la valeur d'une " variable d'erreur de taille " sur 1 octet, initialisée à zéro, ce qui correspond à l'absence d'erreur, lors de la création de la ligne, mise à jour lors de la " phase de comparaison " pour mémoriser les erreurs résultant d'un accroissement excessif de la taille du fichier, désigné par ladite ligne, compte-tenu des informations contenues dans les "variables de contrôle de taille" relatives à ce fichier et au répertoire le contenant. Selon une caractéristique avantageuse de l'invention, appliquée au cas d'un système d'exploitation multiutilisateurs, on pourrait mémoriser de la même manière d'autres informations délivrées par ledit système d'exploitation, telles que: l'heure et la date de la dernière consultation, le numéro de la station qui est à l'origine de la création ou copie d'un fichier, etc., suivant ce que le système d'exploitation est capable de fournir sans nécessiter l'ouverture du fichier dans l'une quelconque des phases du procédé. Chaque fichier de la mémoire de masse traitée possède une et une seule ligne dans la seconde table. La chaîne de caractères constituée par cette seconde tabl - les extensions BAT sont celles des fichiers de type traitements par lots, - les extensions BAK sont généralement celles de fichiers de type backups, - les extensions SYS et DRV sont celles de fichiers de type drivers, - etc. Dans d'autres systèmes d'exploitation, comme MAC/OS, le type n'est pas exploité comme une extension. I1 n'apparaît pas à l'affichage du nom, mais il reste exploitable selon le même principe. On pourra aussi imaginer une notion élargie du type à des regroupements de types. Dans le cas du DOS, les fichiers exécutables à partir de la ligne de commande constitueraient un type regroupant les extensions EXE, COM et BAT, que l'on pourrait appeler type des fichiers spéciaux. Les autres fichiers relevant du type des fichiers ordinaires. Les fichiers de données d'un traitement de textes constitueraient un autre type de fichiers spéciaux, regroupant les extensions DOC des documents et DOT des modèles. Les autres fichiers relevant du type des fichiers ordinaires. Tous les types spécifiés constituent les types de fichiers spéciaux, les types non spécifiés constituent les types de fichiers ordinaires. La troisième table d'un état, relative aux types de fichiers des mémoires de masse traitées, comporte les colonnes suivantes: Une première série de colonnes de la troisième table d'un état, dite " table des types " ou " table des extensions ", est élaborée à partir des informations délivrées par le système d'exploitation, parmi lesquelles: - un identifiant unique, par exemple le numéro de ligne dans la table, sur 4 octets, - l'identifiant dans la première table du répertoire considéré contenant au moins un fichier de l'extension considérée, sur 4 octets, - l'extension sur 3 octets, - le niveau du répertoire considéré contenant les fichiers ayant ladite extension, sur 2 octets, - la somme des tailles des fichiers contenus dans le répertoire considéré et comportant l'extension considérée, sur 8 octets, - le nombre de fichiers ayant ladite extension et contenus dans ledit répertoire sur 4 octets. - un " checksum " sur 4 octets constitué de la somme bit à bit des " checksums " de tous les fichiers de l'extension considérée contenue dans le répertoire considéré. Une deuxième série de colonnes de la troisième table d'un état, dite " table des extensions ", est initialisée dans la " phase de création " et renseignée à partir des calculs opérés dans la " phase de comparaison ", parmi lesquelles: - Une colonne comportant pour chaque ligne une " variable d'occurrence " sur 1 octet, initialisée à Oh lors de la création de la ligne, dans ladite " phase de création ", calculée dans ladite n phase de comparaison " entre le premier état, " état t0 " et le deuxième état, " état t1 ", pour mémoriser le présence simultanée, ou non, des mêmes fichiers ayant cette extension, dans i'" état t0 " et 1'" état t1 Une troisième série de colonnes de la troisième table d'un état, dite " table des extensions ", est initialisée lors de la " phase de création " et renseignée manuellement lors de la " phase de saisie manuelle "; cette troisième série de colonnes comporte un ensemble de critères de comparaison dit "règles de diagnostic", accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers d'un type désigné par ladite ligne, parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une " variable de contrôle d'intégrité " sur 1 octets, initialisée à zéro lors de la création de la ligne, renseignée manuellement dans la " phase de saisie manuelle " et utilisée dans la " phase de comparaison ", après le calcul des " variables d'occurrence ", pour constituer un test de définition des anomalies et des erreurs, concernant les fichiers de l'extension désignée par ladite ligne, en fonction des différentes valeurs desdites variables d'occurrence - Une colonne comportant pour chaque ligne une valeur de " variable de contrôle de taille " sur 1 octet, initialisée à zéro lors de la création de la ligne, renseignée manuellement dans la " phase de saisie manuelle ", et utilisée dans la " phase de comparaison " pour constituer un seuil de définition des erreurs résultant notamment d'un accroissement excessif de la taille ou du nombre des fichiers de l'extension désignée par ladite ligne. Enfin, une quatrième série de colonnes de la troisième table d'un état, dite " table des extensions ", est initialisée lors de la " phase de création ", puis calculées lors de la " phase de comparaison "; cette quatrième série de colonnes comporte un ensemble de valeurs d'erreurs résultant de tests effectués lors de la comparaison d'après les règles de diagnostic, accessibles, pour chaque ligne, par des variables, s'appliquant à tous les fichiers de l'extension désignée par ladite ligne, parmi lesquelles: - Une colonne comportant pour chaque ligne la valeur d'une "variable d'erreur d'intégrité'' sur 1 octet, initialisée à zéro, ce qui correspond à l'absence d'erreur, lors de la création de la ligne, mise à jour lors de la " phase de comparaison ", après le calcul des "variables d'occurrence", pour mémoriser les erreurs concernant les fichiers ayant l'extension désignée par ladite ligne, en fonction des différentes valeurs desdites "variables d'occurrence" et des informations contenues dans ladite "variable de contrôle d'intégrité" relative à cette extension. - Une colonne comportant pour chaque ligne la valeur d'une "variable d'erreur de taille" sur 1 octet, initialisée à zéro, ce qui correspond à l'absence d'erreur, lors de la création de la ligne, mise à jour lors de la phase de comparaison pour mémoriser les erreurs résultant d'un accroissement excessif de la taille et du nombre de fichiers ayant l'extension désignée par ladite ligne, compte-tenu des informations contenues dans la "variable de contrôle de taille" relative à cette extension. Chaque extension de fichiers de la mémoire de masse traitée possède autant de lignes qu'il y a de répertoires contenant au moins un fichier de l'extension considérée. En d'autres termes, il y a autant de lignes dans la table pour un répertoire, qu'il y a d'extensions différentes dans ledit répertoire. La chaîne de caractères constituée par cette troisième table est écrite sur disque à la suite de la chaîne de caractères constituée de la première table et de la seconde table grâce aux fonctions de la librairie disque du compilateur C. D'une manière générale, dans les premières à troisième tables définies dans le présent mode de réalisation, toutes les informations citées ne sont pas nécessaires pour résoudre le problème technique. Certaines ont été mentionnées car elles permettent lors des étapes de comparaison de meilleures performances. De même, pourraiton envisager d'ajouter des informations en vue d'accélerer ou de sécuriser les traitements sans que l'objet de l'invention s'en trouve modifié. Le traitement de la " phase de création ", entre la lecture des tables du système de fichiers du système d'exploitation, et la mémorisation des états en mémoire volatile ou en mémoire de masse, est un traitement comportant des sélections, des tris et calculs, réalisés en mémoire selon des techniques connues, en une ou plusieurs passes d'écriture de l'état, telles que celles qui sont mises à la disposition du programmeur par des langages de troisième génération comme le langage C. Dans une première étape de la " phase de création ", dite " étape des répertoires ", le traitement lit toute l'arborescence de répertoires du ou des volumes traités et génère la première table des répertoires en ne renseignant que les informations propres à la structure arborescente des répertoires (un identifiant unique, le nom du répertoire, l'extension du répertoire, les attributs du répertoire, la date et l'heure du dernier accès en écriture, l'identifiant du répertoire père, le niveau de ce répertoire dans l'arborescence, le nombre de répertoires fils contenus dans le répertoire considéré, etc.) Dans une deuxième étape de la " phase de création ", dite " étape des fichiers ", la première table est relue ligne par ligne et les répertoires correspondants sont explorés de façon à rassembler les informations sur les fichiers contenus dans chaque répertoire, et à calculer et mémoriser ces informations d'une part par répertoire dans la première table (la somme des tailles des fichiers contenus dans le répertoire, le nombre de fichiers contenus dans le répertoire, le nombre d'extensions de fichiers contenus dans le répertoire considéré, un "checksum"), d'autre part par fichier dans la seconde table (un identifiant unique, le nom du fichier, l'extension du fichier, Les attributs de fichier, la date et l'heure du dernier accès en écriture au fichier, la taille du fichier, un checksum etc.) et enfin par extension d'un répertoire dans la troisième table (un identifiant unique, l'identifiant du répertoire considéré, l'extension, la somme des tailles des fichiers contenus dans le répertoire considéré et comportant l'extension considérée, le nombre de fichiers ayant ladite extension et contenus dans ledit répertoire, un "checksum"). Le fichier ainsi constitué est un premier état, dit " état t0 ", réalisé à l'instant t,, instant de la mémorisation de la mémoire de masse traitée. Ladite " phase de création " est suivie d'une deuxième phase, dite " phase de saisie manuelle " qui ne concerne que 1'" état t0 " auquel on veut comparer 1'" état tl ", et au cours de laquelle, on peut introduire manuellement des " règles de diagnostic ", c'est à dire assigner des valeurs aux " variables de contrôle d'intégrité " et " variables de contrôle de taille " pour chaque occurrence de chacune des 3 tables de 1" état t0 ". La modification manuelle des " variables de contrôle d'intégrité " peut porter sur les 3 tables de 1'" état t0 ". Une " variable de contrôle d'intégrité " affectée à une ligne de la deuxième table, dite " table des fichiers ", concerne un fichier, et prend l'une des valeurs suivantes: - 02h pour signaler qu'il y aura une erreur si le fichier est en moins dans l'état " tl" par rapport à l'état " to" (c'est à dire fichier obligatoire), - 03h pour signaler qu'il y aura une erreur si le fichier est en moins ou modifié, - OOh pas d'erreur possible de cette nature avec ce fichier; c'est la valeur par défaut qui est placée lors de ladite phase de création. Une " variable de contrôle d'intégrité " affectée à une ligne de la troisième table, dite " table des extensions concerne les fichiers d'un répertoire ayant une extension particulière, et prend l'une des valeurs suivantes: - Olh pour signaler qu'il y aura une erreur s'il y a, dans le répertoire, un ou plusieurs fichiers ayant cette extension en plus dans 1" état t; " par rapport à 1'" état t0 ". - OOh pas d'erreur possible de cette nature, pour les fichiers ayant cette extension (valeur par défaut). Une "variable de contrôle d'intégrité" affectée à une ligne de la première table, dite " table des répertoires concerne à la fois les fichiers et les sous-répertoires du répertoire auquel correspond ladite ligne. Le premier octet de ladite "variable de contrôle d'intégrité" de la première table concerne les fichiers dudit répertoire, autres que ceux qui ont une extension identique à celle d'une ligne de la troisième table rattachée audit répertoire, et pour lesquels c'est la "variable de contrôle d'intégrité" de ladite ligne qui est utilisée; ledit octet prend l'une des valeurs suivantes: - Olh pour signaler qu'il y aura une erreur s'il y a, dans le répertoire, un ou plusieurs fichiers en plus dans 1'" état tl " par rapport à 1'" état t0 ", sauf indication contraire spécifiée dans les variables de contrôle d'intégrité " des lignes de la troisième table rattachées à ce répertoire; - OOh pas d'erreur possible de cette nature, dans ce répertoire sauf indication contraire spécifiée dans les " variables de contrôle d'intégrité " des lignes de la troisième table rattachées à ce répertoire (valeur par défaut). Le deuxième octet de ladite " variable de contrôle d'intégrité " de la première table concerne les sousrépertoires fils, petits-fils, etc. dudit répertoire, et prend l'une des valeurs suivantes: - Olh pour signaler qu'il y aura une erreur s'il y a un ou plusieurs fichiers dans les sous-répertoires fils, petit-fils, etc., dépendant dudit répertoire, en plus dans 1'" état t1 " par rapport à 1'" état t0 ", sauf indication contraire spécifiée dans les " variables de contrôle d'intégrité " de cette première table desdits répertoires fils, petits fils, etc. - OOh pas d'erreur possible de cette nature (valeur par défaut). La modification manuelle d'une " variable de contrôle de taille " peut porter sur les 3 tables ou l'une quelconque d'entre elles; Une " variable de contrôle de taille " de la deuxième table, dite " table des fichiers ", concerne un fichier et prend l'une des valeurs suivantes: - Olh pour signaler qu'il y aura une anomalie si la taille du fichier fait apparaître une augmentation supérieure à 10 % lors de la comparaison; - 02h pour signaler qu'il y aura une anomalie si la taille du fichier fait apparaître une augmentation supérieure à 1 million d'octets lors de la comparaison; - OOh pas d'erreur possible de cette nature pour ce fichier (valeur par défaut). Une " variable de contrôle de taille " de la troisième table, dite " table des extensions ", concerne les fichiers d'un répertoire ayant une extension particulière, et prend l'une des valeurs suivantes: - 01h pour signaler qu'il y aura anomalie si la somme des tailles des fichiers ayant cette extension dans le répertoire fait apparaître une augmentation supérieure à 10 % lors de la comparaison; - 02h pour signaler qu'il y aura anomalie si la somme des tailles des fichiers ayant cette extension dans le répertoire fait apparaître une augmentation supérieure à 1 million d'octets, lors de la comparaison; - 80h pour signaler qu'il y aura anomalie si le nombre de fichiers ayant cette extension dans le répertoire fait apparaître une augmentation supérieure à 10% lors de la comparaison; - OOh pas d'erreur possible de cette nature pour les fichiers ayant cette extension (valeur par défaut). Une " variable de contrôle de taille ", affectée à une ligne de la première table, dite " table des répertoires ", concerne un répertoire, auquel correspond ladite ligne, et prend l'une des valeurs suivantes: - Olh pour signaler qu il y aura une anomalie si la somme des tailles des fichiers du répertoire fait apparaître une augmentation supérieure à 10 % lors de la comparaison; - 02h pour signaler qu'il y aura une anomalie si la somme des tailles des fichiers du répertoire fait apparaître une augmentation supérieure à 1 million d'octets lors de la comparaison; - 80h pour signaler qu'il y aura anomalie si le nombre de fichiers dans le répertoire fait apparaître une augmentation supérieure à 10% lors de la comparaison; - OOh pas d'erreur possible de cette nature, au niveau répertoire sauf spécification contraire au niveau des deuxième ou troisième table (valeur par défaut). Dans certains cas, on peut vouloir appliquer à certains fichiers ayant une extension donnée, des " règles de diagnostic " différentes de celles qui s'appliquent à tous les fichiers du répertoire, et ne pas avoir eu de génération, lors de la " phase de création ", de ligne correspondante dans la troisième table de 1" état t0 "; c'est ce qui arrive lorsqu'aucun fichier ne comporte cette extension dans 1" état t0 " Dans une première étape de la " phase de saisie manuelle ", dite étape de création des " lignes virtuelles ", avant l'étape de modification manuelle des valeurs des " variables de contrôle d'intégrité ", le traitement offrira avantageusement la possibilité d'ajouter notamment dans la troisième table de 1'" état t0 ", des lignes, dites " lignes virtuelles ". Ces lignes ne correspondent physiquement à aucune extension présente sur la mémoire de masse traitée dans 1" état t0 ", à l'issue de la phase de création, elles n'ont qu'une réalité logique pour tester leur présence dans 1"' état t1 " ou pour réaliser des tests par exclusion de cas particuliers. Ces lignes comportent toutes les colonnes de ladite table, mais les colonnes " somme des tailles ", nombre de fichiers ", " heure et date de la dernière écriture " et " checksum " sont inutilisées et laissées à zéro. Dans la deuxième étape de la " phase de saisie manuelle ", dite étape de modification manuelle des valeurs des " variables de contrôle d'intégrité ", les " lignes virtuelles " peuvent être mises à jour manuellement comme les autres lignes. Elles sont utilisées comme les autres lignes, lors de la phase de comparaison. Dans un autre mode de réalisation, lesdites " règles de diagnostic " peuvent être mémorisées indépendamment des trois tables de 1'" état t0 ", dans une quatrième table, distincte des 3 premières; Selon un mode de réalisation, ladite quatrième table pourrait comporter des lignes du type suivant: DOC ", " permis dans ", " WORD4 ", " WORD5 ", " WINWORD " Laquelle ligne devrait être interprêtée: " tous les fichiers ayant l'extension DOC sont permis dans les répertoires WORD4, WORD5 et WINWORD ". Selon un mode de réalisation différent et dans un système d'exploitation multi-utilisateurs faisant intervenir une notion de numéro de la station qui a crée ou copié un fichier, ladite quatrième table pourrait comporter des lignes du type suivant: " EXE ", " création interdite sauf station ", " 001 laquelle ligne devrait être interprêtée: " les fichiers ayant une extension EXE n'ont pas le droit d'être créés ou copiés sauf par la station No 001 ". Ladite " phase de modification manuelle " est suivie d'une troisième phase qui consiste en une ré-édition de la phase de création " à l'instant tl=to+T, laquelle produit un second état, dit " état t1 ". Dans ce cas, on compare l'évolution de la mémoire de masse traitée par le procédé, entre deux dates distantes d'une période T. On pourra aussi générer le premier état, éventuellement manuellement, pour un sous-ensemble logique homogène ne coïncidant pas nécessairement avec un volume de mémoire de masse d'ordinateurs. Ce sera, par exemple le cas d'un ensemble progiciel pour lequel on souhaitera conserver un état, limité au progiciel et qui représente l'arborescence de l'ensemble des fichiers qui sont installés pour son fonctionnement. Ces états ne sont pas liés à la notion de date, mais à la notion de version de progiciel. Toutefois, pour la suite de la description, on parlera d'" état t0 ". Ils pourront être constitués en bibliothèques auxquelles il pourra être fait référence lors des comparaisons, notamment pour vérifier leur intégrité dans la mémoire de masse à un instant t1. Dans une autre variante de réalisation, la troisième table pourrait ne pas être générée dans cette phase et donc ne pas être mémorisée dans l'état ainsi produit, mais plutôt à l'initialisation de la comparaison. La quatrième phase, dite " phase de comparaison " consiste, à partir de l'" état t0 " et de 1" état t1 ", à fabriquer 6 états intermédiaires, chacun desdits états comportant les 3 tables relatives respectivement aux répertoires, fichiers et extensions que comportent 1'" état t0 " et 1'" état tl ". Ces 6 états sont les suivants: - L'état appelé par la suite " état des supprimés comporte dans sa deuxième table une ligne pour chacun des seuls fichiers présents dans l'" état to " et absents dans " état tl ", à l'exclusion de toute autre ligne; la première table dudit état comporte les seules lignes nécessaires pour rattacher lesdits fichiers à la Super-racine de la mémoire de masse; la troisième table dudit état comporte les seules lignes nécessaires pour qu'un fichier soit rattaché à une ligne de même extension. - I1 en est de même avec l'état appelé par la suite " état des ajoutés " qui comporte les seuls fichiers absents dans 1'" état to " et présents dans 1'" état t1 ", - Il en est de même avec l'état appelé par la suite état des identiques " qui comporte les seuls fichiers communs à 1" état to " et à 1" état t1 ", et inchangés, - Il en est de même avec l'état appelé par la suite " état des modifiés " qui comporte les seuls fichiers communs à 1" état to " et à l'" état t1 et modifiés entre t0 et tl, - Il en est de même avec l'état appelé par la suite Union t0 " qui comporte tous les fichiers de l'" état to " plus tous les fichiers de 1" état t1 " absents dans 1" état to "; - Il en est de même avec l'état appelé par la suite " Union t1 " qui comporte tous les fichiers de l'" état t1 " plus tous les fichiers de l'" état to " absents dans 1'" état t1 "; La " phase de comparaison " comprend une première étape, dite " étape de tri ", et une deuxième étape dite, " étape d'analyse ". La première étape, dite " étape de tri ", qui consiste à classer l'ensemble des lignes correspondant aux 3 tables de l'" état to " et à faire de même avec les 3 tables de l'" état t1 ", comporte elle-même 6 sous-étapes. Dans la première sous-étape de ladite " étape de tri ", qui consiste à classer la première table correspondant aux répertoires de l'" état to ", on procède de la manière suivante: - on commence par classer par nom de répertoire croissant les lignes correspondant aux répertoires du niveau 1, que l'on place en tête du tableau, juste après ligne correspondant à la ligne " Super racine " qui a le niveau 0; - ensuite, on classe les lignes correspondant aux répertoires du niveau 2, selon le rang de la ligne de leur répertoire père au niveau 1, ce qui a pour effet de regrouper toutes les lignes des répertoires fils du ler père, puis les lignes des fils du second père, etc. - ceci étant fait, à l'intérieur de chacun des dits groupes de fils, on trie les lignes par nom de répertoire croissant. - puis on place ces lignes après celles correspondant au niveau 1. - les lignes correspondant au niveau 2 étant ainsi classées, on trie selon le même mode les lignes du niveau 3, - le traitement est répété pour chaque niveau, jusqu'au niveau maximum. Dans la deuxième sous-étape de ladite " étape de tri on procède, d'une manière similaire à la première sousétape, pour classer la première table de 1" état tl ". Dans la troisième sous-étape, les lignes de la deuxième table relative aux fichiers de 1" état to " sont classées de la manière suivante: - en majeur, selon le niveau du répertoire auquel est attaché le fichier, - puis à l'intérieur de chaque niveau, selon le rang de la ligne correspondant au répertoire auquel est rattaché le fichier, - puis à l'intérieur de chaque répertoire les lignes sont classées par extension de fichier croissante, - puis à l'intérieur de chaque répertoire et chaque extension de fichier les lignes sont classées par nom de fichier croissant. Dans la quatrième sous-étape de ladite " étape de tri on procède, d'une manière similaire à la troisième sousétape, pour classer la deuxième table de 1"' état tl ". Dans la cinquième sous-étape, les lignes de la troisième table relative aux extensions de 1" état to sont classées de la manière suivante: - en majeur, selon le niveau du répertoire auquel est attaché l'extension, - puis à l'intérieur de chaque niveau, selon le rang de la ligne correspondant au répertoire auquel est rattaché cette extension, - puis à l'intérieur de chaque répertoire les lignes sont classées par extension de fichier croissante, Dans la sixième sous-étape de ladite " étape de tri on procède, d'une manière similaire à la cinquième sousétape, pour classer la troisième de 1" état tl ". De la sorte, à l'issue de ces 6 sous-étapes, en balayant simultanément et séquentiellement les 3 tables des 2 états " to" et " tl" on obtient à chaque fois les informations relatives à une ligne de la deuxième table de l'état " to" et les informations relatives à la ligne de même nom et même extension, si elle existe, de la deuxième table de l'état " t1"; On obtient également et en même temps, les informations contenues dans la ligne de la troisième table et la ligne de la première table de 1" état to " auxquels est rattaché la ligne de ladite deuxième table de 1" état to ", ainsi que les informations contenues dans la ligne de la première table de l'" état tl " ayant le même nom de répertoire, si ce dernier existe dans l'" état tl ", ainsi que les informations contenues dans les lignes de la troisième table de 1'" état t1 " ayant la même extension, si celle-ci existe dans 1"' état tl ". Dans le cas où l'on veut limiter la comparaison d'un " état to " à un sous-ensemble d'un autre état " état tl on élimine au moyen d'un filtre, toutes les lignes des 3 tables de 1'" état tl " qui n'appartiennent pas à la branche d'arborescence que l'on veut comparer à 1" état tl ". On procède de façon analogue si l'on veut limiter la comparaison d'un sous-ensemble d'un " état to " à un " état tl ". La deuxième étape, dite " étape d'analyse " qui consiste à faire défiler en parallèle les lignes des 3 table de 1" état to " et de 1" état tl " et analyser les différents cas qui se présentent comporte elle-même 4 sous-étapes. Au cours de la première sous-étape de ladite " étape d'analyse ", on détecte les éventuels changements d'extension dans la séquence des lignes de la deuxième table de l'" état to ", et au début de chaque bloc de lignes de même extension de ladite deuxième table, on récupère dans la troisième table de 1'" état to ", les " règles de diagnostic " relatives à cette extension. S'il y également un changement de répertoire dans la séquence des lignes de la deuxième table de l'" état to ", on récupère dans la première table de l'état " état to ", les " règles de diagnostic " relatives à ce répertoire. Dans la deuxième sous-étape, pour chaque ligne de la deuxième table de l'" état to", selon la présence simultanée ou non d'une ligne de même nom et même extension dans la table de 1'" état tl ", on calcule les " variables d'occurrence ", ainsi que les " variables d'erreur " desdites deuxièmes tables et on génère les lignes des deuxièmes tables de l'un ou l'autre des 6 états intermédiaires selon la valeur desdites " variables d'occurrence Dans une troisième sous-étape, à la fin du bloc Dans une quatrième sous-étape, s'il s'agit en même temps de la fin d'un bloc de fichiers appartenant au même répertoire, on génère les lignes de la première table de l'un ou l'autre des 6 états intermédiaires avec les valeurs appropriées pour les "variable d'occurrence" et "variables d'erreur". Au cours de ladite deuxième sous-étape, qui ne concerne que les deuxièmes tables, la comparaison entre les lignes de la deuxième table permet d'avoir les 4 configurations suivantes: Si l'on a la même ligne dans les deuxièmes tables des état t0 " et " état tl ", et qu'en plus, la taille, l'heure et la date de dernière écriture sont identiques, les lignes sont dites " identiques ", et les " variables d'occurrence " des deuxièmes lignes desdits états sont laissées à OOh; les " variables d'erreur " se déduisent aisément des "règles de diagnostic" de ladite ligne de l'" état to ", (en l'occurrence pas d'erreur). La ligne de l'" état to ", dûment complétée avec les nouvelles valeurs de " variable d'occurrence " et variable d'erreur ", est copiée sur les deuxièmes tables des 3 états: " état des identiques ", " union t0 " et union tl . Si l'on a la même ligne dans les deuxièmes tables des état t0 " et " état tl ", mais que la taille, l'heure ou la date de dernière écriture diffère, les lignes sont dites " modifiées ", et les " variables d'occurrence " des lignes des deuxièmes tables desdits états sont mises à Olh. Les " variables d'erreur " se déduisent aisément des " règles de diagnostic " de ladite ligne de l'" état to comme dans l'exemple suivant: si la " variable de contrôle d'intégrité " de ladite ligne a la valeur 03h, comme ladite ligne a été modifiée, la " variable d'erreur d'intégrité " prendra la valeur 03h qui signifie que le fichier de 1" état to " a été modifié à tort. La ligne de l'" état to ", dûment complétée avec les nouvelles valeurs de " variable d'occurrence " et variable d'erreur ", est copiée sur les deuxièmes tables de 2 états: " état des modifiés ", et " union t0 ". La ligne de 1'" état to ", dûment complétée avec les nouvelles valeurs des " variables d'occurrence " et " variables d'erreur ", est copiée sur la deuxième table de 1'" union tl ". Si une ligne est présente dans 1" état to " mais absente dans l'" état t1 ", la ligne est dite " supprimée ", et les " variables d'occurrence " des lignes des deuxièmes tables desdits états sont mises à 02h; Les " variables d'erreur " se déduisent des " règles de diagnostic " de ladite ligne de 1'" état to " comme dans l'exemple suivant: si la " variable ' de contrôle d'intégrité " de ladite ligne a la valeur 02h, comme ladite ligne a été supprimée, la " variable d'erreur d'intégrité " prendra la valeur 02h qui signifie que le fichier, obligatoire, de l'" état to " est manquant. La ligne de l'" état to ", dûment complétée avec les nouvelles valeurs des " variable d'occurrence " et " variables d'erreur ", est copiée sur les deuxièmes tables des 2 états " état des supprimés ", et " union t0 ". Elle est également copiée sur l'état "union tel", avec une " variable d'occurrence " égale à 82h (pour signaler qu'il s'agit d'une ligne qui n'existe pas dans 1" état to "); Si une ligne est présente dans l'" état tl " mais absente dans 1" état to ", la ligne est dite " ajoutée ", et les " variables d'occurrence " des deuxièmes lignes desdits états sont mises à 03h. Dans le cas présent, il n'existe pas de " variable de contrôle d'intégrité " dans la deuxième table de l'" état to "; on examine alors la troisième table de 1" état t0 pour voir s'il existe une ligne correspondant à la même extension; Si c'est le cas on utilise la " variable de contrôle d'intégrité " de ladite troisième table pour calculer les variables d'erreur d'intégrité ". Dans le cas contraire, on examine la première table de 1" état to " pour voir s'il existe une ligne correspondant au même répertoire; Si c'est le cas on utilise le premier octet de la " variable de contrôle d'intégrité " de ladite table pour calculer les " variables d'erreur d'intégrité ". Dans le cas contraire, on examine la première table de 1'" état to " pour voir s'il existe une ligne correspondant au même répertoire père, ou à défaut grand père, etc., dont on récupère le deuxième octet de la variable de contrôle d'intégrité "; Si l'octet concerné de la " variable de contrôle d'intégrité " utilisée a la valeur Olh, il s'agit d'un fichier en trop dans 1'" état tl " par rapport à " état to ", et la " variable d'erreur d'intégrité " sera mise à Olh. La ligne de l'" état tl ", dûment complétée avec les nouvelles valeurs de " variable d'occurrence " et " variables d'erreur ", est copiée sur les deuxièmes tables des 2 états: " état des ajoutés ", et " union tl ". Elle est également copiée sur l'état " union t0 ", avec une " variable d'occurrence " égale à 83h; Au cours de la troisième sous-étape, on reprend les 6 états intermédiaires, et pour chacun desdits états, on générera une ligne de la troisième table dudit état, si au cours de ladite deuxième sous-étape précédente, on a écrit au moins une ligne de la deuxième table avec la même extension; En ce qui concerne la " variable d'erreur d'intégrité on utilise la règle suivante: - s'il y a au moins une ligne de la deuxième table générée avec la " variable d'erreur d'intégrité " à Olh, (fichier en trop), le bit de poids Olh de la " variable d'erreur d'intégrité " de la troisième table sera mis 1, - s'il y a au moins une ligne de la deuxième table générée avec la " variable d'erreur d'intégrité " à 02h, (fichier manquant), le bit de poids 02h de la " variable d'erreur d'intégrité " de la troisième table sera mis 1 de telle sorte que ladite " variable d'erreur d'intégrité " prend les valeurs allant de OOh (pas d'erreur) à 03h. Au cours de la quatrième sous-étape, on procède comme pour ladite troisième sous-étape pour générer les premières tables des 6 états intermédiaires. Les " règles de diagnostic " relatives à la taille, contenues dans les " variables de contrôle de taille ", et les "variables d'erreur de taille" qui en découlent sont traitées comme les " variables de contrôle d'intégrité et " variables d'erreur d'intégrité ". Ladite cinquième phase d'exploitation des résultats du procédé, exploite les 6 états intermédiaires générés au cours de ladite quatrième phase pour générer des comptes-rendus d'analyse et effectuer des actions correctrices sur les fichiers de l'une ou l'autre desdites mémoires de masse. A titre d'exemple, et de façon non limitative, on peut citer la création d'un compte-rendu des " erreurs d'intégrité " que l'on fabrique de la façon suivante. Grâce à un filtre, on ne garde, des 3 états " état des ajoutés ", " état des supprimés " et " état des modifiés " que les lignes qui ont une " variable d'erreur d'intégrité " différente de OOh; Puis on fusionne les 3 états ainsi modifiés pour fabriquer un nouvel état, à partir duquel on peut éditer la liste des fichiers en trop, manquants, ou modifiés à tort dans 1" état t1 " par rapport à l'" état t0 ". REVENDICATIONS: 1. Procédé de comparaison de fichiers informatiques, spéciaux ou ordinaires, notamment de type exécutables, fichiers de données, fichiers système et fichiers de paramétrages, stockés sur au moins une mémoire de masse, structurée sous la forme d'arborescences de répertoires contenant lesdits fichiers, caractérisé en ce qu'il comporte les étapes suivantes: - mémorisation à l'instant t0 d'un premier état d'au moins une mémoire de masse, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une deuxième table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers, - mémorisation à l'instant t1=to+T d'un second état d'au moins une mémoire de masse, comportant d'une part au moins une première table dont les lignes sont relatives aux répertoires et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces répertoires, et d'autre part au moins une seconde table dont les lignes sont relatives aux fichiers et dont les colonnes contiennent des informations fournies par le système d'exploitation de l'ordinateur sur ces fichiers, - comparaison d'une partie pouvant constituer la totalité du premier état et d'une partie pouvant constituer la totalité du second état, consistant dans au moins une des étapes suivantes: a) mémorisation au moins temporaire des informations stockées dans les parties des états concernant respectivement les répertoires et fichiers supprimés, c'est à dire catalogués respectivement dans les première et seconde tables de la partie comparée du premier état mais non inventoriés respectivement dans les première et seconde tables de la partie comparée du second état, b) mémorisation au moins temporaire des informations stockées dans les parties des états, concernant respectivement les répertoires et fichiers ajoutés, c'est à dire non inventoriés respectivement dans les première et seconde tables de la partie comparée du premier état mais catalogués respectivement dans les première et seconde tables de la partie comparée du second état, c) mémorisation au moins temporaire des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers modifiés, c'est à dire catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, mais catalogués aussi respectivement dans les première et seconde tables de la partie comparée du second état, avec des informations fournies par le système d'exploitation de l'ordinateur, stockées dans les colonnes desdites premières et secondes tables, différentes dans la partie comparée du second état de celles qui sont associées auxdits répertoires et auxdits fichiers dans les tables de la partie comparée du premier état, pour ce qui concerne les lignes desdites premières et secondes tables qui sont communes aux deux parties comparées desdits états. d) mémorisation au moins temporaire des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers identiques, c'est à dire catalogués respectivement dans les première et seconde tables de la partie comparée du premier état, mais catalogués aussi respectivement dans les première et seconde tables de la partie comparée du second état, avec des informations fournies par le système d'exploitation de l'ordinateur, stockées dans les colonnes desdites premières et secondes tables, identiques dans la partie comparée du second état à celles qui sont associées auxdits répertoires et auxdits fichiers dans les tables de la partie comparée du premier état, pour ce qui concerne les lignes desdites premières et secondes tables qui sont communes aux deux états. 2. Procédé de comparaison de fichiers informatiques selon la revendication 1, caractérisé en ce que l'étape de comparaison comporte au moins l'une des étapes suivantes: a) mémorisation au moins temporaire de la réunion d'une part des informations, concernant respectivement les fichiers et répertoires, stockées dans la partie comparée du deuxième état et d'autre part des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers supprimés. b) mémorisation au moins temporaire de la réunion d'une part des informations, concernant respectivement les fichiers et répertoires, stockées dans la partie comparée du premier état et d'autre part des informations stockées dans les parties comparées des états, concernant respectivement les répertoires et fichiers ajoutés. 3. Procédé de comparaison de fichiers informatiques selon l'une des revendications précédentes, caractérisé en ce qu'au moins un des états comporte au moins une troisième table comportant des lignes relatives aux types de fichiers d'un répertoire des arborescences des mémoires de masse d'ordinateurs, lesquels types ordonnent les fichiers ordinaires et les fichiers spéciaux contenus dans ledit répertoire et laquelle troisième table associe chacun desdits types de fichiers du répertoire à des informations, obtenues par des opérations de type logique, de type arithmétique et de type opération sur des chaînes de caractères, exécutées sur les informations données par le système d'exploitation de l'ordinateur sur chacun des fichiers du type considéré contenus dans ledit répertoire des arborescences des mémoires de masse, lesquelles informations sont ensuite stockées dans les colonnes de ladite troisième table. 4. Procédé de comparaison de fichiers informatiques selon l'une des revendications précédentes, caractérisé en ce que l'étape de comparaison est précédée d'une étape de mémorisation de critères de comparaison dits " règles de diagnostic ", respectivement sur les répertoires, sur les fichiers et sur les types de fichiers, lesquels critères sont vérifiés lors de l'étape de comparaison, dans une phase dite phase de vérification des " règles de diagnostic ". 5. Procédé de comparaison de fichiers informatiques selon la revendication 4, caractérisé en ce que la mémorisation des critères de comparaison dits "règles de diagnostic", respectivement sur les répertoires, sur les fichiers et sur les types de fichiers, est effectuée dans des colonnes respectivement de la première, de la deuxième et de la troisième table d'au moins un des états comparés. 6. Procédé de comparaison de fichiers informatiques selon la revendication 4, caractérisé en ce que la mémorisation des critères de comparaison dits "règles de diagnostic", respectivement sur les répertoires, sur les fichiers et sur les types de fichiers, est effectuée dans une quatrième table d'au moins un des états comparés. 7. Procédé de comparaison de fichiers informatiques selon l'une des revendications précédentes, caractérisé en ce qu'au moins une des première à troisième tables respectivement du premier et du deuxième état comporte des colonnes supplémentaires pour chaque ligne, désignant un répertoire, un fichier ou un type de fichier: - initialisées, lors de l'étape de mémorisation, respectivement du premier état à l'instant t0 et du deuxième état à l'instant tl, - renseignées pour chaque ligne desdites tables, lors de l'étape de comparaison entre les parties d'états, par une des valeurs, dite d'occurrence ", associées aux résultats possibles de ladite comparaison pour l'élément, pris parmi les répertoires, fichiers et types de fichiers, appartenant auxdites parties d'états, désigné par ladite ligne, lesquels résultats possibles sont: élément supprimé, élément ajouté, élément modifié et élément identique. 8. Procédé de comparaison de fichiers informatiques selon la revendication 4, caractérisé en ce qu'au moins une des première à troisième tables respectivement du premier et du deuxième état comporte des colonnes supplémentaires pour chaque ligne, désignant un répertoire, un fichier ou un type de fichier: - initialisées, lors de l'étape de mémorisation, respectivement du premier état à l'instant t0 et du deuxième état à l'instant t1, - renseignées pour chaque ligne desdites tables, lors de l'étape de comparaison, par une des valeurs, dite " d'erreur ", associées aux résultats possibles de ladite comparaison, dans sa phase de vérification des " règles de diagnostic appliquées à l'élément, pris parmi les répertoires, fichiers et types de fichiers, appartenant auxdites parties d'états, désigné par ladite ligne, lesquels résultats possibles sont: élément en trop, élément manquant, élément modifié à tort d'une part, et tout résultat de critères d'erreurs ou d'anomalies mémorisé au préalable, d'autre part. 9. Procédé de comparaison des fichiers informatiques selon l'une des revendications précédentes, caractérisé en ce que l'étape de comparaison est précédée d'une étape de mémorisation dans les tables respectivement du premier et du deuxième état, de lignes désignant des éléments pris parmi des répertoires, des fichiers et des types de fichiers, lesquelles lignes n' existaient pas à 1 issue des mémorisations respectivement aux instants t0 et t1. 10.Procédé de comparaison des fichiers informatiques selon l'une des revendications précédentes, caractérisé en ce que la première table, aussi table des fichiers, la seconde table, aussi table des répertoires, et la troisième table, aussi table des extensions, d'un état constituent une seule et même table dans ledit état dont les lignes sont relatives respectivement à des répertoires, à des fichiers et à des types de fichiers.