RebSync 0.3.0
Goldevil4-Oct-2007/14:45:49+2:00
Bonjour à tous,

pour mes besoins personnels j'ai besoin d'un logiciel qui permette de synchroniser des répertoires. Il y a beaucoup de logiciels qui permettent cela mais leur limitation est l'impossibilité de détecter des conflits : deux fichiers qui ont été modifiés dans les deux répertoires depuis la dernière synchronisation.
Il faut donc que le logiciel enregistre le statut des fichiers lors de chaque synchronisation.

Je ne connais que deux logiciels qui résolvent le problème :

- AllwaySync : payant et version gratuite trop limitée
- Unison : gratuit mais nécessite l'installation de GTK et est assez peu performant.

De plus, comme j'utilise un clé USB pour transporter du code source entre plusieurs machines de développement, il me faillait une application portable (sans installation).

J'ai donc écrit un petit script rebol qui solutionne mon problème mais qui a pris pas mal d'ampleur pour devenir une application qui je pense est digne d'intéresser d'autres personnes.

Le logiciel RebSync est disponible à l'adresse suivante :

http://www.easybraine.com/index.cfm?content_id=40

Remarques importantes :

1) Le logiciel peut utiliser deux moteur de bases de données MySQL et SQLite. Mais pour utiliser ce dernier, il faut avoir une licence rebol/pro ou rebol/command. C'est pour cela que la version compilée (encapée) pourra vous intéresser. Les script de création des tables MySQL est fournit dans le source et il suffit de modifier le fichier rebsync.conf pour utiliser MySQL.

2) Le logiciel est en version Beta et n'est pas suffisamment testé pour une utilisation professionnelle.

3) Lors de la synchronisation de gros répertoires, la première phase de détection produit un étrange effet sur windows dans la barre des tâches.


Vous êtes libres d'utiliser le logiciel et de proposer des améliorations. Il sera certainement sous licence BSD ou LGPL (je ne sais pas encore).

Quelques remerciements :

Nenad Rakocevic (SoftInnov)
MySQL driver
Henrik Mikael Kristensen (HMK Design)
Enhanced list view
Didier Cadieu (aka DideC)
Scroll text area
Didec4-Oct-2007/15:53:32+2:00
Ca semble être bien, mais :
** Access Error: Cannot open /E/Rebol/view/local/Test/Rebsync/images/easybraine.gif
** Near: eblogo: load %images/easybraine.gif
reblogo: load
** Press enter to quit...

Il manque une (ou plusieurs) image(s) dans l'archive.
guest24-Oct-2007/16:11+2:00
Salut Goldevil, shtite question à 100 balles:

Pourquoi as-tu fait le choix de stocker les infos dans une BDD plutôt que dans des fichiers plats natifs en Rebol ?

Exemple:
Tu as 2 répertoires à synchroniser.
Tu crées/maj 2 fichiers plats %.sync (éventuellement cachés) dans chacun des 2 répertoires contenant les infos qui vont bien (timestamp, checksum, etc...)

J'imagine que tu as envisagé cette solution puis rejetée, alors, alors ?
guest24-Oct-2007/16:14:05+2:00
Ah aussi, pourrais-tu mettre quelques captures sur ton site ou dans ce forum pour avoir un avant gout de l'interface ?
Goldevil4-Oct-2007/16:52:17+2:00
L'archive est en effet incomplète. J'ai mis une version corrigée. Et j'ai aussi mis des screenshots.

J'ai pensé à utiliser un fichier plat chargé en mémoire mais je désire que le logiciel puisse fonctionner avec de très grandes arborescences sans consommer trop de mémoire.
Dans mon utilisation, j'ai de très grosses arborescences à vérifer et une vrai base de données est la plus économe en mémoire sans perte de performances trop importante.

L'autre avantage est la possibilité de reprendre un synchronisation interrompue. En cas de crash de l'application, il est préférable que les statuts des fichiers déjà copiés aient été mis à jour.

Néanmoins, il pourrait être intéressant de rajouter ce format de stockage. Pour cela, on peut envisager d'utiliser sql-protocol de Marco ou RebDB de Dobeash qui fonctionne de cette manière (fichier chargé en mémoire).

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2