# Ultracopier

Ultracopier est un logiciel utilitaire destiné à remplacer la fonction de copie de fichiers de l'explorateur de fichiers.
Le logiciel est disponible en plusieurs langues et sur plusieurs plates-formes (Windows, Mac, Linux).

## Fonctionnalités

* Possibilité de mettre la copie en pause ;
* Affichage et réglage de la vitesse de copie ;
* Deux barres de progression, une pour le fichier en cours de copie et une pour la liste complète ;
* Liste de copie modifiable pendant la copie ;
* Journal des erreurs ;
* Lors d'un "conflit", le logiciel demande ce qu'il doit faire (écraser, passer, annuler ou renommer soit le nouveau, soit l'ancien fichier) ;
* Lors d'une erreur, le logiciel demande ce qu'il doit faire (réessayer, passer, annuler ou mettre en fin de liste) ;
* Reprise de la copie la où elle s'était arrêtée en cas d'erreur ;
* Gestion de ressources internet et externes ;
* Support des thèmes et feuilles de style CSS ;
* Ligne de commande pour script.

## Projet associé

Le projet Catchcopy tente d'unifier la méthode pour intercepter les copies et l'interface avec le logiciel de copie. Ceci permet de regrouper au maximum le code de tous les copieurs, et de faciliter l'interception des copies. Les projets Ultracopier et Super Copier ont ainsi commencé à unifier la partie de leur code gérant l'interception des copies, notamment grâce à un partenariat étroit et une norme a été décidée. Le site du projet catchcopy a été ouvert à l'occasion. Une API en Qt et la documentation sont disponibles.

## Historique
### Ultracopier 0.1

Ce fut la première version d'Ultracopier, qui avait pour but d'avoir un début de projet pour voir s'il y avait une demande pour ce genre d'applicatif sous Linux (hormis l'auteur). L'auteur apprenait Qt.

### Ultracopier 0.2

Ce fut une refonte totale d'Ultracopier, une grosse partie de code a été refaite. Des freelance qui n'ont toujours pas été remboursés par les dons ont été chargés des parties spécifiques à Windows. Un certain nombre de nouveautés majeures font leur apparition, le mode debug, la version portable, réglage plus fin des options, copie par flux de données en multi-thread pour désynchroniser la lecture de l'écriture. À partir de ce moment, le projet commence à être populaire, des partenariats sont créés (avec SuperCopier). Ultracopier a été fortement soigné pour les performances et la stabilité. Il se met à utiliser des bibliothèques externes et commence à faire des normes (catchcopy) avec ces partenaires.

### Ultracopier 0.3

Changement de structure radicale, cette nouvelle version se veut encore plus modulaire. Les plugins font leur apparition (binaires spécifiques à la plateforme pour les performances et génériques pour le multi-plateforme). Le moteur de copie lui-même est devenu un plugin, ce qui permet de garder l'application en Qt et de gérer des formats tiers très facilement comme KDE sans avoir à toucher à Ultracopier. Cela incite la concurrence pour que l'utilisateur en sorte gagnant. Un moteur rsync pour synchroniser deux dossiers a vu le jour par exemple. L'interface est maintenant un plugin pour la personnaliser complètement et permettre de reproduire l'interface des autres copieurs de fichiers afin de faciliter la transition vers Ultracopier.
Cette version utilise des plugins pour supporter l'interception, grâce à cela il est très facile de l'adapter pour un explorateur (catchcopy en version v0002 est supporté) ou de supporter une interception tiers (direct opus, plugin d'autre copieur, ...).

### Ultracopier 0.4

Passage sur Qt5. Gain de performance et de temps de démarrage. Meilleur intégration avec l'UAC de Windows. Meilleur prise en charge des points de montage sous Unix. Mise en gratuit des plugins qui étaient dans la boutique (mais déjà en GPL3).

### Ultracopier 1.0

La version 1.0 améliore principalement la stabilité du logiciel. Ultracopier existe désormais en trois versions :
* Version simple gratuite ;
* Version ultimate payante ;
* Version ultimate gratuite utilisant cgminer, un générateur de Bitcoin utilisant la carte graphique.

## Portable Ultracopier

Ultracopier Portable est une version portable de Ultracopier conçue pour fonctionner sur une carte mémoire flash USB, baladeur, disque dur externe ou tout autre appareil portatif. Il est particulièrement utile quand il n'y a aucun autre copieur de fichiers. La version portable est un dérivé direct de la branche principale, ce qui permet de profiter des toutes dernières nouveautés de la branche principale. Il utilise aussi la compression (grâce à UPX, Lzma, Tar) pour réduire l'espace requis pour le stockage.

## Logiciels similaires

Il existe d'autres logiciels du même type. Certains fonctionnent exclusivement par lignes de commande, d'autres via une interface utilisateur. Parmi ces derniers, on peut citer (par ordre alphabétique) :
* FastCopy (en)
* MiniCopier
* SuperCopier
* TeraCopy (en)