Syndiquer le contenu
Mis à jour : il y a 32 min 25 sec

Revue de presse de l'April pour la semaine 43 de l'année 2015

26 octobre, 2015 - 15:30

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Numerama] Des enchères inversées pour de l'open-source public

Par Guillaume Champeau, le vendredi 23 octobre 2015. Extrait:

L'administration américaine testera à partir de la semaine prochaine un nouveau type de marché public pour les petits projets open-source, basés sur des enchères inversées.

Lien vers l'article original: http://www.numerama.com/tech/128025-des-encheres-inversees-pour-de-lopen-source-public.html

[InformatiqueNews.fr] L'open source: L'innovation et la sécurité par la transparence

Par La rédaction, le vendredi 23 octobre 2015. Extrait:

Le contraste entre les logiciels propriétaires et open source est aussi vieux que l’industrie de l’informatique elle-même. Dans presque toutes les catégories, des logiciels sont disponibles soit auprès de fournisseurs qui développent et commercialisent eux-mêmes leur code, soit auprès de communautés de développeurs travaillant avec du code ouvert. Au cours de la dernière décennie, l’aversion envers l’utilisation des logiciels libres, particulièrement dans les entreprises, a pris un tournant majeur.

Lien vers l'article original: http://www.informatiquenews.fr/lopen-source-linnovation-et-la-securite-par-la-transparence-ismet-geri-forgerock-40854

[internet ACTU.net] Condamnés par le code: l’immunité logicielle en question

Par Hubert Guillaud, le jeudi 22 octobre 2015. Extrait:

Sur Slate.com, la réalisatrice et juriste, diplômée de l’école de droit de Yale, Rebecca Wexler nous rappelle que les programmes dont on ne peut accéder au code sont partout: dans les ascenseurs, dans les avions, dans les appareils médicaux, etc. L’impossibilité à y accéder à des conséquences directes sur la société et la politique… Ils peuvent menacer notre vie privée en recueillant des informations sur chacun d’entre nous sans notre consentement.

Lien vers l'article original: http://www.internetactu.net/2015/10/22/condamnes-par-le-code-limmunite-logicielle-en-question

[Next INpact] Loi Valter sur l'Open Data: de «gros reculs» au Sénat

Par Xavier Berne, le jeudi 22 octobre 2015. Extrait:

Après avoir été adopté par une Assemblée nationale quasi déserte le 6 octobre dernier, le projet de loi Valter sur la gratuité des informations du secteur public arrive au Sénat. Le texte a été examiné hier en commission, où plusieurs amendements perçus comme de «gros reculs» par l’association Regards Citoyens ont été votés.

Lien vers l'article original: http://www.nextinpact.com/news/97005-loi-valter-sur-l-open-data-gros-reculs-au-senat.htm

[Les Echos] DevOps consacre les bénéfices de l’Open Source

Par Carine Braun-Heneault, le mercredi 21 octobre 2015. Extrait:

Le développement logiciel est devenu en quelques années un secteur éminemment stratégique de l’industrie informatique. Et de l’industrie dans son ensemble, notamment en France, si l’on en croit les récentes annonces relatives aux plans de transformation du tissu industriel vers le numérique.

Lien vers l'article original: http://www.lesechos.fr/idees-debats/cercle/cercle-142003-devops-consacre-les-benefices-de-lopen-source-1167768.php

[Next INpact] Hadopi: la justice ordonne le retour d'Éric Walter!

Par Marc Rees, le lundi 19 octobre 2015. Extrait:

Licencié de la Hadopi depuis le 1er août dernier, Éric Walter avait contesté cette décision. Surprise ! Vendredi, le tribunal administratif de Paris a ordonné sa réintégration. Il va du coup redevenir secrétaire général de l’autorité publique indépendante.

Lien vers l'article original: http://www.nextinpact.com/news/96943-hadopi-justice-ordonne-retour-deric-walter.htm

[L'Usine Digitale] Qu'ont exprimé les 21 330 participants à la consultation sur la loi numérique?

Par Aurélie Barbaux, le lundi 19 octobre 2015. Extrait:

La consultation publique pour le projet de loi pour une République numérique d'Axelle Lemaire a recueilli 147710 votes et 8501 contributions argumentées de la part de 21 330 personnes. Cette participation démontre une plus grande maturité qu’attendue des citoyens sur des sujets souvent avancés comme trop techniques. Une leçon pour Emmanuel Macron - qui prépare sa propre loi numérique - et l’Europe, qui affinent directives et réglements?

Lien vers l'article original: http://www.usine-digitale.fr/editorial/qu-ont-exprime-les-21-330-participants-a-la-consultation-sur-la-loi-numerique.N357473

Et aussi:

Voir aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

Katal, catalogue de fichiers

26 octobre, 2015 - 11:20

Katal est un projet GPLv3/Python3/CLI/Linux-Windows : il permet de créer un catalogue de fichiers à partir de différentes sources, en filtrant les fichiers à récupérer, en les renommant à la volée; on peut alors étiqueter les fichiers obtenus.

Le répertoire de destination contient les fichiers du catalogue, une base de données, un dossier .trash et un dossier pour les logs. J'ai l'habitude de placer dans le répertoire de destination le script katal.py; ainsi, je déplace le catalogue en même temps que l'outil qui me permet de le gérer.

De l'aide est disponible dans le fichier README.md : voyez ici.
Voyez aussi le résultat de $ katal -h .

Sommaire L'histoire

Un copain m'avait demandé de l'aider à classer des dizaines de milliers de photos tirées de milliers de répertoires différents, mélangées avec toutes sortes de fichiers (textes, vidéos); beaucoup de photos identiques portaient des noms différents.

Je voulais obtenir un catalogue des fichiers :

  1. qui avaient l'extension de fichiers image (.jpg, .tiff, …) ;
  2. qui avaient une taille supérieure à 2 Mo pour éliminer les vignettes ;
  3. sans doublon (=aucun fichier ayant le même contenu qu'un autre) ;
  4. avec la possibilité d'étiqueter (=avec des tags) les images ;
  5. avec la possibilité de renommer les fichiers ;
  6. avec des fichiers de logs verbeux pour garder la trace de mes essais et de mes erreurs ;
  7. le tout sur Linux/Mac/Windows puisque je passais d'un ordinateur à l'autre.
Installation $ pip install katal

katal est en effet hébergé sur Pypi.

mais aussi :

$ wget https://raw.githubusercontent.com/suizokukan/katal/master/katal/katal.py

… puisque le projet Katal tient en un seul fichier, katal.py, qui peut être placé dans le répertoire de destination.

Utilisation Créer le répertoire de destination, qui contiendra les fichiers du catalogue : $ katal --new=destdir

… et accepter de télécharger le fichier de configuration par défaut qui sera placé dans le répertoire de destination (dans un sous répertoire nommé .katal)

Placez-vous ensuite à l'intérieur du répertoire de destination. $ cd destdir

Vous pouvez voir ce que pense Katal de ce répertoire en tapant :

$ katal --infos À l'intérieur du répertoire de destination, modifier le fichier de configuration ./katal/katal.ini : Changer la source, par exemple : [source] path : ~/masource/photos/

Katal recherchera de manière récursive dans ce répertoire.

Changer le nom des fichiers qui seront copiés dans le répertoire de destination, par exemple : [target] name of the target files : INTTIMESTAMP_SIZE__DATABASE_INDEX.SOURCE_EXTENSION2

… pour avoir des fichiers du type 1445584562_123__1.jpg (=timestamp du fichier source, taille du fichier source, index dans la base de données du répertoire de destination)

Changer la fonction d'évaluation permettant de faire le tri entre les fichiers de la source, par exemple : … si vous voulez les fichiers python du répertoire source : [source] eval : sieve1 [source.sieve1] name : .*\.py$ … si vous voulez les fichiers python du répertoire source faisant plus d'un mégaoctet : [source] eval : sieve1 [source.sieve1] name : .*\.py$ size : >1000000 … si vous voulez les fichiers python du répertoire source faisant plus d'un mégaoctet OU les .jpg : [source] eval : sieve1 or sieve2 [source.sieve1] name : .*\.py$ size : >1000000 [source.sieve2] name : .*\.jpg$ Tester le fichier de configuration ./katal/katal.ini : $ katal --select

Katal vous montre alors ce qui se passerait si vous acceptiez la copie de la source vers la destination. Par exemple :

+ selected /home/suizokukan/projets/dysodos/dysodos.py (file selected #1) - discarded "/home/suizokukan/projets/dysodos/.git/description" : incompatibility with the sieves - discarded "/home/suizokukan/projets/dysodos/.git/info/exclude" : incompatibility with the sieves [...] o everything ok : no anomaly detected. See details above. o size of the selected file(s) : 3877 bytes o number of selected files (after discarding 36 file(s)) : 1, 2.70% of the source files. o required space : 3877 bytes; available space on disk : ~35.62 Go (35619852288 bytes) (ok) o e.g. … "/home/suizokukan/projets/dysodos/dysodos.py" would be copied as "/home/suizokukan/projets/katal/target2/5474c904__0.py" . Do you want to add the selected files to the target dictionary (".") ? (y/N) Si vous êtes d'accord, répondez oui en tapant 'y' + entrée : … (1/1) copying "/home/suizokukan/projets/dysodos/dysodos.py" to "/home/suizokukan/projets/katal/target2/5474c904__0.py" . = all files have been copied, let's update the database… = = … database updated =

Katal affiche automatiquement le contenu du catalogue (ici, un seul fichier) :

= informations about the "." (path: "/home/suizokukan/projets/katal/target2") target directory = +--------------------+--------------------+------+--------------------+------------------+ | hashid/base64 | name | tags | source name | source date | +--------------------+--------------------+------+--------------------+------------------+ | […]f8SfE3Tzc+UP0s= | […]/5474c904__0.py | | […]odos/dysodos.py | 2014-11-25 19:23 | +--------------------+--------------------+------+--------------------+------------------+ Vous pouvez à tout moment afficher ces informations sur le catalogue à l'aide de l'option -ti : $ katal -ti

(ti : target informations)

======================================================= === Katal v.0.1.3 (launched at 2015-10-25 17:19:06) === ======================================================= = target directory given as parameter : "." (path : "/home/suizokukan/projets/katal/target2") = no config file specified on the command line : let's search a config file in the current directory… * config file name : "/home/suizokukan/projets/katal/target2/.katal/katal.ini" (path : "/home/suizokukan/projets/katal/target2/.katal/katal.ini") … config file found and read (ok) = source directory : "~/projets/dysodos" (path : "/home/suizokukan/projets/dysodos") = informations about the "." (path: "/home/suizokukan/projets/katal/target2") target directory = +--------------------+--------------------+------+--------------------+------------------+ | hashid/base64 | name | tags | source name | source date | +--------------------+--------------------+------+--------------------+------------------+ | […]f8SfE3Tzc+UP0s= | […]/5474c904__0.py | | […]odos/dysodos.py | 2014-11-25 19:23 | +--------------------+--------------------+------+--------------------+------------------+ === exit (stopped at 2015-10-25 17:19; total duration time : 0:00:00.004414) === Vous pouvez enfin étiqueter un ou plusieurs fichiers : Si vous voulez ajouter le tag "mytag" aux fichiers Python : $ katal --addtag=mytag --to=*.py Si vous voulez ajouter le tag "mytag" à un seul fichier : $ katal --addtag=mytag --to=5474c904__0.py Vous pouvez aussi :
  • supprimer toutes les étiquettes d'un ou plusieurs fichiers (--rmnotags) ;
  • supprimer un fichier ou plusieurs fichiers du catalogue (--targetkill) ;
  • supprimer les fichiers qui n'ont pas de tags (--rmnotags) ;
  • supprimer de la base de données les fichiers qui n'existent pas dans le répertoire de destination (--cleandbrm).

Et d'autres choses encore, accessibles dans le fichier README.md ou en consultant le résultat de $ katal -h .

Et la suite ?

J'ai essayé d'écrire du code lisible par tous : pylint à 10, documentation abondante, commentaires et documentation en anglais…
Je serais ravi de vos commentaires et de vos suggestions d'amélioration !

Télécharger ce contenu au format Epub

Lire les commentaires

Du matériel libre qui a besoin de vous !

26 octobre, 2015 - 11:16
DomoTab

Après la campagne de financement du projet DomoTab (merci aux donateurs sur Ulule) nous revenons vers vous pour vous tenir au courant de l'avancement du projet. Pour mémoire, l'objectif du projet DomoTab est de créer une plateforme matérielle suffisamment ouverte permettant de créer une installation domotique « complète ».

Plus vite que les brevets !

En effet, le choix a été pris de migrer progressivement vers du matériel complètement libre (licence CC-by-sa au lieu de CC-by-sa-nc) et sans brevets, même quand nous avons de bonnes idées (si si, ça arrive). Seulement, pour que ce soit viable, il va nous falloir deux choses : des clients (classique), mais aussi que certaines informations soient publiées suffisamment largement pour éviter le dépôt de brevet par un tiers car une fois rendue publique, une technologie ou une innovation n'est plus brevetable.

Cela concerne actuellement deux sous-parties du projet DomoTab, à savoir l'interrupteur multi-fonction et le module de contrôle pour la gestion d'énergie.

N'hésitez donc pas à consulter les articles publiés sur mon site (en particulier les deux ci-dessus), et surtout à en parler sur vos blogs ou autres sites en partageant les articles.

Bon, d'accord, cela nous fera aussi de la pub, mais il faut savoir ce que l'on veut : des brevets, ou du matériel libre :)

À noter que ces deux produits sont encore à l'état de prototype (et donc pas en vente), mais c'est maintenant qu'il faut les protéger !

Promis, nous vous tiendrons au courant de l'avancement, via les news sur notre site, et sur mon profil Google+ (Nathael Pajani)
(Oui, je sais, Google, vie privée, Framasoft, …).

Télécharger ce contenu au format Epub

Lire les commentaires

ddrescue, dd_rescue, myrescue : récupérer ses données après un crash disque

25 octobre, 2015 - 23:26

dd_rescue 1.99 est sorti le 9 septembre 2015.
GNU ddrescue 1.20 est sorti le 14 septembre 2015.

dd?rescue sert à récupérer vos données suite à un crash du support physique (disque dur, CDROM, etc.). Il copie les données bloc par bloc en créant une image disque, ce qui le rend utilisable avec tous les systèmes de fichiers. Mais à la différence d'un outil d'image disque classique (dd, G4U ou le logiciel propriétaire Norton Ghost) la lecture suit un algorithme conçu pour récupérer un maximum de données sans provoquer d'autres dégâts sur un disque déjà abîmé.

Je vais illustrer son utilisation avec l'histoire d'un crash disque réel, encore en cours de résolution pendant que j'écris ces lignes. Je mettrai l'accent sur tout ce qu'il ne faut pas faire, puisqu'à moins d'avoir fréquemment des crashs disques, le pékin moyen n'a que peu d'expérience et donc de bons réflexes. Au passage on mentionnera le plus d'outils utiles.

Sommaire Nouveautés GNU ddrescue 1.20
  • nouvelle façon de compter les erreurs, suffisamment troublante pour qu'une version 1.21 soit sur les rails et donne plus d'informations ;
  • sauvetage de CD ce qui le rapproche des autres outils ;
  • logfile renommé mapfile partout ;
  • vérification (optionnelle) de cohérence des données lues.
dd_rescue 1.99
  • greffon ddr_crypt : accélération matérielle pour CPU ARMv8 (même en 32bits) conduisant à une vitesse multipliée par 10 sur le (dé)chiffrement AES. La gestion de xattr a été étendue et une option est disponible pour gérer les fichiers Salted__ compatibles openSSL. Un bug d'initialisation CTR a été corrigé ;
  • dans le programme principal, révision des logiques de ré-essai en cas d'erreur d'écriture ou de fault injection (le cadriciel de fault injection est utilisé pour des tests) ;
  • encore plus de variantes pour les binaires Android.
L'aventure

La suite est une histoire rédigée « en temps réel »…

Le pitch

Dimanche, au saut du lit, Anne, webmistresse de Chez les enfants, me demande un CD-Rom pour réinstaller Windows Seven sur son portable qui ne démarre plus.
— Pardon ? Je n'ai aucun CD Windows et on ne réinstalle pas pour ça…
— Mais c'est Windows qui dit…

Quelques questions plus tard, on dirait que le responsable de son informatique a très mal fait son boulot : Anne n'a aucun CD pour son ordinateur et la partition de restauration a été effacée. Et pire : les sauvegardes ne sont plus effectuées ! Et puis elle utilisait un compte administrateur. Et puis le disque dur a quelques années de trop. Et puis ce portable c'est l'ordinateur principal, celui qui contient tout, y compris les licences des logiciels. Etc.

Ah oui ! le « responsable » informatique grommelle que c'est sa faute à elle, que faut pas faire mu-muse avec Windows. Etc.

Là, c'est la panne, Windows réclame un CD pour restaurer le démarrage. Je suis à 900 km de chez moi, en plein déménagement, et je vais devoir l'aider avec les moyens du bord : une clé USB de 7 gigas et mon vieux portable.

Les CD de dépannage

Comme il est exclu de récupérer un CD Windows pirate^Wcontrefait, je commence par fouiner dans les outils classiques pour Windows : Ultimate Boot CD (UBCD) et sa variante UBCD4Win. UBCD intègre une centaine d'utilitaires gratuits pour dépanner et diagnostiquer les problèmes. UBCD4Win est dérivé de BartPE et propose d'autres outils spécifiques à Windows.

Las ! Windows c'est de l'histoire ancienne pour moi, et je ne sais trop quoi faire avec ces outils. En fait l'urgence et le stress me déconcentrent.

Quand même, j'ai assez de présence d'esprit pour mettre à jour System Rescue CD, un des indispensables dans la « trousse de secours », qui contient plein d'utilitaires systèmes et matériels sous Linux ou sous DOS.

Puis en lisant plein d'infos pour récupérer Windows je découvre qu'on peut légalement télécharger Windows Seven et que la console de récupération intégrée est nettement mieux foutue qu'autrefois. Bon d'accord. Faisons au plus simple après tout.

Une clé USB bien outillée

Ah zut ! C'est une image DVD. Mon portable ne grave que les CD. Je ris, mais je ris jaune. Il va falloir démarrer avec la clé usb — Windows va-t-il aimer ça ?

C'est assez simple en fait : en gros, il suffit de monter l'image ISO en loop et d'en recopier le contenu sur la clef correctement formatée. L'opération est bien décrite sur le site de Plop. Plop est sérieux : il a développé un gestionnaire de démarrage sophistiqué, un outil pour restaurer les images disques de Partimage, un programme de récupération pour le système de fichiers HFS+ (utilisé par MacOSX), et même, à lui tout seul, une distribution Linux peu gourmande en ressources qu'il maintient depuis 2003. Plop c'est un genre de Patrick Volkerding.

Tant qu'à surfer, je refais un tour vers d'autres outils : nLite (pas libre) pour alléger un CD Windows et le site du regretté Jean-Claude Bellamy pour me documenter sur la structure d'un secteur de boot de partition NTFS. Je farfouille même un peu chez Reactos pour y trouver docs et outils.

Enfin, je reviens à ma clef. J'ai un port USB 1.1. Recopier les fichiers de l'ISO un par un va donc être très long. Copier directement l'ISO, c'est beaucoup plus rapide. Et puis, je vais sûrement avoir besoin d'autres outils, donc autant mettre un max d'ISO sur la clé.
Oui mais.
Vous avez déjà essayé de faire rapidement une clef USB multi-systèmes Linux-Windows ?

Je me souviens de certains outils. Il y a MultiSystem dont on parle souvent ici, qui est bien maintenu et qui est disponible sous Debian. Mais il a plein de dépendances que je n'ai pas sur ma poussive bécane. Et puis ça m'embête, je cherche plus simple. Rien de neuf sur Wikipedia.

Quand, au détour d'un blog…

Easy2Boot : la merveille

Génial. Pile ce que je veux. Easy2boot ne nécessite pas de manipulation particulière pour l’intégration des ISO : il suffit de les copier sur la clé. Rien n’est installé sur le PC servant à générer la clé USB. Il y a des utilitaires pour préparer la clef depuis Linux et Windows et un mode d'emploi pour le faire depuis… autre chose. C'est simple et tout petit. Adopté.

Easy2boot c'est une collection bien foutue de scripts pour Grub4dos.

« Ça » gère l'UEFI et le MBR. Les partitions FAT 32, NTFS et Ext4. Les images de CD, les images de disques, les images VHD et WIM (pour amorcer Windows). Les images discontinues. Les installations Linux live et persistantes. Easy2boot gère les mises à jour d'easy2boot. Et tellement d'autres choses : il y a des menus tout prêts pour accueillir vos utilitaires, vos CD de secours préférés (cités plus haut d'ailleurs), des antivirus… La doc, le forum et le blog sont bien fournis et actifs.

Bref, je vous la fait courte et je copie mon image DVD de Windows dans la clé. On relance le portable, qui commence à démarrer puis un écran Windows dit que bla bla bla… le démarrage… et que le CD d'installation va tout réparer. Bon bon bon.

La réparation auto de Windows (bousillante)

Donc au démarrage du CD on peut choisir de lancer la console de récupération WinRE. On arrive sur ce menu rempli de pièges :

Aaaah ! Ça sent la fin des ennuis, on se frotte les mains et chtok ! On clique sur la réparation auto du démarrage.

Mais mais mais ça dit rien du tout. On ne sait pas ce qui se passe, on n'a pas la main et après quelques instants la touche Annuler n'a aucun effet.

Ça tourne. Et comme ça tourne pendant des heures je vais admirer les poissons hérissons dans l'aquarium d'Anne. Je frôle des pingouins jouet en bois (elle vend des jouets). Celle-là elle va bientôt migrer vers le libre. Elle est prédestinée.

J'en profite pour lui bricoler une bécane avec une tour mise au rebut. Elle passe de Windows Seven à Debian Jessie et Gnome 3. Oh ! Comme c'est ergonomique et simple ! Et comme c'est rapide ! Mais pourquoi l'avait-on jetée cette tour ? Tu dis ? Tu utilises une autre interface graphique ? Ben chacun ses goûts, hein. Ça me change, c'est reposant.

L'intermède découverte passée, chacun reprend son boulot : elle regarde si elle pourra gérer ses ventes de jouets lundi, tandis que je m'inquiète de Windows : ça dure vraiment trop longtemps. Impossible de savoir ce qui se passe. Impossible d'arrêter le processus (refus tout net du système, qui n'est pas planté).

La journée a passé. Autant débrancher.

Je relance sur System Rescue CD (merci easy2boot). Petite analyse du matériel : FSArchiver en mode info (fsarchiver probe simple), puis GNU Parted qui ramouille étrangement. Tilt. C'est un problème de crash disque, pas une erreur système Windows.

Et en effet : le syslog se remplit d'erreurs d'entrées-sorties. Tu parles ! Manipuler un système de fichiers sur un disque crashé, c'est destructeur. La réparation automatique de Windows a augmenté les dégâts.

Pour m'en assurer je pourrai lancer le puissant MHDD un outil bas niveau d'accès direct au disque qui donne beaucoup plus d'infos que SMART ; c'est un programme DOS1. Mais pas sûr que faire tourner le disque dur soit très malin.

À l'heure où j'écris j'en sais évidemment beaucoup plus. J'aurais pu, suivant le tutoriel de Marie sur l'invite de commande WinRE lancer plutôt un checkdisk sous Windows, mais ça aurait fait autant de dégât car chkdsk ne minimise pas les déplacements de la tête de lecture sur le disque.

Si j'avais su ! Mais sans journal système, c'est impossible. Ainsi, à mon sens la console de réparation Windows a deux défauts :

  1. pas de journal système pour voir les erreurs d'entrées-sorties ou ce qui se passe pendant que ça tente de réparer tout seul ;
  2. ses outils changent trop souvent ; d'une version à l'autre il faut tout réapprendre et retrouver la documentation, qui n'est pas accessible depuis le CD. Taper help ne sert à rien.

C'est toujours dimanche, il ne fait pas encore nuit, c'est maintenant que ça commence vraiment.

La recherche d'outils inadaptés  

Évidemment je ne pensais pas que c'était inadapté.
Le problème avec les sauvetages d'urgence c'est qu'on n'en réalise pas souvent. Et ça a beau ne pas être nos données, la pression est là qui rend le cerveau mou et la mémoire vide… Tout de même ! Je ne perds pas complètement la tête : il faut cloner le disque avant tout. Il s'agit de sauver ce qui peut l'être.

Mais impossible de retrouver le nom du bon outil. Alors je pars sur les outils classiques de clonage, plus utiles avant un crash, pour préparer des images disques. Je commence en restant le plus proche possible du matériel, puis comme ça ne marche pas je descends peu à peu au niveau du système de fichiers :

  • G4U (Ghost for Unix), un excellent et puissant outil de clonage séquentiel, comme NortonGhost. Développé par Hubert Feyrer depuis 15 ans. Ultra léger, ultra petit, basé sur NetBSD. Ce n'est pas seulement un ensemble de scripts bash utilisant dd ! Après avoir démarré sur G4U (disquettes, image iso ou PXE), on peut cloner (ou restaurer) de façon variée : vers un fichier, vers une partition, vers un disque et vers un ftp. Comme il travaille au niveau matériel, G4U n'est limité par aucun OS ou système de fichiers. G4U ne monte pas le disque. Il peut cloner et restaurer le MBR et la table des partitions, effacer le contenu d'un disque (wipe disk). La dernière version, encore en bêta, contient une détection d'erreur qui permet de cloner les disques avec des secteurs défectueux.
  • MIDS (Machine Image Delivery System) est une interface en ncurses pour la fonction de restauration de G4U
  • Partimage, l'outil classique de clonage pour des sauvegardes, par l'auteur de SystemRescueCd. Partimage ne monte pas le disque, mais comme il ne prend que les données présentes dans les partitions, il ne lit pas tous les systèmes de fichiers. Tout de même, il ne défragmente pas, c'est cool ! Eh oui, comme les fragments de fichier restent à leur place, les mouvements de la tête de lecture sont minimisés.
  • Partclone, semblable à Partimage, il sauve et restaure les blocs utilisés d'une partition. Il lit plus de systèmes de fichiers.
  • FSArchiver, toujours par l'auteur de SystemRescueCd, est encore plus près du système de fichier. Il en sauve le contenu, ce qui permet de restaurer sur une partition de taille différente.
  • fsarchiver_dialog et qt4-fsarchiver en sont des interfaces graphiques, l'une en ncurses, l'autre en Qt.
  • J'avoue ne pas savoir si ntfsclone est utilisé par FSArchiver, ni pourquoi ce ne serait pas le cas. En tout cas son nom est clair. Par les auteurs de Ntfs3g.

Rien ne va. C'est mal barré. Le disque est vraiment abîmé. Je ne pense plus à rien, je suis fatigué, hébété, la tête vide…


Et tout à coup ça me revient, comme si toute pensée disparue, tout doucement pouvait émerger la solution. Comment ai-je pu l'oublier ? Je le connais bien, j'en ai parlé ici-même, il existe en trois versions, l'une d'elle est très supérieure, et pourtant les trois sont utilisées, par manque d'info, par confusion, par méconnaissance du fonctionnement d'un disque. C'est un super outil, vraiment, et comme le dit Kurt Garloff :

« It does work. I unfortunately did not just create this program for fun… »

Soyons clair : les outils ci-dessus, ne sont pas fait pour du sauvetage. C'était une erreur de les utiliser. D'ailleurs je suis en colère contre moi, je m'adresse des insultes nouvelles, si j'étais dans une BD la page se couvrirait de graffitis. Les dégâts sont encore plus grands maintenant.

Le sauvetage GNU ddrescue

Je m'en veux de ne pas y avoir pensé avant : perte de temps et bousillages. GNU ddrescue a été écrit pour pallier les « défauts » du dd_rescue originel de Kurt Garloff. Son algorithme permet d'optimiser la lecture en infligeant le moins de coups possible au disque. Un peu comme la voix rassurante du camion de pompiers qui dirait : « Tiens bon ! Tiens bon ! » tandis que la sirène de l'ambulance hurlerait : « T'es foutu ! T'es foutu ! »

Aperçu de l'algo : récupère d'abord les zones en bon état pour prévenir les erreurs de lecture en sautant largement les zones mortes ; produit une première copie approximative et une carte du disque ; puis à l'aide de la carte, délimite plus précisément les zones mortes, récupère ce qui est lisible, note les clusters morts et complète la carte ; enfin plusieurs passes de lecture en insistant, en raclant cluster après cluster, et en complétant encore la carte. Ça prend du temps. Au bout du compte on a une nouvelle copie.

À part le dd_rescue de Kurt Garloff, tous les logiciels de sauvetages cités ci-après partagent peu ou prou le même algorithme.

Le bricolage de disque

Je redémarre l'ordi avec SystemRescueCd, ddrescue est livré avec.

Naturellement les ennuis n'arrivent jamais seuls2.

Mon disque externe IDE de 80 gigas ça va pas le faire pour accueillir la restauration. Allez j'ai connu les temps héroïques, je bricole ! Prenons l'un des disques raid de la tour à peine montée, 320 gigas en SATA et hop ! Dans le disque externe ; prenons un connecteur SATA, prenons une alimentation SATA et branch… oups ! Pas de câble d'alimentation SATA !

« Viens voir ici petite tour… Oh ! Comme tu as les câbles longs ! Et si tu branchais une de tes alimentations SATA sur le disque externe ? On ferait un pontage tu vois, ça sauverais le malade… »

Les câbles s'avèrent un peu courts, mais faudra faire avec.

Avant de copier la partition malade vers une autre, il faut s'assurer de la concordance géométrique des deux partitions. À coup de fdisk on vérifie et on paramètre la taille de secteur (habituellement 512 octets), le nombre de secteurs de chaque partition — et, bien entendu, le type de partition.

Quant au sauvetage, rien de difficile, le manuel est bien fait et contient quelques exemples courants.

Dans mon cas :

  • ddrescue -n -f /dev/hda2 /dev/hdb2 mapfile
  • ddrescue -r3 -d -f /dev/hda2 /dev/hdb2 mapfile

Autrement dit :

  • la première commande récupère les parties lisibles en contournant de loin les zones mortes et en dessinant une carte sommaire, on évite de racler le disque et on force ddrescue à recopier vers une partition ;
  • ensuite, on repasse trois fois sur les zones mortes en accédant directement au disque, la carte gagne en précision au fur et à mesure.

Vous vous souvenez que j'avais retrouvé mes esprits ? Je relis le manuel. Je regarde le disque externe relié à deux ordinateurs. Tout ça va tourner plusieurs jours. On peut faire plus simple.

Copie réseau

Finalement, je remets le disque dans la tour, je crée un partage NFS, le monte sur le malade et je copie mon disque vers un fichier :

  • ddrescue -n /dev/hda1 /mnt/fichier_copie mapfile
  • ddrescue -r3 -d /dev/hda1 /mnt/fichier_copie mapfile

  • ddrescue copie la partition hda1 vers un fichier en sautant la phase de raclage et en produisant une carte ;

  • puis ddrescue est relancé pour 3 passes de copie en shuntant le cache du noyau, la carte est utilisée et mise à jour.

Le lendemain matin, à une heure assez tardive tout de même, la première copie est terminée. On regarde un peu la carte, on pousse un grand soupir et on relance ddrescue pour 3 ou 4 jours de moulinage.

Le fichier carte de ddrescue à travers un visualiseur

Au début, vous verrez beaucoup de zones défectueuses (en rouge) :

Après le premier passage, vous zoomerez dans la bêêêêêête et ce sera pire et vous aurez trèèès trèèès peur :


(« La Bête » par la compagnie Annibal et ses éléphants – photo: Vincent Muteau/Annibal)

Bon d'accord :

Enfin, vous verserez des larmes de joies :

(À gauche, le disque entier avec des zones mortes. À droite, j'ai zoomé sur l'un des traits rouges : c'est presque tout bon ! Seuls quelques secteurs n'ont pu être lus.)

Lire la copie

Alors ? Tu viens de passer 4 jours à tourner en rond, tu as enfin une copie de ton disque foutu et tu voudrais la lire ? Reprends d'abord un café ! La lire, c'est prendre un risque énorme :

  • la copie contient encore des erreurs, la carte en atteste, il faudra peut-être relancer ddrescue pour l'améliorer ;
  • d'autre part, on aura sûrement une vérification du système de fichier à lancer sur la copie, ce qui va la transformer — sans parler d'opérations plus destructrices et d'erreurs de manip en tout genre —, et alors ddrescue ne pourra plus l'améliorer.

Donc on va travailler sur un double. On a l'habitude, on est informaticien !
Je fais un double.
Je monte l'image en loop :
mnt -o loop fichier_copie_de_copie /mnt.
Les fichiers ont l'air tous là, c'est cool… Ah non, il y a encore plein d'erreurs… Va falloir faire un checkdisk. Mais… La commande chkdsk n'existe pas sous Linux.

Pourtant on a des utilitaires pour ntfs :

  • ntfsfix, qui est un faux ami : sauf quelques erreurs communes, il ne répare rien, il marque plutôt le système de fichier à vérifier lors du démarrage de Windows. Comme le dit le man : « ntfsfix is NOT a Linux version of chkdsk ».
  • Et des outils pour récupérer le contenu d'un système de fichier corrompu :

Ce ne sont pas des chkdsk : on les utilise généralement après un chkdsk qui nous dit qu'il y a plein de problèmes. Pour ma copie récupérée, il faut le chkdsk de Windows Seven3 !

La solution est très simple : lancer l'installation de Windows Seven en machine virtuelle, le disque cible sera la copie4 ; on invoque la console de récupération et on lance le shell Windows (l'invite de commande, le cmd).

Allez, on retourne au tutoriel de Marie sur l'invite de commande WinRE :

  • ne pas s'affoler si la console ne voit pas de disque !
  • on lance Diskpart, on attend un peu beaucoup et au prompt un coup de Help nous montre que c'est un outil assez complet ;
  • on s'informe sur le disque, la partition, mais pas moyen de la sélectionner (parce que c'est une image de partition) ! C'est un petit bug qui se contourne aisément : Select disk 0 puis Detail Disk montre un seul disque nommé C. Exit Diskpart.
  • yapuka Chkdsk C: /f /r (n'oubliez pas le deux-points !). Et quelques heures plus tard, à minuit, vous expliquez à vos voisins ce que signifiait votre danse du scalp et les chants de loup sur le balcon. Vu la fièvre dans vos yeux, ils n'écoutent pas « vos délires d'alcoolique drogué ».
  • on copie enfin les fichiers rescapés5.

Et c'est tout.

Note pour les trop pressés

  • Prenez votre temps! Lisez les documentations attentivement avant de tenter quoi que ce soit. On récupère plus de choses avec quelques précautions. Par exemple laissez le disque refroidir de temps en temps, sur un système de fichiers Unix pensez à regarder dans lost+found, faites une copie, travaillez lentement, …
  • Méfiez vous des idioties glanées sur les forums — j'ai vu souvent « fais une passe de ddrescue et lance photorec. » Rien de pire que d'échouer par méconnaissance, alors que les forums de Photorec, SystemRescueCD et HDDGuru sont fréquentés par des personnes de bon conseils et des experts. De même que, bien sûr, les listes de discussion des logiciels cités.
Les autres outils

Toujours présents dans les dépôts des distributions, ces outils ne sont ni obsolètes, ni dépassés, comme on peut le lire ça et là. Leur fonctionnement est très semblable.

dd_rescue de Kurt Garloff

« Dépassé ? » L'idée originale. Toujours très activement développé, sous Linux et Android. dd_rescue a pas mal de fonctions avancées. Kalysto a écrit dd_rhelp qui le complète en « corrigeant » son algorithme. Toujours utile dans certains cas, d'après Kurt Garloff, et à condition de savoir ce que vous faites (et de ne pas être trop pressé) :

GNU ddrescue fournit un moyen plus facile pour de nombreux scénarios de récupération de données que la combinaison de dd_rhelp et dd_rescue. D'autre part dd_rescue est toujours intéressant car il a un certain nombre de caractéristiques spéciales, comme l'accès direct aux entrées-sorties, les copies fragmentées, les copies en tranches (slice), la pré-allocation …
Il convient de noter aussi les fonctions de protection des données qui permettent l'effacement sécurisé des fichiers et des périphériques de stockage en les écrasant avec les données d'un générateur de nombres pseudo aléatoire en espace utilisateur.
En outre, des plugin vous permettent d'analyser ou transformer les données : hachage sécurisé, (dé)compression LZO et chiffrement. Parmi les fonctions spéciales de dd_rescue, ils gèrent la direction de copie inversée ou les fichiers fragmentés (avec des trous), et vous pouvez stocker les propriétés supplémentaires (une valeur de hachage ou un sel) dans les attributs étendus du fichier.

myrescue

« Dépassé ? » Il n'est plus développé. N'empêche, myrescue répond aux critiques sur l'algorithme de Kurt Garloff. Comme le programme d'Antonio Diaz Diaz, myrescue récupère d'abord les données lisibles avant de s'attaquer au reste (il n'y a pas 36 façon de faire).

Comment ça marche ?

Le programme essaie de copier le périphérique par blocs vers un fichier et conserve une table (« block bitmap ») notant si un bloc a été copié avec succès, pas encore géré ou a eu des erreurs. Cette table peut être utilisée dans les exécutions successives pour se concentrer sur les blocs pas encore sauvés.
Le programme dispose d'un mode spécial, de saut, pour traiter les erreurs de lecture. Habituellement, les défauts de surface des disques dur couvrent plus qu'un bloc et la lecture continue dans les zones ç défaut peut endommager la surface, les têtes et (par recalibrage permanent) les mécanismes d'entraînement. Si cela se produit, les chances de sauver les données intactes restantes chutent de façon spectaculaire. Ainsi, dans le mode de saut, myrescue essaie de sortir des zones endommagées rapidement en augmentant le pas de manière exponentielle. Les blocs sautés sont marqués comme non gérés dans la block bitmap et peuvent être relus ultérieurement.
Enfin, le programme dispose d'une option pour multiplier les essais de lecture d'un bloc avant de le marquer endommagé.
(explications de l'auteur)

Safecopy, un logiciel équivalent

L'auteur de Safecopy a découvert dd_rescue après avoir fini son travail. Bien qu'il semble qu'on ait encore une fois réinventé la roue, les techniques de récupération ne sont heureusement pas brevetées.

L'algorithme est similaire à celui de GNU ddrescue, cependant l'accent est mis sur des choses différentes, selon le développeur (propos tenus en 2009) :

  1. ddrescue fait l'équivalent du « sauvetage en plusieurs étapes » de SafeCopy mais automatiquement en un seul passage, partitionnant le fichier source semi-intelligemment en fonction des erreurs d'entrée/sortie trouvées ; mais à mon humble avis il donne à l'utilisateur moins de retour et de contrôle sur le processus de copie et les erreurs se produisant.
  2. ddrescue est plus optimisé pour la vitesse globale de copie, en particulier sur les données correctes. Qu'il soit effectivement plus rapide que SafeCopy sur des données réelles dépend du matériel, de la distribution des erreurs et du paramétrage. Vous pouvez généralement trouver des paramètres pour rendre SafeCopy plus rapide que ddrescue, mais ddrescue essaie d'être optimal tout seul sans nécessité de peaufiner les paramètres. En général, faire SafeCopy --stage1 puis --stage2 est à peu près comparable en vitesse. Faire un --stage3 rend SafeCopy considérablement plus lent mais sauve potentiellement plus de données.
  3. ddrescue à ma connaissance n'a pas de capacités entrées/sorties bas niveau en propre, mais gère les périphériques /dev/raw pour contourner la mise en cache au niveau du noyau (le montage du périphérique raw doit être fait manuellement néanmoins. Vous devriez être capable de le faire avec SafeCopy aussi, mais honnêtement, je n'ai pas encore essayé. S'il vous plaît donnez-moi un rapport de bug si il y a des problèmes :)
  4. ddrescue produit des fichiers journaux incompatibles avec fsck, mkfs ou les listes badblock de SafeCopy. Néanmoins ça devrait être contournable avec un simple script de transformation perl ou bash.
Relire les CD endommagés

SafeCopy bénéficie de gros avantages quant il s'agit de CD endommagés, grâce à ses entrées/sorties bas niveau ; il peut être mieux adapté à un utilisateur expérimenté, voulant un contrôle fin, tandis que ddrescue peut être mieux adapté à des utilisateurs ne sachant pas ce qu'ils font mais voulant récupérer un max de données avec un préjudice minimum en matériel et en temps.

En cherchant d'autres solutions, l'auteur de SafeCopy a aussi noté :

  • recoverdm - un outil qui fonctionne à un niveau matériel encore un peu plus bas et pourrait donc être un peu plus efficace ;
  • cdrdao - avec d'autres outils comme bin2iso, probablement la meilleure alternative pour travailler sur des CD.

Sans oublier ddrescue !

Outils pour GNU ddrescue  
  • ddrescuelog : livré avec GNU ddrescue. Pour examiner la carte et la convertir au format d'autres logiciels (par exemple e2fsck).
  • DDRescue-GUI : interface Python / QT4 pour simplifier l'usage. Seulement les options de base. Léger, multi système.
  • ddrescueview : interface en Pascal / Delphi pour visualiser le journal de récupération — en temps réel. Très utile pour comprendre ce qui se passe. Très léger. Doc bien foutue
  • ddrutility : plusieurs utilitaires pour repérer les domaines d'actions de ddrescue et les fichiers liés aux zones défectueuses. Doc bien foutue
  • Partclone : clonage de disque mais peut aussi générer un domaine d'action pour ddrescue (liste des blocs à récupérer). Semblable à Partimage, il est développé par l'équipe derrière Clonezilla.
  • Lzip et Lziprecover pour compresser l'image. L'auteur de ddrescue aime bien promouvoir ce zippeur semblable à 7zip (compression LZMA), qui contient des outils pour récupérer une archive corrompue.
Prévenir les pannes
  • Smartmontools au minimum ;
  • Badblocks, quelque peu dépassé selon l'auteur de Diskscan ;
  • DiskScan analyse l'état du disque ;
  • et… les sauvegardes.
S'entraîner

On peut, si on veut, s'entraîner avec des vieux disques durs rachetés dans un vide grenier, mais ce sera plus rapide avec une simulation de disque en panne. Il y a plusieurs façons d'en simuler. Autant commencer avec un outil tout prêt : SafeCopy en fournit un, et dd_rescue un cadriciel de test. L'article Statistical analysis of damaged data storage media read timings s'intéresse au bagage théorique et aux méthodes de statistiques sur des médias simulés. Utile pour comprendre comment accélérer les outils de récupération de données.

 

Vous avez de quoi bien vous occuper, pendant que j'emmène la famille en promenade.

Merci à Baud, Nils Ratusznik et Benoît Sibaud pour leur aide et leur relecture attentive.

Merci à Anne Chenevat et Chez les enfants pour les photos de jouets et à la compagnie de théâtre de rue Annibal et ses éléphants pour « La Bête ».

  1. sous Linux on a HDDSuperTool au cas (rare) où MHDD ne détecterait pas votre disque, mais cet outil n'est pas à mettre entre toutes les mains ! Notez que c'est un freeware/graticiel non libre, par l'auteur de ddrutility. 

  2. http://www.e-scio.net/cqfd/lem.php3 

  3. au cas où tu l'aurais oublié mon canard, NTFS évolue ; même si tout pourrait bien se passer, il vaut mieux utiliser le chkdsk de la version de Windows ayant traité le système de fichiers. 

  4. L'installation de Windows Seven demande 1 Go de RAM, par commodité j'ajoute un menu de démarrage et un clavier français : $ qemu-system-x86_64 -enable-kvm -boot menu=on -k fr -m 1024 -cdrom /home/anne/Téléchargements/fr_windows_7_home_premium_with_sp1_x64_dvd_u_676521.iso -hda fichier_copie_de_copie 

  5. La plupart des fichiers sur le disque ne sont pas des données essentielles, mais des fichiers système ou des fichiers liés à vos programmes (bibliothèques, journaux, fichiers temporaires, etc.). Ici sur 281,51 gigas de données, seuls 7,90 mégas sont illisibles. Il faudrait jouer de malchance pour ne pas avoir récupéré tous les documents. 

Télécharger ce contenu au format Epub

Lire les commentaires

LibreIdea.org fête son premier anniversaire

25 octobre, 2015 - 18:55

Le projet LibreIdea.org a été lancé en octobre 2014 et se veut être une boite à idées (avec un code libre et une instance de base ayant vocation à diffuser le contenu sous CC By Sa 3.0).

À l'occasion de la première année du projet, le collectif LibreIdea.org en profite pour présenter l'évolution du projet et résumer les actions accomplies grâce à vous.

Nos actions ont pour but d'accompagner l'évolution de la plate-forme, de communiquer et de créer (ou d'améliorer) les outils existants.

Pour nous assister dans la création d'idées, nous développons des COCI (Création d'Outils pour la Création d'Idées). Depuis septembre 2015, un développeur Haskell développe un COCI, qui passera prochainement en phase de test Collaborative keywords mixing.

NdM : au 25/10/2015 le site annonce 223 idées, plus ou moins abouties ou détaillées.

créer, collecter, améliorer et évaluer les idées

Le projet LibreIdea.org :

  • a su montrer que c'était un projet innovant ;
  • est une base de données de problématiques (rq: research questions en anglais) et d'idées (id). Un 3e espace appelé projet (pj) permet de mettre en relation les personnes qui souhaitent se fédérer autour de projets issus des idées ;
  • favorise l'accueil et la mise en réseau de toutes les sciences et domaines ;
  • travaille avec des outils d'intelligence collaborative. Les problématiques apportées par la communauté occupent une place importante ;
  • utilise des logiciels libres ;
  • soutient l'accès aux savoirs. À la différence des politiques actuelles sur les brevets, les idées traitées ici sont améliorées constamment et votre paternité conservée.

Nos prochaines actions :

  • La création d'un logo Libreidea et d'une identité visuelle
  • Promouvoir Libreidea auprès de différentes communautés associatives, scientifiques, etc.
  • Mettre en oeuvre d'autres COCI
  • Accueillir un développeur pour mettre en place un système d'évaluation des idées

Grâce à votre participation et vos idées LibreIdea.org peut devenir un espace de référence, ouvert, comme l'est aujourd'hui wikipédia, mais aussi devenir une forge de créativité avec les citoyens.

Le collectif Libreidea.org

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier Linux - Jeudi 29 octobre 2015 18h15 - Nîmes

24 octobre, 2015 - 22:05

A tous ceux qui sont intéressés par l'installation de Linux, Gard-Linux propose un prochain rendez-vous:

  • Quand: jeudi 29 octobre 2015 de 18h15 à 20h45

  • Où : Salle de la Cité Séguier, 1 Place Eliette Berti, 3000 Nîmes (au rez-de-chaussée à droite sur la place, au croisement de la rue Pierre Curie et de la rue Sainte-Perpétue, adresse disponible sur OpenStreetMap).

Au programme:

  • Atelier GNU/Linux:
    • si vous voulez redonner vie à votre ordinateur
    • si vous voulez d'abord voir à quoi ça ressemble après l'installation
    • si vous voulez un peu plus de détails sur l'installation, voire la désinstallation
    • et si vous voudriez aussi savoir ce qu'on peut faire, avec Linux
  • Alors n'hésitez pas, c'est l'atelier qu'il vous faut !
    • des présentations, des démonstrations
    • des conseils
    • des adresses pour aller plus loin

Quelques exemples de distributions Linux: Ubuntu, Linux Mint, OpenMandriva, Debian. N'hésitez pas à aller consulter leurs pages web ; elles vous donneront un premier aperçu.

Atelier ouvert à tous ! Alors si vous avez des questions ou simplement si vous voulez découvrir ce qu'on peut faire avec le système d'exploitation GNU/Linux, n'hésitez plus, on vous attend Jeudi !

Télécharger ce contenu au format Epub

Lire les commentaires

Publication de Pastèque version 6

23 octobre, 2015 - 19:55

Pastèque est une suite logicielle pour gérer un ou plusieurs points de vente (point of sales, POS). Avec le matériel adéquat (imprimante thermique, lecteur de carte bleue…), elle permet de gérer tout point de vente : restaurant, épicerie, bar, librairie…

Début octobre, la version 6 du logiciel a été publiée. Cette nouvelle version apporte des changements majeurs dans la version Android du logiciel. Beaucoup de choses ont eu lieu autour de la gestion du projet : passage à Github, publication sur le Play Store de Google, etc.

Mais le gros de l’actualité est législatif, la réglementation autour des logiciels de caisse enregistreuse (et de comptabilité) étant débattue au travers du projet de loi de Finances 2016.

Sommaire Fonctionnellement, quoi de neuf ? Pasteque-Desktop, the walking dead

Pasteque-Desktop est un logiciel de front office écrit en Java. Il est le descendant d’OpenBravo POS sur lequel se basait originellement Pastèque, il partage une furieuse ressemblance visuelle avec son aîné. Et c’est tout. L’administration a été ôtée, il va chercher ses données sur Internet en mode synchrone (avec support des pertes de connexion et tout)

On a accéléré à fond le démarrage : autour de 8 secondes pour un set de données normal, contre une quarantaine précédemment.
On a corrigé quelques soucis de droits d’exécution par défaut dans le fichier compressé.

Pastèque-Server, de petites améliorations

Pastèque-Server est un logiciel de back office écrit en PHP. Il mélange l’interface d’administration et l’API sur laquelle repose le projet.

  • Il est possible à présent de définir des fournisseurs par produits, ce qui permet de faire des statistiques de ventes par origine. C’est utile notamment dans le dépôt-vente.
  • Les comptes clients connaissent un peu de nouveau, avec notamment l’application de grilles tarifaires personnelles.
  • Quelques fonctions ont été ajoutées dans l’API : modes de paiement configurables, un embryon de fidélisation etc.
Pastèque-Android, le cœur des évolutions

Pastèque-Android est un logiciel de front office écrit en Java pour Android. Il a été l’objet de toutes les attentions. Pour être tout à fait clair, c’est une question de moyens : on a été payés pour faire tout ça. C’est beau les modèles économiques du logiciel libre quand ils arrivent à générer tant d’avancées sur du code.

Alors, qu’est-ce qu’on a de nouveau ?

L’interface a été entièrement repensée. On passe d’un logiciel old school à quelque chose de plus moderne. Plus moderne et plus ergonomique. On passe de 3 mouvements pour réaliser l’encaissement à 2.

On a un progrès fonctionnel énorme. Bon, parfois ça rattrape uniquement le retard sur Pastèque-Desktop (passer des réductions sur des produits par exemple), mais pas mal de choses sont des nouveautés que ce mort-vivant de Pastèque-Desktop n’exploite pas comme les moyens de paiement configurables, la fidélisation, etc.

Et l’avenir technique ?

On a eu une petite réunion technique à la Coroutine, à Lille, début septembre pour savoir où on allait. On y était à 7 à discuter de problèmes terre à terre tout autant qu’à rêver éveillé.

Pastèque-Desktop, on débranche ?

Il n’y a plus de demandes commerciales sur Pastèque-Desktop ou du moins très peu. Et le très peu tient sur les derniers avantages du logiciel, comme le langage de script embarqué.

Cependant on l’aime bien, sans lui on contraint à utiliser des tablettes à durée de vie limitée ou à installer Android sur du x86 ce qui pue de la gueule.

On va chercher à lui trouver un remplaçant. En Qt ? En HTML5 ? On ne sait pas encore.

En attendant, la décision est qu’on fait du petit entretien jusqu’au jour où des changements radicaux dans l’API amèneront sa mort.

Pastèque-Server, faut casser

L’API de Pastèque est le cœur du projet. Si pour gagner du temps on a mélangé API et Backoffice, faut arrêter.
On s’oriente à terme vers deux logiciels : Pastèque-Admin (BackOffice) et Pastèque-API (API)

On a pour principe de ne pas repartir de 0. Les nouveaux logiciels s’intégreront avec Pastèque-Server pour ne pas avoir de recul fonctionnel.

Les évolutions continuent à être réalisées sur Pastèque-Server en attendant les nouveaux bébés.

Pastèque-Android, rien à dire

On continue d’avoir des demandes sur Pastèque-Android. On est dans une phase de fiabilisation, tout roule.
On a quand même un souci : l’intégration du matériel de caisse (balances, afficheurs clients, imprimante thermiques classiques), etc. Ça nous amène à …

Pastèque-Gear, le nouveau projet

Si on devait sortir un Pastèque-HTML5 ou si on veut que Pastèque-Android puisse accéder à du matos USB (ou pire, RS232), il nous faut une solution.

La solution c’est Pastèque-Gear qui sera un boîtier (Raspberry Pi ?) auquel sera branché le matériel. Pastèque-Gear gère les pilotes & Cie et se présente aux autres logiciels sous forme d’une API à partir de laquelle on peut réaliser affichages, pesages, scannages et autres impressages.

On ne s’est pas vraiment arrêtés sur la technologie utilisée. Mais on ne devrait pas couper au développement en C pour les pilotes. Des contributions noyau pour Pastèque, ça aurait de la gueule.

Et en dehors de ça ?

Pastèque est essentiellement porté par Scil qui pour toute sympathique et auto-gérée qu’elle soit n’en reste pas moins une société qui vise à payer ceux qui travaillent pour elle.

Des intégrateurs

Scil est de plus en plus pris par la programmation de nouvelles fonctionnalités. On gère de moins en moins facilement le support utilisateur et l’installation de caisses.
Alors on a commencé à avoir des intégrateurs, le premier d’entre eux est Délice Service à Toulouse.

On veut généraliser ce modèle : Scil ne doit à terme faire que du code.

Du prix libre

Quand on se prend une question dont la réponse est triviale, on propose toujours un prix libre. Nous sommes extrêmement étonnés du retour positif de cette expérience. Le seul organisme qui n’ait pas payé quelque chose s’en est presque excusé ; la moyenne versée est supérieure à notre ancien tarif.
Il arrive qu’on reprenne foi en l’humanité :)

Du fundraising ?

On a des demandes régulières. Deux particulièrement : réaliser l’intégration des TPE Ingenico (majoritaires en France) et de balances connectées.

On va essayer, pour voir, un modèle économique par fundraisings successifs. LinuxFr sera évidement tenu informé par journal des lancements de collectes de fonds.

Last but not least, projet de loi finances 2016 en France

Fin 2013, le législateur donnait un grand tour de vis sur les éditeurs de logiciels de caisse enregistreuse et des logiciels de comptabilité. On a été un peu lents au réveil, c’est uniquement début 2015 qu’on s’est penché sérieusement sur le sujet.

Rien de bien dramatique alors : notre logiciel devait répondre à deux trois obligations sous peine de gros soucis.

Mais on a eu vent d’une volonté d’aller plus loin et de rendre les éditeurs non pas seulement responsables de ce qu’ils publient, mais de ce qu’on trouve chez leurs utilisateurs imposant notamment une condition d’inaltérabilité du logiciel.

Scil est en contact avec son député de circonscription, Bernard Roman, pour veiller à ce que ça ne se transforme pas en obligation de code source fermé. On demande simplement que la clause de co-responsabilité saute si l’utilisateur a effectué des modifications au logiciel sans en référer à l’éditeur.

Un travail est en cours sur la liste de l’April.

Autres éditeurs de logiciels de caisse enregistreuse ou de comptabilité, contactez-moi. On sera plus audibles ensemble.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie d’Ubuntu 15.10

23 octobre, 2015 - 19:51

Sortie le 22 octobre 2015, Ubuntu 15.10 est la vingt-troisième version d’Ubuntu. Il s'agit d'une version classique, qui sera maintenue pendant 9 mois. Son nom de code est Wily Werewolf, soit le « loup garou rusé » dans la langue de Molière.

Pour rappel, Ubuntu est une distribution GNU/Linux basée sur Debian. Elle a hérité de sa distribution mère l'objectif d'universalité : elle vise à être utile sur les ordinateurs de bureau, les ordinateurs portables, mais aussi les serveurs, le cloud, les téléphones, les tablettes et même les objets connectés en général. Elle se veut simple d’accès pour les utilisateurs n’ayant pas de connaissances poussées en informatique, mais également pour tout développeurs.

En plus de la distribution mère, Ubuntu, il existe plusieurs variantes officielles, fournies avec des choix logiciels différents, afin de couvrir un besoin (Ubuntu Server, Edubuntu…) ou de fournir un environnement de bureau particulier (Kubuntu, Xubuntu…). Cette dépêche présente les principales nouveautés.

Sommaire Généralité
  • Noyau 4.2 ;
  • Mesa 11 ;
  • systemd 225
  • La majeure partie des composants de GNOME passe en 3.16 ;
  • GCC 5.2.1
  • Qt 5.4.2 ;
  • LibreOffice 5.0

Gestionnaires de bureau Unity 7

Comme de coutume depuis maintenant plusieurs versions, l'environnement de bureau par défaut évolue assez peu. En dehors de quelques tâches de maintenance et de l'habituelle fournée de correctifs divers, on pourra noter principalement la refonte des barres de défilements.

Avec la version 11.04 il y a quatre ans et demi, alors même que Unity devenait le bureau par défaut, apparaissaient les fameuses « barres de défilements en surimpression ».

Développée par Canonical, cette fonctionnalité permet d'économiser de l'espace dans les applications en ne faisant apparaître les barres de défilement qu'en surimpression lorsque le pointeur de la souris s'approche.

Depuis sa version 3.16, GTK+ a intégré une solution similaire mais distincte du point de vue de l'implémentation. Afin d'améliorer la compatibilité avec GNOME et de minimiser les coûts de maintenance, il a été décidé d'utiliser les barres de GTK+ et de supprimer les anciennes.

Notez cependant que les anciennes barres de défilements restent actives pour les applications GTK+2.

Kubuntu - KDE SC

Ici non plus, pas de grande révolution : Kubuntu se stabilise suite au passage au bureau Plasma 5 par défaut dans la version précédente. Celui-ci a d'ailleurs gagné en fluidité dans cette nouvelle mouture.

De nouvelles applications ont été portées vers KDE Frameworks 5 et Qt 5. On pourra citer le navigateur de fichiers Dolphin, le gestionnaire d'informations personnelles Kontact, le gestionnaire d'archives Ark, des jeux comme Picmi et d'autres encore.

Au delà de ça, de très nombreux bugs ont été corrigés.

D'un point de vue plus organisationnel, Jonathan Ridell a annoncé sa démission du poste de release manager de Kubuntu. Pour rappel, un conflit l'avait opposé au conseil de la communauté Ubuntu sur divers sujets liés à la gestion d'Ubuntu par Canonical. Il est, à vrai dire, difficile de se faire une idée claire et objective de la situation depuis l'extérieur, car de nombreux échanges entre les différents protagonistes ont eu lieu en privé. Un résumé de l'affaire ainsi qu'un débat enflammé peut être consulté dans ce journal.

On notera cependant que cette démission semble aujourd'hui rassurer quelque peu en ce qui concerne l'avenir de Kubuntu, dont la communauté semble déterminée à poursuivre le développement.

Xubuntu - Xfce

Cette nouvelle version voit l'inclusion de LibreOffice Calc et Writer par défaut en lieu et place de Gnumeric et Abiword. Un thème particulier a été appliqué à LibreOffice afin que ses applications s'intègrent harmonieusement avec le reste du bureau.

L'application « Xfce Panel Switch » fait également son apparition. Elle permet de gérer facilement différentes dispositions du bureau, en passant de l'une à l'autre d'un simple clic ainsi qu'en permettant l'importation et l'exportation d'une configuration spécifique.

Cinq dispositions sont intégrées par défaut. L'une fait ressembler le bureau à GNOME 2, l'autre à Windows. Une correspond évidemment à la disposition par défaut actuelle de Xfce, tandis que deux autres reprennent l'ergonomie de versions précédentes.

Ubuntu GNOME

À l’occasion de cette version, Ubuntu GNOME adopte un nouveau logo :

Au delà de la mise à jour de la plupart des composants vers GNOME 3.16, on notera qu'il est désormais possible d'installer une session expérimentale se basant sur Wayland. Pour ce faire, il suffit d'installer le paquet gnome-session-wayland puis de sélectionner la session en question depuis l'écran de connexion. Attention, seuls les pilotes graphiques libres sont cependant gérés, pour le moment.

Ubuntu Next (téléphones, tablettes, mais pas que)

Canonical investit massivement dans Ubuntu Touch, il s'agit d'une distribution dérivée à part entière, qui vit sa vie en parallèle de l'Ubuntu que nous connaissons tous.

Contrairement à sa distribution mère, Ubuntu Touch est une quasi rolling-release : toutes les 6 semaines, une mise à jour majeure est proposée sur tous les terminaux. Chaque version est nommée en interne « OTA », pour over the air.

Au moment de la sortie d'Ubuntu 15.10, nous en étions à l'OTA 7, soit la septième itération depuis la sortie des premiers téléphones en février dernier.

Évolutions des six derniers mois

Quatre OTA se sont succédées depuis Ubuntu 15.04. Parmi les nouveautés, on pourra noter :

  • Migration vers un système basé sur Ubuntu 15.04, associé à un PPA dédié. Pas de migration vers Ubuntu 15.10 prévue, la prochaine étape sera Ubuntu 16.04, probablement avant même sa sortie officielle.
  • Gestion des conversations de groupe avec les MMS
  • Possibilité d'importer les contacts de la carte SIM
  • Gestion de la rotation généralisé à toutes les applications par défaut
  • Amélioration de l'autonomie (surtout pour le Meizu MX4)
  • Les applications doivent maintenant demander l'autorisation pour pouvoir utiliser la caméra et pour enregistrer du son
  • Les applications web peuvent maintenant jouer du son
  • Gestion du hotspot WiFi
  • Possibilité de rechercher dans une page Web ainsi que dans l'historique du navigateur
  • Gestion de l'authentification basique HTTP dans le navigateur
  • Le navigateur est maintenant confiné par AppArmor, améliorant ainsi la sécurité
  • Désactivation par défaut de la remontée automatique des rapports de crashs, qui provoque parfois un gel de l'interface pendant de longues secondes avant que celle-ci ne soit redémarrée. Les utilisateurs avancés sont invités à réactiver cette option dans les paramètres.
  • Nouveaux sons
  • Nouvelles icônes
  • Nouvelle animation de démarrage
  • De très nombreuses corrections de bugs
Ce qui est dans les tuyaux…

En ce qui concerne la convergence, à savoir l'adaptation automatique de l'interface et de l'ergonomie en fonction du format utilisé (téléphone, tablette, clavier/souris…) les choses prennent forme. Un support partiel est d'ores et déjà implémenté. Vous pouvez dès maintenant expérimenter ce qui se passe lorsque vous appairez une souris bluetooth à votre Ubuntu Phone par exemple. Mais le premier support officiel et stabilisé devrait apparaître avec l'OTA 8 ou 9, soit entre mi-novembre et début janvier.

Dans cette optique, de nombreuses applications par défaut ont été et sont en cours de re-création afin de les rendre convergentes. À titre d'exemple, vous pouvez voir cette vidéo qui montre une préversion de la future nouvelle application Musique.

Au delà de la convergence, les prochaines OTA devraient voir l'intégration du support des VPN, une optimisation du temps de chargement des applications, la mise à jour de la pile Bluetooth et bien d'autres choses encore.

À moyen terme, nous attendons donc la migration du système vers une base Ubuntu 16.04. Cette migration majeure devrait théoriquement se faire en même temps que celle vers Ubuntu Core/Snappy ainsi que systemd.

Et la suite ? En route pour Ubuntu 16.04 LTS

Sur son blog, Mark Shuttleworth (le fondateur d'Ubuntu et de Canonical) a dévoilé le nom de code de cette prochaine version : Xenial Xerus. Cette version « Xerus hospitalier », qui sortira en avril 2016, sera particulière : elle sera en effet supportée à long terme (LTS), c'est à dire cinq ans au lieu des neuf mois habituels.

S'agissant donc de la version d'Ubuntu recommandée en entreprise et sur les systèmes critiques, il y a fort à parier qu'il n'y aura pas de révolution durant ce cycle de développement. La priorité va être mise sur la fiabilité et le peaufinage de toutes les nouveautés apparues ces deux dernières années, depuis Ubuntu 14.04 LTS.

Télécharger ce contenu au format Epub

Lire les commentaires

Haproxy 1.6

23 octobre, 2015 - 11:17

Haproxy est un serveur proxy et un répartiteur de charge pour les contraintes de haute-disponibilité. Écrit en C, il a la réputation d'être efficace, simple et rapide. Après 16 mois de développement la nouvelle branche 1.6 est la nouvelle stable, par conséquent une nouvelle branche 1.7 a été crée pour tout nouveau développement. De nombreux ajouts ont vu le jour depuis la version 1.5 et d'autres contributeurs ont rejoint le projet. Actuellement, Haproxy est utilisé par de nombreux sites et services web, tels que Github, Twitter, StackOverflow, Reddit, ainsi que Amazon Web Service.

Nouveautés
  • Intégration de Lua.
  • Capture slots.
  • Nouvelles régles HTTP.
  • Nouveaux converters.
  • Détection d'appareils mobiles.
  • Déclarations de variables.
  • Traitement du corps d'une requête HTTP.
  • Partage de connection HTTP.
  • Lancement de scripts "health check".
Intégration de Lua

C'est clairement la plus importante nouveauté de cette release, elle apporte la possibilité d'étendre les possibilités de base d'Haproxy sans avoir à écrire des modules en C. Les niveaux où Lua peut intervenir :

  • Action.
  • Service.
  • Sample / Fetch et converters.

Cela dit, cela requiert d'avoir installé Lua > 5.3.

Exemple utilisant le module lua MD5

haproxy.cfg:

global ... lua-load content.lua ... frontend http-in ... mode http http-request use-service lua.content ...

content.lua :

core.register_service("content", "http", function(applet) local md5 = require("md5") local content = '{"myjson":1}' local contentchksum = md5.sumhexa(content) applet:set_status(200) applet:add_header("Content-MD5", contentchksum) applet:add_header("Content-Type", "application/json") applet:start_response() applet:send(content) end) Capture slots

C'est la possibilité de stocker une donnée en lui attribuant un identifiant comme suit

frontend myfrontend ... declare capture request len 128 http-request capture req.hdr(User-Agent) id 0 ... backend mybackend ... http-response set-header X-User-Agent %[capture.req.hdr(0)] Nouveaux converters

Trop nombreux à énumérer, une liste complète est présentée ici.

Détection d'appareil mobiles

Haproxy supporte désormais la détection d'appareils mobiles via deux bibliothèques tierces, 51 degrees ou DeviceAtlas via l'User-Agent, ou tous les entêtes HTTP via un converter ou un sample / fetch.

Exemple de configuration

global #### 51 degrees 51degrees-data-file /etc/51Degrees-Premium.dat 51degrees-property-name-list IsMobile DeviceType 51degrees-property-separator , 51degrees-cache-size 4096 #### DeviceAtlas deviceatlas-json-file /etc/deviceatlas.json deviceatlas-property-separator , frontend http-in bind *:8881 default mybackend #### 51 degrees #### with sample / fetch http-request set-header X-51D-IsMobileDeviceType %[51d.all(IsMobile,DeviceType)] #### with converter http-request set-header X-51D-IsMobileDeviceType %[req.fhdr(User-Agent),51d.single(IsMobile,DeviceType)] #### DeviceAtlas #### with sample / fetch http-request set-header X-DeviceAtlas-Data %[da-csv-fetch(primaryHardwareType,osName,osVersion,browserName,browserVersion)] #### with converter http-request set-header X-DeviceAtlas-Data %[req.fhdr(User-Agent),da-csv-conv(primaryHardwareType,osName,osVersion,browserName,browserVersion)] Déclaration de variables

Il existe maintenant la possibilite de déclarer (et d'utiliser) une variable comme suit :

... http-request set-var(txn.whereitcomesfrom) req.hdr(Referer) ... http-response set-header X-WhereitComesFrom %[var(txn.whereitcomesfrom)] Traitement du corps d'une requête HTTP

Via la nouvelle option http-buffer-request (niveau frontend ou backend), il est maintenant possible d'attendre que la requête soit complète avant tout traitement ce qui permet par exemple de traiter en fonction du corps de la requête.

Partage de connexion HTTP

Via le nouveau mot-clé http-reuse, il est possible pour plusieurs clients de partager la même connection pour un serveur. Plusieurs politiques sont possibles : never, safe, aggressive, always.

Lancement de scripts « health check »

Via le mot clé external-check, on peut vérifier l'état avec un script externe.

Exemple

global external-check backend mybackend external-check command <my command>Télécharger ce contenu au format Epub

Lire les commentaires