Blog Haypo

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

jeudi 7 avril 2011

Je recherche un poste de développeur C/Python

Je suis actuellement à la recherche d'un poste de développeur en France ou en télétravail, si possible avec des logiciels libres. Si vous recherchez un expert (plus de 5 ans d'expérience) C et Python, je suis votre homme ! Je travaille depuis 5 ans pour EdenWall Technologies, dans la sécurité des réseaux, d'abord en tant que développeur, puis en tant que chef de projet (équipe de six développeurs). J'ai développé sur le parefeu NuFW (basé sur Netfilter) et de nombreux outils de configuration du parefeu (gestion des règles du parefeu, réseaux, VPN, proxy web, etc.).

J'ai contribué à de nombreux projets libres, mais dernièrement, j'ai essentiellement hacké Python durant mon temps libre. J'ai par exemple corrigé énormément de bugs relatifs à Unicode dans Python 3.2. Contribuer à Python m'apprend à travailler avec une équipe d'une centaine de développeurs du monde entier (justifier une solution, relire des patchs, suivi des commits, etc.). Bien sûr, ça me permet d'améliorer mes compétences en programmation C et Python, et mes compétences en assurance qualité (écriture de tests, suivi des buildbots, etc.).

Je suis également l'auteur de plusieurs logiciels libres. Fusil est une bibliothèque de fuzzing et une vingtaine de fuzzers. En l'utilisant, j'ai trouvé des bugs et des vulnérabilités dans de nombreux logiciels libres (libc, FreeType, ClamAV, libexif, binutils, etc.). faulthandler est un module Python qui affiche la pile d'appels en cas de crash, après un timeout ou lorsqu'un signal est reçu (SIGUSR1). Il fonctionne sur tous les systèmes d'exploitation, de Python 2.5 à 3.3. J'ai récemment intégré ce module directement dans Python 3.3. Voir également mes profils github et bitbucket.

Si vous êtes intéressé par mon profil, contactez moi par courriel : victor.stinner@haypocalc.com, je suis disponible à partir du 11 juillet. Consultez mon CV pour le détail de mes compétences.

jeudi 6 janvier 2011

Mise en place d'un nouveau blog en anglais

Cela faisait plusieurs années que je me disais qu'il fallait que je passe à quelque chose de plus moderne que Dotclear 1. J'ai choisi Wordpress juste parce que c'est populaire et que ça semble simple à utiliser. J'ai donc installé Wordpress, puis j'ai rédigé plusieurs articles faisant le point sur mes projets de programmation en 2010. Pour changer, j'ai écrit en anglais.

Voici donc mon nouveau blog : http://www.haypocalc.com/wordpress/

samedi 21 novembre 2009

Analyse de spam (commentaires de ce blog) : sites chermou.org et denjala.com

Avec mon antispam maison (NIH powa !), je filtre une grosse partie du spam (dans les commentaires), mais quelques uns passent à travers le filtre. La plupart sont ponctuels, mais un spam persiste dans la durée : chermou. Cet article tente de comprendre l'insistance de ces spams (qui visent à amener du trafic vers certains sites précis), notamment en analysant le contenu et la stratégie commerciale de ces sites.

Analyse des spams

Le mardi 29 septembre 2009 à 02:40
Email : 
Site : http://www.denjala.com
@IP : 41.249.40.88
mais pourquoi les americains sont si fort et dans tout les domaines!!!

L'auteur des messages est différent pour chaque message (bomi41, s3aidia, tafrawte, windman, ...). Par contre, la même adresse de courriel est utilisée pour plusieurs messages durant plusieurs semaines (mais sur plusieurs mois, il y a donc plusieurs adresses différentes). Le contenu des messages est en français (plutôt correct) et semble avoir un rapport avec l'article (peuvent passer inaperçu si on n'est pas attentif).

Le plus intéressant reste les noms de domaine (les sites vers lesquels ces spams tentent d'amener du trafic) :

  • www.jeseraimillionnaire.com
    • Crée en juin 2008 (voir plutôt en 2006 ?)
    • Registrar: ENOM, INC.
    • (autres informations : cachées)
  • www.twinibila.com
    • Crée le 16 août 2007
    • Propriétaire : Leblanc SARAH
    • Registrar : ONLINE SAS
  • www.chermou.org
    • Propriétaire : Mourad Chermou
    • Registar : Gandi
    • Crée le 24 décembre 2008
  • www.lannuairegrand.com
    • Crée le 26 février 2009
    • Propriétaire : Mourad Chermou
    • Registar : Espace 2001
    • Adresse postale : Mohammedia, Maroc
  • www.lannuairesport.com
    • Propriétaire : Mourad Chermou
    • Adresse postale : Mohammedia, Maroc
    • Registar : Espace 2001
    • Crée le 25 février 2009
  • www.denjala.com
    • Propriétaire : Mourad Chermou
    • Registar : Gandi
    • Crée le 21 mai 2009

Sur mon blog, c'est essentiellement chermou.org et denjala.com que j'ai croisé. Bon mais sinon, que vendent ces sites ?

Présentations des différents sites

Denjala.com ressemble à un annuaire très généraliste de sites webs : 2000 thèmes divers allant de Dictionnaire à Tissage en passant par Perruque. Il propose d'acheter une « page » pour 50€. Le contenu pornographie est interdit. Si j'ai bien compris, une « page » est une annonce publicitaire. La page d'accueil contient un emplacement Google Ads, et chaque page contient deux emplacements Google Ads : un bandeau textuel (en espagnol) et une image (bannière horizontale).

C'est là que je ne comprend pas. Le seul contenu proposé par denjala.com est de la publicité ? Quel est le public visé : des annonceurs, des internautes égarés, voir carrément des fans de publicité sur Internet ? En tout cas Mourad espère gagner 100.000€ avec son affaire. L'annuaire contient quelques entrées, mais je ne sais pas si les webmestres de ces sites ont payé pour être enregistrés.

Lannuairesport.com est également un annuaire, dédié au sport. Il comporte un emplacement de publicité Google Ads.

Lannuairegrand.com est un « annuaire de tous les meilleurs sites du web francophone ». L'inscription d'un site est manuelle et gratuite. Il y a un bandeau (image) Google Ads sur la page d'accueil, et deux bandeaux textuels sur chaque page.

chermou.org est un site de question/réponse. La page d'accueil contient des liens vers les questions résolus et non résolues, et un lien pour poser une question. Juste sous le menu, il y a une ligne d'annonces Google sous forme textuelle sur une seule ligne « Annonces Google Reponse Question Eau Poser Loisirs 92 Loisirs En » (les mots clés me semblent assez étonnants). Cliquer sur un des mots amène à une page qui liste des publicités Google (textuelles avec un grand bandeau en bas). Il semble que des personnes utilisent ce site pour poser des questions, et répondent aux autres questions. Le concept de site question/réponse n'est pas nouveau, il existe par exemple Yahoo! Questions/Réponses ou l'oracle Wikipédia.

Google Ads

Si j'ai bien compris, les sites chermou visent à faire gagner de l'argent à son auteur, grâce à la publicité (Google). La question que je me pose donc est « Google Ads, combien est-ce que ça rapporte ? ». Problème : La charte interdit de dire combien on gagne... Les mots clés sont vendus aux enchères chaque jour, de 2 cents à plusieurs dollars par clic. Une rémunération est perçue à chaque clic sur une annonce. Les annonces sont choisies selon le contenu de la page web où les annonces sont placées. Par contre, il faut gagner au moins 100$ pour avoir le premier versement : « Les gains vous sont reversés tous les mois par chèque ou virement bancaire à partir du moment où vos gains dépassent la somme de 100$. Sinon, ils sont reportés au mois suivant et ainsi de suite. » Pour en savoir plus, lire par exemple googlecash.

Mourad Chermou achète également des mots clés vers son site. Du coup, cliquer sur un pub menant vers son site va donc lui coûter des sous.

Ce qui m'étonne surtout, c'est les formes que prennent les publicités sur les sites que j'ai cités. Publicités pas très attirantes, parfois en espagnol, parfois uniquement sous forme de quelques mots qui me semblent aléatoires... La logique est difficile à suivre.

jeseraimillionnaire.com

En juin 2008 (ou 2006 ? j'ai pas trouvé de date exact), Mourad avait également lancé le site jeseraimillionnaire.com : Comment devenir millionnaire sans bouger... (novembre 2006). Exemple de spam pour ce site : « Paris 28 juin 2008. Je m'appelle chermou mourad, j'ai 31 ans je suis marocain je vie depuis 5 ans en france sans papiers, je suis venu en france pour terminer mais études mais j'ai pas terminé... J'ai créé ce site pour être millionnaire et retourner chez moi pour mettre fin à cette mésaventure! La france, je l'aime mais je dois la quitter » (source). Il y a 2000 mots et si vous voulez que votre site apparaisse dans la page d'un mot, vous devez payer 100 €.

Étant donné que Google référence gratuitement (et représente 90% des moteurs de recherche ou plus), je ne vois pas trop l'intérêt de ces sites.

Twinibila.com

Parmi cet ensemble de sites, Twinibila.com se détache du lot. C'est un site d'annonces gratuites pour vendre des voitures au Maroc. Ce site semble actif et pas mal utilisé par des particuliers. Alors que les autres sites sont essentiellement statiques, celui là comporte un moteur de recherche. Il héberge également un forum phpBB. Le site est plutôt bien foutu. L'enregistrement DNS indique le nom « Sarah Leblanc ». Je suppose que le site a été conçu par une personne différente de tous les autres sites.

lundi 10 mars 2008

Un nouvel antispam pour ce blog !

Dans le plus pur respect du syndrôme NIH, j'ai écrit mon outil de détection de spam pour les commentaires Dotclear : antispam. Je sens que rien que le nom vous fait déjà trépigner d'impatience.

Système de notation

Je me suis inspiré de mon travail sur la notation dans le projet Fusil pour noter les commentaires, ce qui n'a rien de révolutionnaire en soit (SpamAssassin le fait déjà). J'ai écrit des règles empiriques selon mes observations sur les spams. L'idée est de rechercher les caractéristiques typiques des spams puis de les transformer en règles.

Voici les règles utilisées actuellement :

  • Adresse de courriel : liste blanche/noire pour les domaines, voir conf/email_domains.txt (liste noire par défaut)
  • Mots clés : recherche de mots clés à partir d'une liste blanche/noire, voir conf/words.txt (liste noire par défaut)
  • Ratio des lettres latines majuscules et du nombre total de lettres latines : s'il y a plus de 35% de majuscules, le message gagne 5 points
  • Longueur du texte : si le texte hors liens externes contient moins de 30 lettres latines, le message gagne 2 points
  • Ratio d'url par domaine : s'il y a plus de 3 liens vers le même domaine (en moyenne), le message gagne 5 points
  • Pour chaque url, une liste blanche/noire (plutôt liste blanche) permet d'attribuer un score selon le domaine. Si l'url ne correspond à aucun domaine, elle obtient une note de +1 point

Finalement, j'utilise peu de règles pour éviter les faux-positifs (message légitime détecté comme spam). Ce n'est pas nécessaire car je n'ai pas encore vu passer de faux-positif.

Résultat sur les commentaires de ce blog

En utilisant un score initial de -3, les commentaires légitimes ont une note négative entre -3 et -2. Pour les spams, j'ai observé trois types selon la note moyenne :

  • (A) note de 0,5 à 2 : un ou deux liens, message court, texte crédible en anglais
  • (B) note de 15 à 25 : une dizaine de liens vers le même serveur avec quelques mots anglais aléatoires
  • (C) note de 150 à 200 : grosse collection de liens et liste presque exhaustive des mots clés que j'ai mis en liste noire (ex: une vingtaine de variantes de « buy cheap viagra » dans le même message)

Les spams de type (B) et (C) sont triviaux à détecter. Les plus pénibles étant les spams de type (A).

Exemple de spam pénible

Commentaire reçu aujourd'hui, j'ai remplacé les urls par xxx :

Author: brazilian <thongwaxingbrazilian@mail.com>
Website: http://xxxxxxxxx.nl/35424
IP: 218.16.224.243

- she reached for her clit. madam, i ve got arthritis,
<a href=  http://xxxxxxx.com/phpbb/barthololauries.html >waxing thong brazilian</a> and.

Le message contenait aussi deux caractères Unicode invalides (U+0092 et U+0093). Analyse avec la configuration actuelle d'antispam pour ce blog :

Match URL (+1.0): http://...
Match URL (+1.0): http://...
Match email domain (+1.0): mail.com
-stdin- score: +0.00

Le message n'est pas détecté comme spam. J'ai donc ajouté les mots clit, brazilian, thong et waxing en liste noire pour gonfler la note jusqu'à +7.

Fiabilité de l'antispam

Après une semaine de développement sur antispam, je suis plutôt content du résultat. Bien que cet outil demande beaucoup de configuration manuelle, il supprime déjà environ 90% du spam de ce blog. Sachez que je reçois à peu près 100 spams par jour sur ce blog.

L'ancien moteur de spam était fiable à 100% : il bloquait simplement tout message contenant un lien externe. J'essaye de le rendre un peu plus laxiste pour autoriser les liens externes.

Amélirations possibles

Idée pour améliorer antispam :

  • Réutiliser du code (au moins des idées) des antispams existants (ex: Spam Karma)
  • Utiliser un filtre bayésien
  • Utiliser des listes noires (URL / IP / email) dynamiques
  • Filtrage horaire et/ou selon le jour de la semaine (je pense qu'il y a peu de commentaires légitimes entre 2h et 7h)
  • Utiliser des listes blanches ou d'autres règles pour diminuer la note

Contactez moi directement si vous voulez tester antispam sur votre forum ou votre blog. L'intégration étant pénible à automatiser. Antispam est écrit en Python et distribué sous licence GNU GPL.

dimanche 9 mars 2008

Spam dans les forums, blogs, etc.

Le spam désigne un « message non sollicité ». Avant limité à la messagerie électronique, le spam inonde aujourd'hui Internet en utilisant n'importe quel moyen de publier du texte avec des liens externes. Les plus touchés sont les forums (ex: phpbb) et les blogs (ex: dotclear). Plus généralement, plus la cible est populaire, plus elle a de chances d'être spammée. Dès lors, n'importe quel formulaire public devient est cible potentielle.

Filtrage par test de turing

Pour limiter le spam, l'inscription aux forums est devenue pénible : besoin de confirmer l'inscription par courriel par exemple. De même, déposer un commentaire sur un blog demande souvent des talents en décodage de hiéroglyphe (captchas). Le spam doit vraiment être lucratif car qu'importe le niveau de complexité de la protection, elle est déjouée un jour ou l'autre. La meilleure parade aux captchas étant de demander à des humains de les décoder à votre place. Cette faille déjoue l'ensemble des tests de turing !

Filtrage de l'enveloppe

On pourrait alors penser à filtrer l' « enveloppe » : les informations obtenues sur l'expéditeur du message. Le nom de l'expéditeur est généré aléatoirement et pourtant crédible, on ne peut pas en faire grand chose. Son adresse de courriel est souvent crée pour l'occasion sur un serveur offrant des adresses gratuites (ex: gmail). L'adresse IP semble une bonne piste pour bloquer un spammeur. Sauf que les spammeurs ont aussi trouvé une parade : ils louent des serveurs à moindre coût pour émettre anonymement du spam. Ces serveurs peuvent faire parti d'un botnet : ordinateurs verrolés à l'insu d'internautes légitimes. Bloquer une IP empêcherait un internaute légitime de poster un commentaire. De toute manière, les spammeurs changent régulièrement de serveurs (et donc d'adresse).

Filtrage du contenu

Si l'enveloppe n'est pas une information fiable, on peut se concentrer sur le contenu du message. Bien que chaque spam soit différent, on peut tout de même reconnaître certaines caractéristiques générales :

  • un spam comporte au moins un lien externe (parfois une dizaine ou plus)
  • on retrouve les même mots tels que « porn », « download » ou encore « viagra »

Une fois de plus, ces caractéristiques ne sont pas fiables à 100%. Certains spammeurs contournent le blocage par mots-clés en modifiant légèrement le terme : « viagra » devient « v1agra » par exemple. Concernant les liens externes, on commence à trouver des liens pointant sur google.com (ex: sur groups.google.com et pages.google.com) : bloquer un domaine est donc plutôt hasardeux. Bien que les spams ne comportant aucun lien externe soient rares, bloquer tout message comportant un lien externe est très contraignant pour l'internate légitime.

Filtrage par l'obscurité

Pour déjouer les plans des robots, certains se protègent en modifiant les formulaires de leur application. Une bidouille est d'ajouter un champ au formulaire. Ce champ contient un valeur spéciale ou est laissée vide : si le bot le modifie, le message est considéré comme un spam. Ce champ peut être caché (type HTML hidden ou caché par la mise en forme CSS) ou visible, auquel cas une mention avertira l'internaute de ne pas y toucher. Malheureusement, de telles pratiques relèvent de la sécurité par l'obscurité et ne peut être utilisé à grande échelle. Une fois l'astuce connue, des robots vont la déjouer facilement.

Filtrage par pot de miel

Il existe des services mettant en place des pots de miel : forums, blogs et autres dédiés à la récolte de spam. Cette collecte permet de créer une liste noire d'URL et/ou d'IP, exemples : surbl.org et projecthoneypot.org. La technique du pot de miel ne sert qu'à limiter la diffusion d'un spam.

Aucun espoir ?

C'est en écrivant mon propre antispam pour ce blog que j'ai réalisé l'ampleur du problème. Bien qu'aucune protection citée n'est fiable à 100%, cumuler plusieurs solutions permet de bloquer l'essentiel du spam, allégeant considérablement la charge du modérateur.

Malheureusement, plus un moyen de protection est efficace, plus il est utilisé, plus les spammeurs vont se concentrer dessus pour le déjouer. La sécurité par l'obscurité semble donc conseillée voir nécessaire. Des services comme Akismet reposent justement sur ce principe. Pourtant, je m'y oppose car c'est contraire à l'esprit de partage du logiciel libre !

mercredi 22 août 2007

Historique du site haypocalc.com

Étant donné que je suis en train de nettoyer mon site Internet, haypocalc.com, je vais en profiter pour en retracer son histoire.

Contenus hébergés

J'ai acheté le nom de domaine haypocalc.com ainsi qu'un hébergement chez OVH en décembre 2001 pour y publier ma calculatrice scientifique HaypoCALC. Ce logiciel restera le contenu essentiel du site web pendant plusieurs années.

J'ai ensuite hébergé deux sites Internet d'un ami (Nicolas Letavernier) : Le Système Solaire d'Exoscin et Généalogie des LETAVERNIER (sites hebérgés aujourd'hui sur son propre site, letavernier.com). Ami avec qui je suis d'ailleurs parti au Québec de Septembre à Décembre 2003. Ensemble nous avons monté un site Internet pour y narrer nos aventures : Notre aventure au Québec.

Enfin, le dernier gros événement est la création du blog que vous êtes en train de lire en mai 2006.

Vous trouvez les détails ainsi que mes autres sites Internet, anciens et actuels, dans mon article Mes sites web. La mémoire de l'Internet, archive.org, a conservé de nombreuses copies de mon site depuis sa création : consultez les archives d'haypocalc.com depuis 2002.

Évolutions technologiques

Le partie technique du site web où je publie mes articles d'informatique (de mathématiques et divers autres sujets) a connu trois grandes époques.

Au départ, j'écrivais mes articles sous forme de document HTML. Je me servais de l'éditeur Macromedia Dreamweaver 4 car j'appréciais de voir directement le résultat (principe d'un éditeur WYSIWYG). Un jeu de scripts PHP me permettaient d'ajouter un entête, un menu dynamique et un pied de page.

Émerveillé par les norme XML, XSLT et CSS, j'ai alors migré tout mon site sous forme de documents XML. Je voulais respecter la sacro-sainte rêgle « séparation du fond et de la forme » (dans mon cas : du texte et de la mise style). J'ai extrait le style pour rédiger une feuille de style CSS et j'ai écrit des outils XSLT pour générer du HTML à partir du XML. Les articles étaient écrits dans ma variante simplifiée du HTML.

Un jour j'en ai eu assez de passer plus de temps à développer des logiciels pour mon site web plutôt qu'à écrire des articles. J'ai alors décidé d'utiliser un outil existant pour me concentrer sur le contenu et j'ai choisi MediaWiki. J'ai découvert cet outil par l'encyclopédie Wikipédia et j'ai rapidement adoré l'édition en ligne par un simple clic. Depuis que j'utilise MediaWiki, j'ai réalisé que mon site web était plus actif. Je n'hésite plus à corriger mes fautes de frappes et à ajouter des informations à un article. Un autre avantage de MediaWiki est qu'il est toujours développé et je profite donc des mises à jour.

Publicité

Mon site haypocalc.com n'a jamais vu la moindre banière de publicité. Je me suis toujours refusé à me laisser tenter par cette pollution visuelle (Résistence À l'Agression Publicitaire). Pourtant, le traffic du site augmente continuellement. Je suis passé de 26.000 visiteurs en 2002 à 953.000 en 2006 pour atteindre aujourd'hui 3.700 visiteurs par jour. Il est tentant de gagner de l'argent en ajoutant des encarts publicitaires, mais je préfère préserver mes visiteurs pour un meilleur confort de lecture.

mardi 14 août 2007

Migration à MediaWiki 1.10 et réduction de la taille de la base MySQL

J'ai reçu récemment un email indiquant que ma base de donnée haypocalc.com atteignait 90% du quota de 25 Mo. J'ai rapidement suspecté mon wiki de monopoliser toute la place dans MySQL. Je sais que MediaWiki, logiciel gérant le wiki, est très gourmant en place : chaque révision d'une page est stockée intégralement dans la base de donnée et non pas juste les changements.

Changement de contrat

La première chose qui m'a choqué est que les termes de mon contrat OVH, une offre d'hébergement « 300GP » (GP pour Grand Public), avaient changé. Pour preuve, en 2003 l'offre comportait « espace MySQL illimité », alors qu'aujourd'hui il y a un quota de 25 Mo. Je n'ai pas été informé de ce changement. Il existe des options pour avoir 100 ou 250 Mo de base MySQL, mais ça se paie très cher : respectivement 72€ et 144€ (prix TTC par an). Un mauvais point pour OVH.

La grosse boulette

J'ai alors commencé par faire une sauvegarde de la base. Par expérience, j'ai appris à toujours sauvegarder avant de faire une opération délicate (susceptible d'être une connerie).

Pour faire le ménage dans le wiki, j'ai décidé de vider la table MySQL « wiki_text » qui semblait ne contenir que les anciennes versions. Les noms des colonnes de cette table sont préfixés par « old » (ancien) alors que pour la table « wiki_cur », les noms des colonnes sont préfixés par « cur » (current, actuel). Manque de bol, j'ai alors cassé le wiki : impossible de modifier une page (le formulaire d'édition était vide) !

Je réalise que j'ai fait une boulette : j'aurai du la renommer plutôt que de la vider.

Tentative de restauration du SQL par phpMyAdmin

Pour restaurer la base MySQL, je commence par la vider (supprimer toutes les tables) et j'utilise le phpMyAdmin d'OVH pour envoyer la sauvegarde. Sachant que la taille maximale de l'envoi est de 8 Mo (compressé ou non), je compresse mon dump SQL de 22 Mo avec gzip. Le fichier tient dans 4 Mo, la taille est bonne : je l'envoie. Premier échec : timeout PHP.

J'installe alors phpMyAdmin dans mon hébergement pour résoudre le problème de timeout. J'ai passé la première épreuve mais j'ai un nouveau soucis : la requête SQL s'interrompt. Il est possible de reprendre son exécution en réenvoyant le même fichier, sauf qu'après quelques étapes, c'est MySQL qui échoue. Décidément, rien ne fonctionne !

Concentration

À ce point là, la base de donnée MySQL de mon site était vide. Mon wiki et mon blog étaient donc hors-service depuis trois heures. Autre idée pour contourner les erreurs phpMyAdmin : j'écris un script Python pour découper le dump SQL de 22 Mo en petits bouts de 8 Mo. Nouvel échec. Je tente alors 6 Mo, 5 Mo, 4 Mo : rien à faire.

Finalement, je réunis tous mes neurones pour me souvenir que j'avais déjà eu ce même soucis quelques années auparavant. Pour les gros transferts SQL, il faut utiliser la commande « mysql » (en ligne de commande via un script PHP) après avoir envoyé le dump SQL par FTP. J'upload le dump et je lance la commande: ça marche !

Merde alors, si j'avais une meilleure mémoire, j'aurai gagné 4h :-( « Quand on n'a pas de tête, on a des jambes pour courir »

Migration à MediaWiki 1.10

Après de nombreuses heures, j'avais réussi à corriger ma boulette, mais mon soucis de taille de la base MySQL persistait. Entre temps, j'étais tombé sur l'article Help:Reduce size of the database de l'encyclopédie dédiée à Star Trek. En suivant les liens, j'ai vu que le problème est ancien et corrigé : il existe un script « maintenance/deleteOldRevisions.php » pour faire le ménage. Je récupère le script pour MediaWiki 1.6 par subversion et je le lance : erreur PHP (appel à une fonction non déclarée). Je comprend que ma version de MediaWiki est trop ancienne, il faut migrer à la nouvelle version.

Je prend mon courrage à deux mains et décide de migrer MediaWiki en version 1.10. C'est toujours une bonne idée niveau sécurité. Je récupère la base de donnée de mon wiki et l'installe dans un MediaWiki 1.10 neuf. Je lance le script « php upgrade.php --quick » (lu dans la documentation MediaWiki) et à mon grand étonnement, c'est un succès au premier essai !

Réduction de la base MediaWiki

Je peux enfin lancer « php maintenance/deleteOldRevisions.php --delete ». La commande dure longtemps, une dizaine de minutes, mais s'est terminée correctement.

Je renvoie ma base de donnée mise à jour et j'installe MediaWiki 1.10 sur haypocalc.com. Tout baigne.

Conclusion

Ce qu'il faut retenir : Pensez à faire des sauvegardes et assurez vous de pouvoir l'utiliser (avant de tout casser) !

Au total, j'ai du passer environ 6h sur mon problème en transpirant tout le long à grosses gouttes. Effectivement, j'avais supprimé volontairement six ans de boulot et j'étais incapable de le restaurer.

Je doute que ce billet intéresse grand monde, mais je me devais de l'écrire pour ne pas retomber dans les mêmes pièges ;-)

vendredi 29 septembre 2006

À mort le spam !

Le spam, appelé pourriel en bon québécois français, est la plus grosse plaie d'Internet que je connaisse. En deux mots, le spam est le fait de recevoir mes messages non sollicités. Il prend de très nombreuses formes :

  • Courriel non sollicité (le spam désigne en général ce type de message) ;
  • Message non sollicité dans un forum de discussion (usenet, phpbb, etc.) ;
  • Insertion de message non sollicité dans les wikis ;
  • Message non sollicité envoyé par le protocole de message Windows (commande « netsend ») ;
  • Commentaires dans un livre d'or ou blog ;
  • Le plus original que j'ai vu étant des rapports de bugs dans Trac ;
  • etc.

Voyons quelle est l'origine des spams et surtout comment les éradiquer !

Lire la suite

jeudi 11 mai 2006

Ouverture de mon blog

Après avoir observé les blogs d'amis (yekcim, thomas, tarek, etc.) durant plusieurs mois, voir années, je me suis décidé à franchir le pas en installant Dotclear sur mon serveur. En fait, j'ai remarqué que j'aime bien écrire 2/3 phrases sur un sujet, puis je passe à autre chose. Ce qui donne des articles quasiment vides qui font tache sur mon site web. Quelques exemples : Visible human project, Perl, etc. Bon et bien j'espère que ce blog va donner de bonnes choses :-)