Chapitre 27. Synchronisation de fichiers

Table des matières

27.1. Logiciels de synchronisation de données disponibles
27.2. Détermination des facteurs de sélection d'un programme
27.3. Introduction à Unison
27.4. Introduction à CVS
27.5. Introduction à Subversion
27.6. Introduction à rsync
27.7. Introduction à mailsync

Résumé

Aujourd'hui, nombreux sont ceux qui utilisent plusieurs ordinateurs : un à leur domicile, un ou plusieurs sur leur lieu de travail, et éventuellement un portable ou un assistant personnel en déplacement. De nombreux fichiers sont nécessaires sur tous ces ordi­nateurs. Il se peut que vous vouliez pouvoir travailler avec tous ces ordinateurs et en modifier les fichiers avant d'obtenir ensuite la dernière version de données disponible sur tous les ordinateurs.


27.1. Logiciels de synchronisation de données disponibles

La synchronisation des données n'est pas un problème pour les ordinateurs qui sont reliés en permanence par un réseau rapide. Dans ce cas, utilisez un système de fichiers réseau, tel que NFS, et stockez les fichiers sur un serveur, en autorisant tous les hôtes à accéder à ces données via le réseau. Cette approche est impossible si la connexion réseau est mauvaise ou n'est pas permanente. Lorsque vous êtes en déplacement avec un portable, des copies de tous les fichiers nécessaires doivent se trouver sur le disque dur local. Toutefois, il est ensuite nécessaire de synchroniser les fichiers modifiés. Lorsque vous modifiez un fichier sur un ordinateur, assurez-vous qu'une copie est mise à jour sur tous les autres. Pour des copies occasionnelles, cela peut se faire manuellement avec scp ou avec rsync. Toutefois, si un grand nombre de fichiers sont concernés, la procédure peut être compliquée et nécessite une attention particulière pour éviter les erreurs, telles que le remplacement d'un nouveau fichier par un ancien.

[Warning]risque de perte de données

Avant de commencer à gérer vos données avec un système de synchronisation, vous devez bien connaître le programme utilisé et en tester les fonctionnalités. Une sauvegarde des fichiers importants est indispensable.

La tâche fastidieuse et source d'erreur consistant à synchroniser manuellement les données peut être évitée grâce à l'un des programmes faisant appel à diverses méthodes permettant de l'automatiser. Les résumés qui suivent sont simplement destinés à vous apporter une compréhension générale du fonctionnement et de l'utilisation de ces programmes. Si vous envisagez de les utiliser, lisez la documentation de ces programmes.

27.1.1. Unison

Unison n'est pas un système de fichiers réseau. Les fichiers sont simplement enregistrés et modifiés localement. Le programme Unison peut être exécuté manuellement pour synchroniser des fichiers. Lorsque la synchronisation est exécutée pour la première fois, une base de données est créée sur les deux hôtes, contenant des totaux de contrôle, des tampons horaires et les autorisations des fichiers sélectionnés. Lors de sa prochaine exécution, Unison pourra reconnaître quels fichiers ont été changés et proposer la transmission depuis ou vers l'autre hôte. Généralement, toutes les suggestions peuvent être acceptées.

27.1.2. CVS

CVS, utilisé surtout pour la gestion des versions sources de programmes, offre la possibilité de conserver des copies de fichiers sur plusieurs ordinateurs. Ainsi, il est également adapté à la synchronisation des données. CVS gère un référentiel central sur le serveur dans lequel les fichiers et les modifications des fichiers sont enregistrés. Les modifications effectuées localement sont enregistrées dans le référentiel et peuvent être récupérées à partir d'autres ordinateurs au moyen d'une mise à jour. Les deux procédures doivent être initiées par l'utilisateur.

CVS est très résistant aux erreurs lorsque des changements se produisent sur plusieurs ordinateurs. Les changements sont fusionnés et, si plusieurs de ces modifications concernent les mêmes lignes, un conflit est signalé. Lorsqu'un conflit se produit, la base de données conserve un état cohérent. Le conflit n'est visible que pour la résolution sur l'hôte client.

27.1.3. Subversion

Contrairement à CVS, qui a « évolué, » Subversion (SVN) est un projet conçu de façon cohérente. Subversion a été développé comme un successeur techniquement amélioré de CVS.

Subversion a été amélioré sous de nombreux aspects par rapport à son prédécesseur. Du fait de son histoire, CVS ne gère que les fichiers et ne tient pas compte des répertoires. Les répertoires ont également un historique des versions dans Subversion et peuvent être copiés et renommés exactement comme des fichiers. Il est également possible d'ajouter des métadonnées à chaque fichier et à chaque répertoire. Ces métadonnées sont entièrement gérables grâce au suivi des versions. Contrairement à CVS, Subversion prend en charge l'accès réseau transparent sur des protocoles dédiés, tels que WebDAV (Web-based Distributed Authoring and Versioning). WebDAV étend les fonctionnalités du protocole HTTP pour permettre l'accès en lecture collaboratif aux fichiers sur des serveurs Web distants.

Subversion a été en grande partie assemblé sur la base de paquetages logiciels existants. Par conséquent, le serveur Web Apache et l'extension WebDAV fonctionnent toujours conjointement à Subversion.

27.1.4. mailsync

Contrairement aux outils de synchronisation abordés dans les sections précédentes, mailsync ne synchronise que les messages électroniques entre les boîtes aux lettres. La procédure peut s'appliquer aux fichiers de la boîte aux lettres locale, tout comme aux boîtes aux lettres d'un serveur IMAP.

Selon l'ID du message contenu dans l'en-tête du courrier électronique, les messages individuels sont synchronisés ou supprimés. La synchronisation est possible entre des boîtes aux lettres individuelles et entre des hiérarchies de boîtes aux lettres.

27.1.5. rsync

Lorsque aucun contrôle de version n'est nécessaire mais que des structures de répertoire importantes doivent être synchronisées sur des connexions réseau lentes, l'outil rsync offre des mécanismes bien développés qui permettent de ne transmettre que les changements au sein des fichiers. Cela ne concerne pas seulement les fichiers texte, mais également les fichiers binaires. Pour détecter les différences entre les fichiers, rsync les subdivise en blocs et en calcule les totaux de contrôle.

L'effort mis dans la détection des changements a un prix. Les systèmes à synchroniser doivent être largement dimensionnés pour utiliser rsync. La RAM est particulièrement importante.

27.1.6. iFolder

Novell iFolder permet d'accéder à des fichiers où que vous soyez et à tout moment. Si vous placez vos fichiers dans votre répertoire iFolder, il est instantanément synchronisé sur le serveur. Grâce à cette méthode, vous pouvez travailler de n'importe où.

Novell iFolder permet également de travailler hors ligne. Cela est très pratique si vous n'avez pas de connexion Internet, par exemple lorsque vous travaillez avec un portable en déplacement. Après vous êtes connecté sur Internet, les changements sont envoyés au serveur.

L'utilisation d'iFolder implique les étapes suivantes :

  1. Connectez-vous avant d'utiliser iFolder.

  2. Changez vos préférences relatives à la fréquence de la synchronisation.

  3. Synchronisez vos fichiers et reportez-vous à l'activité entre votre client et le serveur iFolder.

  4. Résolvez les éventuels conflits au cours de la synchronisation. Des conflits se produisent lorsque vous changez le même fichier sur deux ordinateurs différents. iFolder stocke les fichiers en conflit dans un répertoire séparé pour éviter la perte des données.

Pour plus d'informations sur iFolder, reportez-vous à http://www.novell.com/en-en/documentation/. Vous trouverez des conseils et astuces sur iFolder à l'adresse http://www.novell.com/coolsolutions/ifmag/.