Ultracopier est un logiciel de copie de fichiers sous licence GPL v3, disponible pour plusieurs systèmes. Il remplace la copie de fichiers de votre gestionnaire de fichiers. Il permet la gestion de la liste de copies, la reprise sur erreur ainsi que la gestion des erreurs et collisions.
Les nouveautés de la version 2
Passage de Qt à C
Le passage de Qt à C permet de ne pas subir les divers bogues jamais corrigés et limitations de Qt. L’ancien moteur est toujours disponible sous la forme d’un greffon.
Adaptation à la plate‐forme pour de meilleures performances et une meilleure gestion des erreurs
On passe donc d’un moteur générique à un moteur pour chaque système d’exploitation dont les données internes, mode d’accès aux fichiers et dossiers, sont spécifiques. Cela permet d’avoir une meilleure gestion des erreurs du disque, du système de fichiers et du système d’exploitation, et de disposer d’une gamme complète d’accès aux fichiers (asynchrone et synchrone, classique ou en diffusion). Avec le nouveau moteur, les performances sont trois fois supérieures dans certains cas. Et je pense pouvoir aller encore plus loin dans les performances.
Simplification
Plus le logiciel est complexe, plus il y a des bogues potentiels. De plus, comme ce sont nos données que le logiciel manipule, et que les utilisateurs veulent des fonctionnalités que personne n’utilise, j’ai décidé de retirer les fonctionnalités les plus invasives et les moins utiles (somme de contrôle, pause, limitation de débit).
Changement de licence
La licence payante d’Ultracopier version 1 n’est pas compatible avec la version 2, car la version 1 a été supportée pendant de nombreuses années. Cela permettra de financer un avancement plus rapide de la version 2.
Nouveaux portages sur WebAssembly et Android
GNU/Linux est toujours pris en charge. Après une période de stabilisation j’étudierai son intégration dans les distributions (vous êtes les bienvenus pour aider). Haiku, BSD, etc., sont toujours pris en charge ; mais à cette liste viennent à présent s’ajouter WebAssembly et Android.
Réorganisation de l’interface
Dans la nouvelle interface par défaut, aucune information n’a été retirée ; l’interface a seulement été réorganisée. En revanche, d’autres informations ont été ajoutées, comme la vitesse par taille de fichiers. Tout le monde a sa vision de la meilleure interface (contenu, masqué, prioritaire…), les deux interfaces qui restent maintenues devraient contenter le plus grand nombre, les autres interfaces n’étaient jamais utilisées. Vous êtes, bien sûr, libres de proposer vos interfaces.
Enfin, si certains pensent que l’avantage de ce type de logiciel est d’avoir plus de performance, ce n’est qu’une partie de ses fonctionnalités.
Aider le projet
Si vous voulez m’aider ou aider à développer du logiciel :
- je cherche du travail en télétravail dans les domaines du développement, de l’administration système ou des télécommunications ;
- louez vos serveurs privés virtuels ou de l’hébergement chez Confiared (Confiared est mon entreprise et elle appuie le projet).
Aller plus loin
- Facebook d’Ultracopier (152 clics)
- Site d’Ultracopier (2771 clics)
- Site de Confiared, hébergement et serveurs privés virtuels (229 clics)
- Démo en WebAssembly (245 clics)
- Précédente dépêche sur Ultracopier 1.4 (77 clics)
# Fonctionnalités supprimées
Posté par ptit_poulet . Évalué à 10.
Bonjour,
Retirer les fonctionnalités somme de contrôle, pause et limitation de débit me paraît étrange tout de même.
C'est ce genre de fonctionnalités qui me paraît les plus intéressantes dans ce type de logiciel… Après ça n'engage que moi.
[^] # Re: Fonctionnalités supprimées
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 9.
+1, la pause et la limitation de débit étaient les fonctionnalités les plus utiles pour moi, parce que celles qu'on ne trouve généralement pas dans les outils intégrés de l'OS.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Fonctionnalités supprimées
Posté par ʭ ☯ . Évalué à 5.
La pause, je l'ai déjà dans Plasma 5…
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Fonctionnalités supprimées
Posté par alpha_one_x86 (site web personnel) . Évalué à 10.
Le throttling et pause ont de lourde implications au niveau performance (perturbation du buffer, du scheduler, sans compter le passage par l'user space) et vu que les gens ne parle presque que des performances d'Ultracopier… par exemple la fonction système FileCopyEx de windows ne le permet pas (et vu que 95% des utilisateurs sont sous windows).
Je ne suis pas opposé a un retour de certaine fonctionnalité si j'arrive a les faire de manière plus efficaces et moins intrusive.
Le somme de contrôle son peu utile, car si les fonctions de base dise ok, il y as de grande chance que le checksum dise ok, surtout si le fichier est en cache mais que le FS ou device est corrompu.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Fonctionnalités supprimées
Posté par Quinane . Évalué à 4. Dernière modification le 09 août 2019 à 12:42.
Merci pour cette dépêche et ce partage.
Concernant la somme de contrôle, le cache en question n'est pas purgeable avant contrôle ? Ou c'est celui du disque plus éventuellement la mémoire ?
Microsoft avait expliqué dans un article pourquoi il n'avait pas implémenté le checksum avec les arguments que tu avances.
En tous les cas, c'est utile pour les gros fichiers, dépassant la taille du cache.
Si demander au système de contrôler ce qu'il fait est en effet problématique, le fait que ce soit un outil non natif n'est-il pas une précaution supplémentaire ? Diminuant la "grande chance" dont tu parles ?
[^] # Re: Fonctionnalités supprimées
Posté par alpha_one_x86 (site web personnel) . Évalué à 4.
Je n'est pas trouver comment faire, il faudrai le faire pour chaque OS et cela dégraderai les performances.
Pour te répondre je prendrai le cas de Qt: qui est multi-platforme et donc abstraie la partie native: aucun controle sur le cache, ne peu pas manipulé des fichiers avec accent si l'encodage ne corresponds pas au FS, imposible de définir la date d'un fichier/dossier car selon Qt:
Je continuerai à chercher une solution.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Fonctionnalités supprimées
Posté par Quinane . Évalué à 1.
Merci pour cette explication.
[^] # Re: Fonctionnalités supprimées
Posté par Ibiscus . Évalué à 2.
Pareil pour moi : la pause était l'une des fonctions plus utilisées. Sans elle, l'application a nettement moins d'intérêt.
[^] # Re: Fonctionnalités supprimées
Posté par Jaques Augarde . Évalué à 1.
Je ne vois pas bien l'intérêt de mettre en pause une copie ? Je doute pas qu'il y en a (j'ai même découvert que c'est inclus de base dans win10). Tu peux m'expliquer ?
[^] # Re: Fonctionnalités supprimées
Posté par _kaos_ . Évalué à 9.
Salut !
Moi non plus mais je vois un exemple. Je ne sais pas si ça peut éclairer.
C'est super hypothétique parce que je ne le fais pas, mais disons :
- j'ai un collègue de travail qui me passe des films à voir,
- je commence la copie et retourne à mon travail,
- là j'ai un calcul à lancer qui va aussi faire de la lecture/écriture sur disque alors qu'il est sollicité par la copie,
- hop, pause de la copie pour avancer dans le travail et reprise plus tard.
Ça vaut ce que ça vaut cet exemple, mais peut-être que ça répondra à ta question. Ou pas.
Matricule 23415
[^] # Re: Fonctionnalités supprimées
Posté par Jaques Augarde . Évalué à -1.
Je crois pas qu'il y ait beaucoup d'utilisateurs d'ultracopier qui en sont à savoir qu'une tâche charge les io. C'est compliqué d'utiliser ionice pour ce genre d'usages tu pense ?
[^] # Re: Fonctionnalités supprimées
Posté par _kaos_ . Évalué à 3. Dernière modification le 11 août 2019 à 20:01.
Salut !
Bin là, c'est une colle. Je ne sais pas.
Déjà que mon idée était hypothétique, rajouter en plus une autre hypothèse la rend complètement caduque :)
Ce que je sais par contre c'est que pour le boulot, il m'arrive de devoir lire/écrire sur disque et plus ça va vite, mieux c'est. Un
ionice
me fera juste encore perdre du temps.Matricule 23415
[^] # Re: Fonctionnalités supprimées
Posté par Jaques Augarde . Évalué à 1.
Tu peux avoir des écarts de priorité tellement fort que je doute que tu ai une différence sensible.
[^] # Re: Fonctionnalités supprimées
Posté par GG (site web personnel) . Évalué à 9. Dernière modification le 11 août 2019 à 15:06.
Tu commences la copie, et tu te rends compte qu'il n'y aura pas assez de place.
Plutôt que d'avoir une erreur, tu préféreras mettre en pause le temps de faire de la place avant de poursuivre la copie.
Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html
[^] # Re: Fonctionnalités supprimées
Posté par Jaques Augarde . Évalué à 1.
Pour ça il y a encore mieux le logiciel te pourrait alerter (que tu pourrais choisir d'ignorer). C'est beaucoup kids simple à implémenter et ça gère des cas en plus (tu peux te rendre compte que tu ne pourra pas utiliser cette clef USB).
[^] # Re: Fonctionnalités supprimées
Posté par lejocelyn (site web personnel) . Évalué à 6.
J'utilise la fonction pause d'une copie habituellement pour les copies qui durent longtemps. Si une copie dure longtemps, il m'arrive d'avoir d'autres tâches à gérer en même temps. Le truc, c'est que copier occupe le processeur et le disque dur, ce qui peut me gêner dans le cas d'autres tâches (parfois même, une autre copie) à finir avant la copie longue prenne fin.
C'est un peu le même problème dans le cas d'un téléchargement d'ailleurs, sauf qu'on peut aussi y ajouter le problème de la bande passante, souvent plus limitée et donc plus contraignant.
[^] # Re: Fonctionnalités supprimées
Posté par Shunesburg69 . Évalué à 2.
En fait, il reste que la reprise en cas de coupure d'utile, limite il vaut mieux utiliser MiniCopier.
# Performances : comment ?
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 7.
Hello,
Un passage m'interpelle :
Chez moi – avec les outils intégrés à l'OS – les copies sont systématiquement limitées par les I/O (disque ou réseau selon le cas). Du coup ça m'intrigue que tu puisses faire mieux.
Pourrais-tu nous expliquer comment tu arrives à un tel résultat ? Parce que ça peut être clairement une fonctionnalité qui à elle seul pourrait faire choisir ton outil !
La connaissance libre : https://zestedesavoir.com
[^] # Re: Performances : comment ?
Posté par ʭ ☯ . Évalué à 3.
Il va 3 fois plus vite qu'avec son ancien moteur, pas que l'OS…
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Performances : comment ?
Posté par Seb . Évalué à 3.
ça dépend de ce qu'on appelle performance.
Si on fait 100% d'I/O pour 30% de CPU dans un cas, et 100% d'I/O pour 5% de CPU dans l'autre, on a amélioré les performances ;)
[^] # Re: Performances : comment ?
Posté par sizvix (site web personnel) . Évalué à 3.
Il y a plein de choses sur lesquelles on peut jouer, notamment sur les disques dur classiques, organiser les fichiers copiés en les mettant dans un certains ordre, les organiser en block étudier pour les tailles de clusters pour les petits fichiers, jouer sur les DMA pour soulager le CPU, etc …
( c'est sur qu'après, si c'est juste de SSD à SSD , il y a peut-être peu d'intérêt … )
Essaie pour vivre sans brider les utilisateurs https://www.indiegogo.com/projects/iwinote
[^] # Re: Performances : comment ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 5.
L'OS les faits en séquentiel, pas moi.
Voila un très vieux benchmark qui reste valable où j'explose les performances de Windows 7:
https://ultracopier.first-world.info/articles/ultracopier-supercopier-teracopy-copyhandler.html
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Performances : comment ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 4.
Erreur de lien:
https://ultracopier.first-world.info/articles/security-speed-ultracopier-supercopier-teracopy-copyhandler.html
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
# Et ?
Posté par arnauld . Évalué à 1.
Bonjour,
et comment puis-je faire pour essayer ultracopier 2 sur mon Linux Mint ?
Merci.
arnauld
[^] # Re: Et ?
Posté par s3boun3t . Évalué à 3.
tu le dl sur le github et tu le compiles
https://github.com/alphaonex86/Ultracopier
# Gestion du son ?
Posté par WrathOfThePixel . Évalué à 3.
C'est à dire ?
[^] # Re: Gestion du son ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 5.
Maintenant on peu jouer des sons sur certain événements, par exemple la fin de la copie.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Gestion du son ?
Posté par Ysabeau 🧶 (site web personnel, Mastodon) . Évalué à 6.
Peut-être conviendrait-il de remplacer Gestion du son par Effets sonores dans ce cas (ou une autre formule équivalente), ou ne pas mettre ça en avant.
« Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.
# Passage de Qt à C
Posté par Astaoth . Évalué à 10.
Je ne suis pas sûr de comprendre cette partie : Qt est un ensemble de bibliothèques, entre autre pour la partie graphique, pouvant être utilisées en C++, Python et autres, là où C est un langage de programmation pouvant utiliser des bibliothèques externes, entre autre pour la partie graphique.
C'est plutôt un passage de Qt/C++ à Gtk/C qui est annoncé du coup ?
Emacs le fait depuis 30 ans.
[^] # Re: Passage de Qt à C
Posté par alpha_one_x86 (site web personnel) . Évalué à 10. Dernière modification le 09 août 2019 à 00:35.
Je vais clarifier ce point, désolé si je suis technique, je passe de l'objet Qt QFile qui bug sur les problèmes d'encodage, caractère non affichable ou/et corrompu aux appelles système natif:
- char * + open() sous Unix
- std::wstring + CreateFile() sous Windows
Et vu que les API native sont en C…
Par contre je garde Qt pour le reste (comme l'interface)
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Passage de Qt à C
Posté par pamputt . Évalué à 10.
Tu aurais le rapport de bogue correspondant au problème que tu décris ?
[^] # Re: Passage de Qt à C
Posté par raphj . Évalué à 7.
Être technique, ici, tu peux, beaucoup de gens seront intéressés ;-)
Je ne comprenais pas non plus ce point (passage de Qt à C), maintenant c'est plus clair.
# Je veux bien mais...
Posté par tipic . Évalué à 4.
Après un github, puis avoir suivi les consignes:
find ./ -name '*.ts' -exec lrelease {} \;
qmake ultracopier.pro
erreur : Aucune règle pour fabriquer la cible « FacilityEngineVersion.cpp », nécessaire pour « FacilityEngineVersion.o ». Arrêt.
ou en console
Ai-je raté quelque chose ?WARNING: Failure to find: FacilityEngineVersion.cpp
[^] # Re: Je veux bien mais...
Posté par cpbx . Évalué à 3.
Bizarre, on dirait que ce fichier n'a jamais été dans le repo (mais je suis une bille avec Git):
Si c'est juste pour tester l'outil comme c'est mon cas, il est possible de créer le fichier afin d'y ajouter la méthode
FacilityEngine::version()
:[^] # Re: Je veux bien mais...
Posté par alpha_one_x86 (site web personnel) . Évalué à 3.
Oups, désolé, corrigé
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
# Euuuh ?
Posté par Spleen . Évalué à -1.
Avec le nouveau moteur, les performances sont trois fois supérieures dans certains cas.
Trois fois supérieur à quoi ? La version précédente ? Ce que fait l'OS ?
Cela permet d’avoir une meilleure gestion des erreurs du disque
Comment une application pourrait faire mieux que le système d'exploitation sur lequel il s'appuie.
Comme si on me disait que HTTP permet de corriger les problèmes de la couche de liaison… ça n'a aucun sens puisqu'elle s'appuie dessus, nous ne sommes pas au même niveau.
les moins utiles (somme de contrôle, pause, limitation de débit).
Bon sang c'est vraiment pour ça que les développeurs/décideurs ont besoin de feedback client : c'était clairement les fonctionnalités les plus utiles, celle qui ne sont pas proposées par l'OS… c'est pour cela qu'on télécharger ton logiciel coco…
Changement de licence
Pas très clair… GPL/LGPLv3 ? Apache ? Shareware ? Freeware ?
L'OS les faits en séquentiel, pas moi.
N'importe quoi… sur un HDD peut-être, pas sur les SSD…
[^] # Re: Euuuh ?
Posté par Jaques Augarde . Évalué à 10.
Logiquement c'est par rapport à la version précédente. Quand il y a une dépêche qui dit qu'elle fait mieux qu'avant, c'est évident qu'il parle de la version précédente. Par exemple quand on dit que Buster a 15k paquets de plus, on ne se demande pas si c'est 15k de plus que RedHat.
C'est quoi une application ? C'est quoi le système ? Linux ne sait pas faire de copie pour toi. Si tu veux le comparer à
cp
,cp
etultracopier
sont toutes 2 des applications en espace utilisateur. Elles s'exécutent au même endroit et ont accès aux même API.Pourtant il y a bien des différences possibles. Copier un fichier ou une arborescence, ça ne consiste pas uniquement à appeler le bon appel système. On a déjà
cp
,rsync
,dd
ouddrescue
qui font les choses de manière très différentes. Il y a pleins de façon de gérer les erreurs : faire des essais supplémentaires, sauter le bloc,…Dire « le système » fait déjà tout ce qu'il faut c'est amha très réducteur.
Toi tu as les feedbacks que lui n'a pas ? Tu sais mieux que lui pourquoi son logiciel est utilisé ? Va falloir un peu plus qu'une simple affirmation coco…
Nul n'est plus aveugle que celui qui refuse de voir…
[^] # Re: Euuuh ?
Posté par NicolasP . Évalué à 5.
C'est tout à fait faisable pour un système de corriger les problèmes du système sur lequel il s'appuie. Pour rester sur les couches réseau: TCP corrige les problèmes de perte ponctuelle de paquets ou d'arrivée dans le désordre de la couche IP.
[^] # Re: Euuuh ?
Posté par Guillaume Denry (site web personnel) . Évalué à 0.
Ce ne sont pas des "problèmes" d'un point de vue IP, puisqu'IP ne garantie pas l'ordre des paquets ni que les paquets arrivent tous au destinataire, et c'est tout-à-fait délibéré.
[^] # Re: Euuuh ?
Posté par Jaques Augarde . Évalué à 1.
Il n'a pas dis que c'était un problème du point de vu d'IP. Les échecs d'écriture ne sont pas un problème d'un point de vu du système, il n'offre aucune garantie à ce niveau là. Son travaille c'est d'essayer d'écrire et potentiellement de te remonter les erreurs (mais pas forcément vu que les écritures sont asynchrones).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.