まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

informatique

Tous sujets en rapport avec l'informatique en général

Fil des billets - Fil des commentaires

dimanche, 4 juillet 2010

Automatiser des tâches avec Gimp

Je vous livre ici la méthode qui me permettra de gagner du temps lors de longues séries de scan !
Sauf que j'ai dû investir beaucoup de temps pour chercher, trouver, avoir cru comprendre, re…rechercher, et finir par comprendre… J'y aurai passé la journée !!
Mais le retour sur cet investissement devrait être plus que positif rapidement ^^

Pour la petite histoire, jusqu'à maintenant, lorsque je scannais des pages, je faisais une pré-numérisation, suivie d'un cadrage.
Ensuite, le scan à 300dpi… long, avec le Lexmark.
Une fois l'image débarquée dans Gimp, je re-cadrais l'image au pixel prés, puis j'appliquais un flou gaussien (Horizontal 1, Vertical 1, RLE), afin d'atténuer la trame d'imprimerie.
Et enfin, Enregistrement de l'image en JPEG à 85% de qualité, en lui donnant le nom adéquat.
J'arrivais à gagner un peu de temps en faisant la pré-num d'une autre page durant les opérations avec Gimp pour la précédente… mais que de temps perdu !!

Maintenant, ça se déroulera de cette manière :

  1. Scan directement de la page à la taille maximale,[1] en demandant à Xsane d'enregistrer les images avec un schéma de nom de fichier prédéfini, en incrémentant de 1 le N° à chaque nouveau scan. (Qualité du JPEG renseignée dans le paramètres par défaut à 100%)
  2. Une fois toutes les pages scannées, exécution d'une commande Gimp qui va se charger d'appliquer le flou gaussien à l'ensemble des fichiers, en les enregistrant en JPEG 85%.

Et… c'est tout :) Moins de cliques de souris et plus rapide avec le scanner hp !

Bref, voici donc comment faire :

  • On va demander à Gimp d'appliquer un flou gaussien (Horizontal 1, Vertical 1, RLE) sur tous les fichiers JPEG d'un dossier, grâce à un Script-fu.

Créer un fichier texte contenant ceci :

(define (flou-pour-joypad pattern
                          Horizontal
                          Vertical
                          RLE) ;définition de la fonction avec les variables demandées dans la commande

	(let* ((filelist (cadr (file-glob pattern 1))))
		(while (not (null? filelist))

	(let* ((filename (car filelist))
		(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename))) ; chargement de l'image
		(drawable (car (gimp-image-get-active-layer image)))) ;on récupère le calque actif
		(plug-in-gauss RUN-NONINTERACTIVE image drawable Horizontal Vertical RLE) ;Flou gaussien     

		(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename) ;on sauve
		(gimp-image-delete image))
		(set! filelist (cdr filelist)))))

L'enregistrer dans le dossier «scripts» de Gimp (le nom du fichier importe peu, c'est flou-pour-joypad qui servira…)
Chez moi c'est : /home/makoto/.gimp-2.6/scripts/flou-joypad.scm

  • Puis on va appeler ce script par une commande depuis un terminal.

Se placer dans un dossier de test, avec quelques images JPEG, et exécuter :

gimp -i -b '(flou-pour-joypad "*.jpg" 15 15 1)' -b '(gimp-quit 0)'

Il doit être renvoyé ceci lorsque l'opération est achevée.

batch command executed successfully

Aller voir les images, elles doivent être bien floue !

gimp-save.png Les fichier auront été sauvés en JPEG 85% à condition que ce soit la valeur par défaut de votre Gimp!!!!






Pour encore se faciliter la vie, on pourra cliquer sur ce petit script pour lancer cette opération de «GIMP Batch Mode» où «traitement par lot» sans taper de commande.
Créer un fichier gimp-joypad, avec ça dedans :

#!/bin/bash
gimp -i -b '(flou-pour-joypad "*.jpg" 1 1 1)' -b '(gimp-quit 0)'

Ne pas oublier de rendre le fichier exécutable !
Changer les valeurs numériques, pour personnaliser l'effet, respectivement : Valeur Horizontal, Valeur Vertical, 1=RLE 0=IIR)



J'aurais donc trouvé un modèle qui Marche ! depuis ce lien http://www.gimp.org/tutorials/Basic_Batch/, malgré de nombreux essais depuis d'autres sites…
Avec cela j'ai fini par comprendre, alors que J'ai passé des heures à me demander pourquoi la commande me renvoyait toujours :

batch command experienced an execution error

Qu'elle avait besoin qu'on lui passe les valeurs numériques, et que les mettre dans le scrip-fu ne fonctionnait pas… enfin, quelque chose comme ça ^^; c'est qu'en 8 heures de bidouilles il s'en passe des trucs !

Note

[1] plus besoin de recadrer, les magazines suivant sont un peu plus grand que du A4

dimanche, 27 juin 2010

Du bon usage de la sauvegarde de donnée

Ces dernières années, cela a bien fait 3 ou 4 fois où l'on m'a demandé, plein d'espoirs :

Aiaieee j'arrive plus à lire mes données !!, peut-être que mon disque dur est naze ?… peux-tu me récupérer mes données ?
Bien prend en un nouveau et restaure ta sauvegarde ^^
Mais… c'était ma sauvegarde !!!!
Pardon heu… ta «copie de sauvegarde» alors ?
Nan mais m'embête pas avec «tes trucs là», tout était la dessus !! mes affaires, mes photos, mes doc, ma Vie, tout !!

Hum «lol» j'ai envie de dire, encore un qui stocke ses données personnelles inconsciemment, qui est entré dans le numérique sans se poser de questions, sans avoir cherché ni avoir reçu d'éducation sur ces sujets…

Alors oui, il existe des outils puissants tel que Testsdisk qui recherchera les tables de partitions de disque perdues, et Photorec qui pourra reprendre les fichiers effacés (à vous de trier le bordel après, car la méthode est brutale et renomme tous les fichiers avec des numéros), mais ils ne pourront rien face à une panne matérielle sérieuse du disque !

Pour éviter de nouveaux drames, je m'en vais vous donner ma méthode très simple de sauvegarde de donnée.

Pour cela il vous faut :

  1. Un disque dur externe (USB ou eSata) de capacité supérieure ou égale à celle du disque dur de votre ordinateur.
  2. Un logiciel de synchronisation de donnée (Grsync sur GNU/Linux, les ouinedoziens et les mac-user se démerdent comme ils ont l'habitude, en utilisant des logiciels privateurs de libertés)
  3. Un pense bête pour penser à effectuer la sauvegarde à la fréquence de votre choix (idéalement, après chaque gros travaux effectués)


dsc06923.jpg

But de la manœuvre :

  • Synchroniser (dupliquer) l'intégralité des données contenues dans son /home sur le disque externe, sans avoir besoin de réfléchir (identifier quels sont les fichiers modifiés à copier…)

Sinon c'est «trop chiant» et on la fait jamais cette sauvegarde… en plus on oublie forcément des fichiers un jour ou l'autre.
Les ouinedoziens et les mac-user devront identifier LE dossier où TOUTES leurs données sont stockées (Mes Documents…)

En Pratique :

La première sauvegarde

  • Elle va être relativement longue, suivant le volume et le type de données à copier ainsi que de la nature de la liaison entre le disque externe et l'ordinateur (eSata rapide, USB lent)
  • Elle peut-être effectuée à la main par un simple copier/coller du dossier de stockage de l'ordinateur, vers le disque externe.

Les sauvegardes suivantes :

  • Elles se feront avec le logiciel de synchronisation, où l'on indiquera la source (dossier du disque dur interne de l'ordinateur) et la destination (dossier du disque dur externe)
  • Les Options de base : «Effacer la destination» précise qu'il faut effacer les fichiers dans la destination qui ne sont plus présent dans la source, c'est à dire qu'on fait une copie «différentielle», assurant «une copie carbone».
  • Les Options avancées : il est possible d'exclure du processus certains dossiers qu'on ne souhaite pas sauvegarder (--filter "- le dossier")
  • Reste à exécuter (simuler par avance, si un doute subsiste) et le logiciel va alors rechercher les différences entre les fichiers de la source (modifiés, renommés, déplacés, nouveaux, supprimés…) et ceux de la destination, pour mettre à jour la copie de sauvegarde (la destination).
  • Cette opération durera d'autant moins longtemps que la synchronisation est faite souvent.

grsync01.png grsync02.png

Bien ! nous voila sauf ! :)
Mais, y'a un truc qu'il ne faut pas faire, que pourtant j'ai constaté,
À moins de décider qu'on n'en a plus besoin et qu'on les jette définitivement, il ne faut pas supprimer de données de l'ordinateur sous prétexte de faire de la place, en se disant que ces mêmes données sont sur le disque externe… NON !
Parce que là on aurait rien compris au film, en venant simplement de casser la notion de COPIE de sauvegarde, puisque ces données n'existeront alors plus qu'en un seul exemplaire… si le disque externe pète, retour case départ !

Principes de sécurités :

  • Le disque externe devrait être à portée de la main, ceci afin d'encourager à faire la sauvegarde.
  • Le disque externe ne doit servir à RIEN d'AUTRE !
  • Le disque externe ne doit être mis sous tension ou connecté en USB (pour les HDD autonomes) qu'au moment de faire la sauvegarde et éteint tout de suite après.
  • Le disque externe ne doit JAMAIS être déplacé d'un millimètre alors qu'il est sous tension ou connecté en USB (pour les HDD autonomes) et donc durant le processus de copie.
  • Le disque externe ne sort pas du domicile !
  • Le disque externe pourra être déplacé chez la famille ou les amis en cas de longue absence du domicile.
  • Idéalement on aura deux disques externes de sauvegarde qui serviront à la copie alternativement. Ainsi on aura deux sauvegardes différentes, l'une plus ancienne que l'autre, dite de «à ben finalement j'ai changé d'avis, j'aurais bien conservé ces fichiers que j'étais pourtant sûr de jeter définitivement».


Pour aller plus loin :

Sauvegarder tout de cette manière, c'est bourrin, mais efficace pour parer au plus pressé.
L'étape suivante serait d'archiver certaines données sensible (photos, vidéos…) en les copiant sur supports optiques (CD-DVD-BluRay… attention à leur durée de vie, penser à les recopier tous les 5-10 ans).
Mais (si vous avez bien suivit le raisonnement depuis le début) ce n'est pas une raison pour les effacer des disques dur (celui de l'ordi et l'externe)!

Plus d'informations sur le wiki > http://fr.wikipedia.org/wiki/Sauvegarde

lundi, 31 mai 2010

C'est quoi un hacker ?

J'aime beaucoup :D

jeudi, 20 mai 2010

Authoring DVD

Bon ben je crois en avoir fait le tour de ces logiciels d'Authoring DVD :

  • ManDVD : dispo dans les dépôts sur Ubuntu 10.04 (j'ai activé universe, multiverse, mais je sais pas si c'était utile pour lui).

Il date un peu, du coup c'est pas sexy et c'est limité en terme de possibilités (pas trouvé de moyen pour faire des sous-menu) mais il est fiable et stable, de ce que j'en ai testé, tout fonctionne bien.

  • 2ManDVD : se compile facilement et rapidement sur Ubuntu 10.04 via le tuto.

Très prometteur en terme de fonctionnalités, ce soft n'est pas sec… (actuellement, version 1.3.4)
En plus d'être lourd, il foire la génération du DVD systématiquement.

  • Bonobo DVD : dispo dans les dépôts sur 10.04.

Pas testé plus que ça, vu que dés que j'ai voulu mettre une vidéo provenant de ma cam, il m'a dit «nan j'en veux pas!»… alors qu'il veut bien du montage généré par Cinelerra.

  • DVD Styler : dispo dans les dépôts sur 10.04.

Des tutos ici http://www.framasoft.net/article12.html et là http://egroc.free.fr/
Vraiment bien avec de nombreuses possibilités… enfin une fois qu'on a perdu sa journée dessus à comprendre empiriquement qu'on ne pouvait pas mettre plus d'environ 45 fichiers mpeg, sinon la génération du DVD freeze le soft; et que même si on peut en mettre autant qu'on veut, le nombre de boutons est limités à 12 par menu (par exemple 9 vignettes, un Bouton «menu», un bouton «précédent» et un bouton «suivant». (serait-ce une limitation du format DVD ?)
Au delà il ne sont pas cliquable dans le DVD.
Enfin, qu'il faut éviter de copier/coller les vignettes, pour par exemples en avoir plusieurs identiques et gagner du temps plutôt que de se taper les caractéristiques de chacune et ensuite glisser dessus les clips qu'on voudrait y voir…
Non, contre toute attente, alors que tout est cohérent, des erreurs surviendront durant la génération du DVD.

ERR:  That form of jumping is not allowed
ERR:  in VTSM pgc 1, button button03
Echec

Moralité, plutôt que de mettre le montage plus les rushs tel quel sur le DVD, j'ai dû faire un bout à bout des 56 fichiers de rush pour en fabriquer un seul fichier qu'il a ensuite fallut chapitrer pour reconstituer l'intervalle entre chaque clips.

Et y associer la vignette correspondante obtenue par ce script maison :

#!/bin/sh
for i in *.mpg *.MPG *.MPEG *.mpeg *.mp4 *.MP4 *.avi *.AVI *.ogv *.OGV *.flv *.FLV *.wmv *.WMV
do 
    ffmpeg -i "$i" -vcodec mjpeg -vframes 1 -an -f rawvideo -s 200x150 -ss 2 "vignettes/${i%.*}.jpg"
done

Y'a des jours où vraiment je maudis l'informatique et ses aléas inhérents; c'est pas encore une science exacte… rien n'est parfait en ce monde, mais quand on cumule qu'est-ce qu'on perd comme temps pour ces conneries !!! Surtout quand on est tenace ^^;;

- page 2 de 4 -