Extraire les images d’un fichier pdf

Le site HowToGeek a posté un billet sur un outil permettant d’extraire les images d’un PDF. Ca peut-être utile quand on écrit une doc de spec et que l’on souhaite reprendre des images des documents de références (en citant les sources bien sûr).

J’ai testé rapidement « pdfimages » sans succès sur le document que j’avais sous la main, mais j’ai eu un doute sur la nature des graphiques. Pas de bol c’était sûrement pas des images, car avec un PDF que j’ai généré moi-même l’outil à bien fait son boulot.
Ceci dit on peut très bien s’en sortir avec un outil de captures…

pdfimages faire partit du package « pdftools », qui proposent d’autres outils de conversion (txt, html, …) : plus d’info sur la page dédiée d’Ubuntu.

Publié dans Développement, Informatique, Script shell et utilitaires associés | Marqué avec , , | Laisser un commentaire

Intégrer AStyle (formateur de code) dans L’IDE Keil uVision

Certains clients ont des conventions de codage qu’il nous faut appliquer à la lettre.
J’ai auparavant testé l’outil ‘GNU indent’ mais il n’était pas disponible sous Windows donc il fallait transférer le code vers un poste linux et vice-versa.

Astyle quand à lui est multi-plateforme, et aussi opensource. Je l’ai facilement installé dans ma distrib ubuntu car il est inclut dans le dépôt et je l’ai testé avec succès.
A noter qu’il crée systématiquement un fichier de backup avec l’extension par défaut « .orig », penser à ça lorsque vous archivez vos sources.

Je ne vais pas détailler la documentation des options qui est très explicite.

C’est un outil en ligne de commande, et puisque c’est possible d’intégrer des outils dans keil j’ai toruvé sympa de le rendre plus accessible sous windows.
Voilà-ci dessous la procédure :
Télécharger l’archive depuis le site.
Dézipper l’archive dans votre répertoire de téléchargement
Déplacer le binaire et la doc dans le répertoire de programme x86 : utiliser la ligne de commande ou l’explorateur, mais les deux doivent-être lancés avec des droits « administrateur ». Perso j’ai crée un répertoire ‘AStyle’ et déplacé les fichiers à la racine de ce répertoire.
Faites un test un ligne de commande pour vérifier que le binaire s’exécute correctement.

Ensuite sous Keil :
aller dans « tools->Customize Tools Menu » et paramétrer la dialogue comme suivant :
2016-05-26 17_37_51-Keil-Customize Tools Menu-for-Astyle

La petite astuce qui ne se voit pas dans les arguments est d’utiliser les KeyCode et FileCode de Keil pour définir automatiquement le nom de fichier (voir l’aide proposée dans la dialogue de paramétrage) : personnellement j’ai préféré sélectionner le fichier ouvert en ajoutant comme argument : « #F ».

Lorsque j’appelle la commande depuis les menus, la fenêtre de build s’affiche ce qui me permet de vérifier l’exécution comme ci-dessous :
2016-05-26 17_37_51-Keil-Customize Tools Menu-for-Astyle-test

Publié dans Développement, Informatique, Script shell et utilitaires associés | Marqué avec , , , , | Laisser un commentaire

Test l’envoi de mail avec un simulateur de serveur SMTP

Pour tester une application WEB qui envoie des mails il est intéressant d’avoir un simulateur, afin de pouvoir tester plusieurs cas d’envoi sans avoir à utiliser plusieurs comptes mail.
D’autres part il arrive que le serveur tarde à transmettre le courriel ce qui peut gêner les tester.

Un petit logiciel open source développé en Java permet de simuler un serveur SMTP : fakesmtp.
Etant développé en Java il est donc multi-plateforme.

Pour le tester indépendamment de votre développement, vous pouvez utiliser sous linux swaks.

Attention, pour tester du code et simuler le comportement d’un serveur greenmail est plus indiqué.
Mais il est peut-être possible de s’en servir pour emuler un serveur IMAP.

On pourrait aussi se servir de Hamster-fr placé sur sourceforge, mais c’est plus orienter installation de serveur réel et il faut compiler depuis les sources.

Pour émuler un IMAP dovecot sous linux semble plus indiqué car plus simple à configurer. Voilà un exemple d’utiliser pour hacker un mot de passe.
Un autre billet détaille un peu plus la configuration mail pour un user.
Bref… c’est très succint et je reviendrai dessus en cas de besoin.

Publié dans Développement, Informatique | Laisser un commentaire

Windows 7 : désinstaller Windows Genuine Advantage

J’ai aidé un ami qui avait un problème avec des notifications à répétitions d’un problème avec sa clé.
Ayant trop la flemme de réinstaller son Win7, j’ai préféré opté pour cette solution qui permet de désactiver les notifications Genuine.
J’ai testé la méthode 1 que je résume ci-dessous :

  • ouvrir un terminal en mode administrateur
  • taper la commande SLMGR/REARM
  • redémarrer
  • Et voilà, ça a sauvé ma soirée !
    Nota : n’hésitez plus à acheter une licence Windows 7, elles sont à 40 euros chez lizengo.

    Publié dans Bureautique | Laisser un commentaire

    [cmd/linux] Utiliser les applications par défaut pour ouvrir un fichier

    j’ai récemment découvert la commande « xdg-open » qui permet d’utiliser le programme par défaut pour ouvrir un fichier.
    Très pratique lorsque que l’on a plus en tête l’orthographe exacte du navigateur ou de son explorateur fichier, car cette commande fonctionne aussi pour un répertoire.
    D’autres part lorsque je script pour un client je ne connais pas le navigateur installé donc cet outil confère une souplesse vis à vis de l’environnement.
    Il utilise les mimetypes pour déterminer lancer le programme associé à un fichier.
    Essayer pour voir :
    xdg-open .
    xdg-open index.html

    Parfois l’installation d’une nouvelle application modifie ces associations par défaut. Par exemple l’IDE Geany après installation ouvre les fichiers html.
    Pour restaurer votre choix il suffit d’appeler la commande suivante :
    mimeopen -d /path/to/file
    Elle vous listera les possibilités et conservera votre choix.

    Petite astuce récupérée chez ArchiLinux

    Publié dans Développement, Informatique, Script shell et utilitaires associés | Laisser un commentaire

    Amiliorer une photo scannée avec GIMP

    J’ai récemment scanné une photo de mon petit bout de choux,
    Mais le scanner ajoute un bruit bien connu : le tramage et l’effet de moiré.

    Je l’ai compensé avec gimp appliquant les filtres flou gaussien et améliorer la netteté.
    Un très bon article sur les principes est détaillé ici.

    L’article se base surtout sur photoshop, mais heureusement ces filtres existent sous GIMP.
    En particulier le manuel GIMP qui explique comment améliorer la netteté en minimisant la création d’artefact.

    Publié dans Bureautique, Graphisme 2D/3D | Laisser un commentaire

    Code C pour la résolution de système Linéaire à N inconnues

    J’ai récemment résolu le « puzzle » « The Barnyard » sur codingames.

    Cela revenait à appeler la résolution d’un système linéaire avec au maximum 5 inconnues.
    Je l’ai résolu en C, pour la résolution du système linéaire j’ai repiqué ce code qui utilise la méthode du pivot de Gauss.

    Au passage le site Rosetta propose un nombre de résolution de problème plus ou moins difficile mais intéressant (et d’ordre pratique) dans un grand nombre de langage.

    Publié dans Développement, Informatique | Laisser un commentaire

    Python / Debian : utiliser update-alternatives pour sélectionner la version

    Récemment un collègue a installé Python 3 sur un serveur pour des essais, mais par la suite il a laissé cette version comme celle utilisée par défaut.
    Visiblement la distribution n’était pas prête à ce changement : l’installation de paquet plantait. J’avais même des erreurs à l’installation de Oclint.
    Seulement je n’avais rien remarquée car rien ne m’indiquait Que python3 n’était pas la version par défaut. Après confirmation j’ai donc utilisé update-altenratives qui affiche clairement les versions installées, celles utilisées, et celle par défaut.

    Par ailleurs si l’outil n’est pas utilisé par défaut on peut ajouter une configuration, comme ci-dessous :

    update-alternatives pour python

    update-alternatives pour python

    Comment procéder ? consulter cet article.

    Publié dans administration, Informatique | Laisser un commentaire

    Editer des sources : utiliser une bonne police

    La lecture d’un code est bien plus aisée avec une bonne police,
    et c’est d’autant plus flagrant lorsque l’on souhaite insérer quelques lignes dans un document.
    On sait facilement reconnaître une police inadaptée, mais quelle est la bonne police.
    Heureusement Mon ami Google m’a trouvé ce billet de blog avec quelques bonnes suggestion.
    J’ai rapidement installé Inconsolata sur mon MBP, quelques clics et voilà.
    A voir maintenant avec une ubuntu comment cela se passera…
    Sous Windows Microsoft Consolatas peut-être choisi si elle est déjà installée.

    A voir ce petit sondage dans les forums d’HippoEdit.

    Publié dans Développement, Informatique | Laisser un commentaire

    Doxygen : documenter automatiquement le code écrit en C

    A la suite d’un portage j’ai proposé de migrer les cartouches de documentation des fichiers vers Doxygen, celui-ci présentant l’intérêt de vérifier la cohérence du cartouche des fonctions avec leur signature.

    J’ai cherché alors un moyen de créer automatiquement la documentation de l’ensemble des fonctions, mais bien sur je n’ai pas trouvé. C’est quelque chose aberrant, les fonctions se documentent au fur et à mesure qu’elle sont écrites.

    Mais je ne suis pas resté les mains vides.
    Tout d’abord avec ce plugin eclipse eclox, qui génère automatiquement le cartouche des fonctions. Il intègre très bien Eclipse, avec un wizard pour l’édition du fichier de configuration et des boutons pour lancer la génération.
    Cependant je n’ai pas trouvé le moyen de personnaliser le cartouche, par exemple le format des tag ( ‘@’ ou ‘\’ ), ou l’encadrement avec des lignes de ‘=’.

    Pour ça le plugin Vim « DoxygenToolKit » répond mieux à mes besoins.

    Il m’a suffit d’ajouter dans .vimrc les lignes suivantes :
    let g:DoxygenToolkit_briefTag_pre = "\\brief "
    let g:DoxygenToolkit_paramTag_pre="\\param "
    let g:DoxygenToolkit_returnTag="\\return "
    let g:DoxygenToolkit_blockHeader="==========.... ============================"
    let g:DoxygenToolkit_blockFooter="==========.... ============================"

    Finalement j’utiliserai ces deux outils, le premier pour l’édition, et le second pour gérer la génération de la documentation.

    Il me resterait plus qu’à trouver le moyen d’utiliser vim pour sauter directement d’une fonction à l’autre…

    Publié dans Développement, Informatique, Script shell et utilitaires associés | Laisser un commentaire