logoAnerty's Lair - Actualités << Home
enfr
^ Utilitaires Documentation
article

Annonce: Bonne Année 2010

Bonne année 2010 à tous, et merci à ceux qui m'ont écrit pour me remercier, contribuer des idées ou me signaler des bugs.

Il n'y a pas eu beaucoup d'activité ici ces derniers temps, mais je continue de développer les outils présentés sur ce site. J'ai juste eu un peu moins de temps que prévu ce qui fait que les nouvelles versions de DriveSort et JSavf sont un peu restées dans mes tirroirs. J'espère pouvoir faire avancer plus rapidement les choses cette année et mettre a disposition de nouvelles versions de ces programmes bientôt.

Dans un autre registre, un utilisateur satisfait de DriveSort m'a récement demandé si il y avait un moyen de me faire un petit don pour me remercier, mais il n'existait jusqu'alors pas de moyen de le faire depuis le site. J'ai donc mis en place un lien PayPal en bas de la page à coté de mon mail si vous vous sentez généreux.

article

Info: DriveSort sous Linux

Linux DriveSort

J'ai fait quelque tests sous Ubuntu Linux v8.04 avec Wine v0.9.59 comme émulateur Windows, et il semble permettre à DriveSort de fonctionner sous Linux. Ca tombe bien, car je n'ai pour le moment pas l'intention de faire une version multi platforme de DriveSort vu que les sources sont fortement liées aux APIs Microsoft. Ca équivaudrait à tout réécrire une bonne partie de l'application, et je ne suis même pas sur qu'il existe des APIs portable pour la gestion des disques.

Par contre, il y a quand même quelque problèmes sous Wine:

  • J'ai seulement réussi a trier quelquechose en lançant DriveSort avec sudo wine DriveSort.exe, sinon il se plaint d'"Accès refusé" quand j'essaye d'ouvrir un système de fichier FAT monté.
    C'est ptet du à mes conditions de test un poil exotiques (j'essaye de trier une clef USB branchée sur ma machine Windows en faisant tourner DriveSort sur Wine sur Ubuntu Linux sur VMWare Player sur Windows). J'ai essayé d'éviter les problèmes potentiels de l'USB sous la machine virtuelle en triant un volume TrueCrypt monté directement sous Ubuntu, mais ça ne résoud pas le problème, je ne peux ouvrir le systeme de fichier que si je lance Wine entant que super-utilisateur. Ca vient peut être aussi du fait que mon installation d'Ubuntu est une image pré-installée (L'image de machine virtuelle Ubuntu que j'utilise).

    Si vous trouvez un moyen d'ouvrir un disque dans DriveSort sans lancer Wine entant que root, merci de me tenir au courant.
  • Il y a quelque fonctions Windows utilisées par DriveSort qui ne fonctionent pas sous Wine pour le moment. Certaines sont importantes, les autres moins:
    • Verrouillage de Volume (FSCTL_LOCK_VOLUME): Permet à DriveSort d'empécher les autres programmes de modifier accidentellement le système de fichier pendant que DriveSort est entrain de le trier, et empêche DriveSort d'ouvrir un système de fichier si un autre programme est déjà entrain de bosser dessus. Sans cette fonction, il n'y a aucune garantie que votre système de fichier FAT ne soit pas modifié par deux programmes en même temps, donc ça peut ammener à un système de fichier corrompu. Vous pouvez essayer d'éviter ça en ne faisant rien sur ce système de fichier, mais c'est un peu dangereux.
      Wine le signale comme ça: fixme:ntdll:NtFsControlFile stub! return success - Unsupported fsctl 90018 (device=9 access=0 func=6 method=0)
    • Déverouillage de Volume (FSCTL_UNLOCK_VOLUME): Permet à DriveSort de lacher un verrou sur un volume quand vous le fermez. Celui la ne nous manquera pas trop si on ne peut pas verrouiller le volume, mais quand même important si d'aventure Wine implémente le vérouillage dans une beta version sans implémenter celui la en même temps.
      Wine le signale comme ça: fixme:ntdll:NtFsControlFile stub! return success - Unsupported fsctl 9001c (device=9 access=0 func=7 method=0).
    • Structure d'un disque (IOCTL_DISK_GET_DRIVE_LAYOUT): Donne plus de détails sur la structure des partitions d'un disque à DriveSort.
      Wine le signale comme ça: fixme:mountmgr:harddisk_ioctl unsupported ioctl 7400c.
    • Lecture de fichier sur Internet (InternetReadFileExW): Permet à DriveSort de lire la dernière version depuis le net de manière asynchrone quand il se met à jour. Vu que le bouchon de Wine ne fait rien, la mise à jour va se plaindre qu'il est impossible de déterminer la dernière version de DriveSort avec "Succès" comme raison, ce qui ne dit pas grand chose.
      Wine le signale comme ça: err:wininet:InternetReadFileExW (0x3, 0x14eae0, 0x8, 0x14ead0): not implemented in native
  • Il y a une DLL Windows qui n'est pas distribuée avec Wine: MFC42u.dll. Pour faire tourner DriveSort il faut la mettre soit au même endroit que DriveSort.exe soit dans les fichiers système de Wine. On peut la trouver facilement via Google mfc42u.dll.
  • La plupart du temps, quand DriveSort referme un disque qu'il vient juste de trier, il tente de le démonter pour forcer le système d'exploitation à purger son cache du système de fichier. Sous Windows le disque est automatiquement remonté, donc c'est transparent pour l'utilisateur. Sous Wine, le disque n'est pas automatiquement remonté, donc ne paniquez pas si votre disque disparait quand vous le fermez sous Wine, suffit juste de le remonter.

Utiliser Wine vous permet donc de faire tourner DriveSort sous Linux, mais ça ne sera pas aussi sur que de le faire tourner sous Windows tant que Wine n'implémentera pas le verrouillage de disque.

article

Mise à jour: DriveSort v1.223

Une petite amélioration des performances d'ouverture en perspective avec cette version, j'ai pu différer un bout de code qui ne servait qu'à la fenêtre de propriétés, et qui pouvait prendre du temps avec beaucoup de fichiers, ou de gros fichiers.

Sinon, avec la quantité de bugs que j'ai trouvé la semaine dernière, je me suis dit que c'est bien beau de corriger tout ça, mais après il faut aussi que vous pensiez à mettre à jour votre version. Vu qu'il n'y avait pas de moyen de vérifier qu'on avait bien la dernière version depuis DriveSort, ça obligeait à aller sur le site, ce qui peut être un poil lourd. J'ai donc intégré une nouvelle tâche de fond qui vérifie si DriveSort est bien à jour. Si c'est pas le cas elle vous en informe, et vous propose d'ouvrir la page de téléchargement. Par défaut, cette vérification est activée, et ne se lance pas plus d'une fois par semaine, à l'occasion du démarrage de DriveSort.

Si vous voulez désactiver la vérification, ou changer la fréquence, ou lancer manuellement une vérification, vous avez un nouveau sous-menu "Mises à jour..." sous le menu mystère à droite ("?").

Si vous avez un firewall, il risque de vous demander si vous autorisez DriveSort à se connecter au Net. Pour vous aider à configurer tout ça, voici ce qu'il se passe quand DriveSort se met à jour:

  • DriveSort demande l'adresse IP du serveur www.anerty.net, via une requete DNS.
  • Une fois qu'il a trouvé ou c'est, il s'y connecte sur le port TCP 80 (HTTP)
  • Il envoie ensuite une requête sur l'URL suivante: /software/file/DriveSort/?style=ver&curVer=1.222&curLang=040c. Vous pouvez aller voir si vous voulez, ya juste le nom de l'appli et la version pour le moment. A terme j'ajouterai ptet d'autre choses, c'est pourquoi j'ai mis deux paramêtres qui décrivent la version que vous possedez, pour pouvoir ultérieurement faire des distinctions entre mises à jour mineures et majeures, et pouvoir vous diriger directement sur la traduction que vous aviez.
    • curVer c'est la version que vous avez (1.222 dans l'exemple)
    • curLang un code langue Windows qui veut dire \"Français (France)\" pour 040c ou \"English (US)\" pour 0409
  • Si il reçoit quelquechose ("DriveSort v1.223"), il vérifie qu'il est bien à jour, sinon il réessaye une deuxième fois, et si ça marche toujours pas il vous en informe et laisse tomber jusqu'à la prochaine fois.
article

BugFix & Mise à jour: DriveSort v1.222

Je me suis mis dans l'idée de faire un peu de ménage dans le code de DriveSort, histoire de virer quelque vieilleries liées à l'I-Bead (analyse partielle du fichier SETTINGS.DAT, affichage d'une icone particulière pour ce lecteur, ...).

Pendant mon grand ménage, je suis tombé sur quatre bugs:

  • Un problème d'arrondi dans ma gestion du FAT-12 empèchait de lire correctement les disques formattés dans ce système de fichier.Heureusement le FAT-12 n'est utile que sur de très petit disques (grand max 32Mo, habituellement moins de 8 Mo), donc à moins que vous ayez tenté de trier une disquette ça n'a pas tellement du vous ennuyer.
  • Quand on tentai d'ouvrir un disque verrouillé par un autre processus (par ex. fenêtre d'Explorer ouverte), DriveSort affichait un message d'erreur vous informant que le disque est verouillé, mais il déverouillait et démontait quand même le disque, ce qui permettait de l'ouvrir si on tentais une deuxième fois. Ce bug est plus grave, vu que si l'autre processus était entrain d'écrire celà à pu provoquer des erreurs. C'est maintenant corrigé, on peut le constater en laissant une fenetre d'Explorer ouverte sur le disque qu'on tente d'ouvrir. Tant que le vérou persiste, le message apparait à chaque fois qu'on tente d'ouvrir ce disque.
  • Lorsqu'on effectuait une sauvegarde ou une restauration de disque, le disque n'etait pas verrouillé correctement. Ce bug est grave vu qu'il a pu provoquer des backups incohérents ou des restauration corrompues si un autre processus écrivait sur le disque pendant ce temps. Maintenant, que ce soit pour une sauvegarde ou une restauration, la tâche de sauvegarde ou de restauration attend d'obtenir un verrou exclusif sur le disque pour faire son boulot. Elle apparait alors avec "Attends le verrou disque" dans son statut. Si le vérou se libère, elle démarrera la sauvegarde ou restauration dans les 15s qui suivent.
  • Le mode playlist ne fonctionnait pas correctement si on utilisait un mode de tri autre que ascendant avec les dossiers après les fichiers.En tri descendant les nombres étaient mal générés, ce qui faisait sauter les fichiers d'un bout à l'autre de la liste. Les contraintes d'ordre de dossier / fichier n'etaient pas intégrées au mode playlist, ce qui rendait certains fichiers et dossiers impossible à balader dans ce mode.

J'en ai profité pour ajouter un message de confirmation si on tente de sortir de DriveSort alors qu'il reste des traitements en cours (par exemple une sauvegarde ou une restauration de disque). Avant, les tâches restantes étaient automatiquement interrompues, ce qu'on peut encore faire avec le bouton 'Ignorer'.