Il n’y a pas très longtemps, un ami m’a posé un défi, être capable de récupérer les wallpapers du site hongfire sans avoir à télécharger la moitié du site (imaginez si le site fait plusieurs centaines de gigas, pas glop à traiter pour le serveur). A l’aide d’un script Shell, de quelques regexp et d’un peu de temps : en 3 heures le script était réalisé, alors vous me direz… Oui mais ton script y doit tout récupérer… Eh bah nan ! ma bonne dame mon script ne récupère que les images.
Bilan, on économise des requêtes serveurs et de la bande passante, et c’est bien ça !! pour vous donner un ordre d’idée : 6200 fichiers traités en quelques 3 heures (de même le script est largement modifiable et optimisable, le script réalise une pause de téléchargement de quelques secondes entre les différents fichiers pour éviter de générer trop de trafic).
Je posterai le script dès mon retour chez moi. (pour la petite anecdote, c’est pour moi plus un défi technique qu’une envi de jouer les aspirateurs de sites, je débute dans le domaine Ubuntu/Linux et ma passion d’apprendre de nouvelles choses m’oblige à passer par les étape de scripting. Ceci dit si quelqu’un est capable de convertir ce script sous Windows, feel free to try !)
Voilà maintenant quelques jours que j’ai remarqué une augmentation du nombre de Spam présent sur mon blog Wordpress (merci à Akismet ! par ailleurs). A titre d’informations, voici un graphe sur quelques jours pour vous montrer mes dires :

Je ne pense pas avoir plus de succès (d’ailleurs en ai-je ?), bref ! Pour en revenir sur ce Spam, je n’ai pas réalisé une analyse précise des logs d’akismet, mais… La plupart de ces messages sont rédigés à l’aide de l’
alphabet cyrillique, je serai curieux vraiment de voir de quelles adresses IP proviennent vraiment ces messages (donc je pourrai ensuite savoir depuis quelles machines ont été émis ces messages, et donc me faire une idée du pays émetteur).
Edit : Comme quoi, je ne connais pas entièrement le fonctionnement d’Akismet, je pensais que les logs se trouvaient sur une table SQL… Ce n’est pas le cas, donc je ne saurai pas en dire plus
Il y a pas si longtemps que sa (pour pas dire ce week-end !
), j’avais besoin de réaliser une recherche à travers un fichier html mal fichu (de ce côté là google n’ a plus à nous apprendre
là où on nous rabâche à chaque fois de bien mettre en forme notre code bah là pas de chance… c’est le bordel !!

Bah oui ! forcément quand vous devez extraire une liste d’url de ce charabia… Vous êtes bein dedans (avec la faut siouplé). Alors forcément je suis sur ubuntu (définitivement pour l’instant), en creusant à droite à gauche j’entends parler de grep, sed, awk… Pour moi c’est un peu du javanais ! puis je trouve une partie de ma réponse : les RegExp.
Alors pour la petite histoire, les RegExp ou expressions régulières permet de rechercher une chaine de caractères (de tout type) grâce à une syntaxe bien pensée : le motif (non pas celui à fleurs !!) en gros et pour faire simple vous pouvez indiquer à votre logiciel de recherche favori (grep par exemple) de rechercher toutes les chaines de caractères qui commencent par http:// et qui se terminent après un .html ou un / (je simplifie au maximum) entre ces deux limites je veux que des caractères utilisés pour la création d’URL (de A à Z, de 0 à 9, avec un ?, !, $ ,_……….) ça parait un peu barbare, mais… imaginez-vous le principe tout simplement comment rechercher une liste d’URL dans un fichier texte ? en testant chaque lettre : trop long ! dans notre exemple on dit juste de trouver un motif qui commence par http:// et qui se termine par .html ou / c’est tout (en gros) et hop vous avez votre recherche.
Comme ça à brut pour point, ça peut paraitre un peu absurde, imaginez-vous un autre exemple, comment cherchez dans une liste de prénoms, tous les prénoms commençant par la A et se terminant en plus par la lettre D… Ca peut paraitre tordu, mais avec les Regexp.
Donc dans mon cas, voici la requête que j’utilise (fonctionne avec un grep dans un shell) :
(https?|ftp|news|telnet|finger|file)://[-a-zA-Z0-9+&@#/%?=~_|:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
On va décortiquer ce motif :
- (https?|ftp|news|telnet|finger|file):// : on recherche tous les protocoles à rechercher, le ‘|’ est ici utilisé comme un ‘ou’. De même le fait d’utiliser https? permet de recherche ‘http’ ou ‘https’ (cette requête pourrait ré-écrite de la manière suivante : (http|https|ftp|news|telnet|finger|file)://
- [-a-zA-Z0-9+&@#/%?=~_|:,.;]*[-a-zA-Z0-9+&@#/%=~_|] : on indique les caractères que l’on souhaite rechercher, l’astérisque ‘*’ indique ici une taille de motif indéfinie ensuite on applique de nouveau des critères de sélections
Par contre, je me pose une question ! pourquoi doit-on indiquer le signe moins devant les caractères à rechercher ? si je les supprime mes recherches sont tronquées… Bizarre, si quelqu’un connait la solution je suis preneur.
novembre 11th, 2009 in
Astuces | tags:
Console,
Linux |
Aucun commentaire
Je suis passé vraiment à côté d’un article plutôt important sur un site que je regarde régulièrement : Tuxplanet qui poste sur son site un “Local Root Exploit”… Tout sa pour dire que si vous utilisez une distribution Linux (type Ubuntu…) et que Wine est installé je vous invite juste à tester le programme sur ce site, personnellement : le script s’est éxecuté et est passé comme une lettre à la poste, bilan avec whoami : root
Voici la source à lire : http://www.tux-planet.fr/local-root-exploit-pipe-null-pointer-dereference/
Ainsi que la page sur le forum d’Ubuntu France : http://forum.ubuntu-fr.org/viewtopic.php?id=355734&p=1
novembre 10th, 2009 in
TechNotes |
Aucun commentaire
Je suis complètement passé à côté de ce petit évènement (bah oui pour moi… tenir un blog pendant un an c’est beaucoup) surtout quand on a pas forcément la fibre d’écrire des articles !!! alors mon blog je te souhaite un bon anniversaire (et ouais !! juste pour info sur analytique j’en suis à 500 visites sur mon blog par mois… Bon certes quand on compare les statistiques à celle du plugin wordpress : 640 visites
) Bon allez trêve de plaisanterie (même si pas grand monde m’écrit, moi ça me fait plaisir de poster !)
GreaseMonkey fait partie des extension qu’il faut installer d’office avec son navigateur, cette petite perle est disponible ici sur le site web de Mozilla. Le principe de cette extension est de pouvoir agir directement sur le contenu de Firefox, voici pour moi le top 5 des scripts à posséder :
Enfin dirons certains !! La nouvelle version d’Ubuntu est disponible depuis hier sur les serveurs d’Ubuntu. Je n’ai personnellement pas réussi a faire la mise à jour avant 22h30. Preuve en est qu’ubuntu est de plus en plus prisé… Rendez-vous dans quelques jours pour vous donner mon avis sur cette upgrade.
Si vous surfez sur le net souvent, vous devez vous rendre compte qu’il y a de plus en plus de risques de sécurité liés aux différents plugins installés sur nos machines. Certains sont voulus (Adobe Flash Player), d’autres pas du tout (les barres d’outils pub-ivore). Dans les deux cas, si vos petits softs ne sont pas à jour, vous vous risquez à de petits problèmes de sécurité. Vous me direz quel est l’intérêt de ce billet, si ce n’est ne rien apprendre… Vous n’avez pas tord… Sauf que Mozilla a mis en place une page Internet qui vous liste les différents composants installés sur votre navigateur pour ensuite vous indiquer si ceux-ci sont up-to-date ou pas… Pour vérifier votre navigateur : http://www.mozilla.com/en-US/plugincheck/

Après avoir zieuter un peu sur Internet, je suis tombé sur The Gimp 2.7 pour ceux qui ne connaissent pas ce logiciel c’es le “Photoshop du pauvre” sauf que… la version 2.8 semble fortement améliorer l’interface utilisateur (ce qui m’avait jusque alors vraiment déplu sur Gimp), la version 2.7 (future version 2.8 ?) est actuellement disponible en version UNSTABLE sur les serveurs adéquats. Voici mon petit retour sur cette expérience :
- Récupération du fichier en question, suivi d’une décompression (le tout sous Ubuntu 9.04)
- on teste par un ./configure
- manque de chance le package “intltool” est too old (dans mon cas manquant), hop un coup de Synaptic
- on relance ./configure
- le package babl est indisponible, bizarre… je ne connais pas de package de ce nom,
- Il faut télécharger la dernière version de babl (0.1.0) à cette adresse http://ftp.gnome.org/pub/gimp/babl/0.1/
- il faut ensuite, pour babl utiliser les commandes suivantes : ./configure puis make et enfin sudo make install
- Il faut télécharger gegl en version 0.1 à l’adresse suivante http://ftp.acc.umu.se/pub/gimp/gegl/0.1/
- on décompresse le tout et on configure/compile/install
- sudo apt-get install asciidoc enscript lua50 openexr graphviz python-cairo-dev pour ajouter les dépendances (si lors de votre tentative de faire un ./configure dans le dossier de gimp vous n’obtenez pas d’erreur vous n’êtes pas obligés de procéder à l’installation de ces sources).
- les librairies python sont nécessaires PyGTK 2.10.4 pour cela http://ftp.acc.umu.se/pub/GNOME/sources/pygtk/2.16/
- forcément on passe par la phase compilation : ./configure make sudo make install
- de retour dans le dossier Gimp : ./configure puis make (préparez-vous un truc à manger !!! c’est long)
Votre nouvelle version est maintenant compilée : pour l’installater “sudo make install” Pour démarrer votre nouvelle version de Gimp : gimp-2.7
septembre 30th, 2009 in
Non classé |
Aucun commentaire
Vous êtes à la recherche de “L’icône” pour votre dossier, ou bien pour schématiser un flux par exemple, toutes les ressources que vous trouvez ne sont pas à la hauteur de vos espérances ? Alors j’ai peut-être la solution pour vous !!
Iconspedia regroupe plusieurs centaines d’icônes disponibles classées sous différentes catégories (Jeux, Vacances, Internet…).
Edit : Voici une liste complémentaire de liens vers des sites d’îcones :
septembre 29th, 2009 in
Outils | tags:
dessin,
icons |
Aucun commentaire