Petite introduction aux REGEX

Hier

Si vous n’avez jamais programmé, ou si vous débutez tous juste, alors peut-être avez-vous envie de savoir ce que sont les regex.

Le mot regex est une contraction d’un terme anglophone qui se traduit par « expression régulière ». Une expression régulière est en réalité une suite de caractères (i.e. une expression) dont le format est connu, bien précis (i.e. régulier).

Si je dis que je veux une phrase composée de 3 mots séparés par des espaces et possédant 2, 5 et 4 lettres, alors j’ai crée une expression régulière : le format de la phrase étant connu et bien précis.
Une telle phrase pouvant être aussi bien « Il court vite » ou « je mange bien », car ces deux phrases satisfont l’expression régulière « 3 mots de 2, 5 et 4 lettres ». Cette expression régulière marcherait aussi sur « le chat mange », car il n’est pas écrit que la taille des mots doit être dans un ordre précis (même s’il est tout à fait possible d’en faire une avec cette condition).

Un autre exemple, déjà plus concret, c’est par exemple l’expression régulière « 5 groupes de 2 chiffres, séparés du suivant par un tiret ». Vous devinez ce que représente cette expression ? C’est un numéro de téléphone comme « 01-12-23-34-45 ».

Là où ça devient très amusant, c’est quand on doit dire à l’ordinateur qu’un numéro de téléphone peut être composés de groupes de chiffres séparés par des tirets ou des espaces ou des points ! Les regex permettent de telles actions. Ils permettent même de détecter si le numéro commence par 06 (un portable), 08 (un numéro surtaxé) ou un numéro étranger !

En programmation, on a souvent recourt des expressions régulières. Par exemple, il n’est pas rare que les liens que vous cliquez sur une page web sont produits par des regex : le programme qui génère la page cherche les liens en appliquant l’expression régulière « une suite de caractères qui commence par “http://” ou “https://” ».

Évidemment, les expressions régulières dans un programme ne sont pas des phrases comme « 5 groupes de 2 chiffres, chaque groupe est séparés du suivant par un tiret », mais on écrira plutôt ça :
([0-9]{2}-){5}

Si on analyse ce bout de code, on voit effectivement [0-9], qui correspond au fait qu’on cherche des chiffres de 0 à 9, le {2} qui correspond au fait qu’on cherche des chiffres deux par deux, le tiret, qui désigne le tiret après un groupe de deux chiffres, et le {5} qui signifie qu’on cherche 5 fois un groupe de deux chiffres suivi d’un tiret.
En réalité, cette regex ne marchera pas sur 01-12-23-34-45, car le dernier groupe n’est pas suivi d’un tiret. On écrira plutôt ceci :
([0-9]{2}-){4}[0-9]{2}
(qui signifie « 4 groupes de deux chiffres + un tiret, et un groupe de deux chiffres à la fin, sans tiret »).

Comme on peut le constater, les regex deviennent rapidement compliquées à lire. En général, le programmeur commence par en écrire une partie et ajoute des morceaux au fur à mesure qu’il écrit sa regex, tout comme on écrit la phrase « 5 groupes de 2 chiffres, chaque groupe est séparés du suivant par un tiret » : on commence par traduire le terme « chiffres », puis on dit « en fait, il y en a deux », puis « je veux aussi un tiret », et enfin « je veux tout ça 5 fois de suite ».

Les regex permettent de détecter des choses (des numéros de téléphone dans une page, par exemple). Il permet à l’ordinateur de mettre un sens sur une suite de caractères (il sait que tout ce qui correspond à 5 groupes de 2 chiffres est un numéro de téléphone, et peut, si on lui ordonne, les rendre cliquables pour appeler le numéro en question).
Les regex sont utilisés partout, dans pratiquement tous les logiciels : Word arrive à souligner les liens, Firefox lit le code source de la page avec un parseur, qui contient des milliers de regex, VLC utilise également ça pour les fichiers de sous-titres, et tous les sites web : un site qui demande un numéro de téléphone ou une adresse email sait si ce numéro est correct ou pas grâce aux regex.


Tout ceci n’est qu’une petite introduction aux expressions régulières, destinée aux débutants. Si vous vous lancez là dedans vous verrez rapidement que les possibilités sont énormes, mais également de toute la complexité des expressions représentant une regex.
Vous saurez alors dire à quoi sert ceci :
[a-z]{1,}@[a-z]{1,}\.[a-z]{1,3}
(ça détecte les emails du format simpliste « nomprenom@site.fr » — cette regex est à bannir cependant, car elle interdit des adresses avec des chiffres, des majuscules ou bien d’autres adresses valides…) ; ou bien ceci :
#<\s*/?\s*([a-zA-Z0-9-]+)(?: ((?:\s*\w+=(['\"]?)(?:(?!\g{3}).|(?:(?<=\\\)\g{3}))+\g{3})|(?:\s*[\w-\d]+=[^ >/]+))*(?:[\s\w\s]*))*/?>#S
(qui je l’avoue est vraiment très compliquée, mais qui détecte des choses simples : des attributs dans les balises HTML.

Quelques liens d’aide :
  • Regexper, qui permet de dessiner graphiquement ce que font les regex, par exemple pour le numéro de téléphone : http://www.regexper.com/#%28[0-9]{2}-%29{5} ;
  • Regulex, même genre que Regexper (le même outil est également hébergé chez moi, si vous avez peur d’aller dehors :p) ;
  • un mémo sur les regex ;
  • un autre mémo, celui du site-du-zero.
  • la Regex complète pour valider les emails, toutes les emails, rien que les emails ;
  • une regex étonnement simple pour tester si un nombre est premier ;
  • une page que les références arrière/avant dans les regex (c’est un domaine assez avancé des regex) ;
  • HiFi Regex Tester : un outil en ligne pour tester en temps réel le résultat d’une regex quelconque sur un texte quelconque ;
  • un jeu style Sudoku avec des regex.

The Pirate Bay et le trafic p2p après sa fermeture…

Jeudi 18 décembre 2014

— 4 décembre : il est annoncé que The Pirate Bay sera bloqué en France ;
— 5 décembre : quelques centaines de méthodes de contournement du blocage sont publiées, dont certaines par le PPF ;
— 9 décembre : la police Suédoise a fait un raid contre les serveurs et le site lui-même est définitivement hors-ligne.
— 14 décembre : IsoHunt remet en ligne une archive du site et qui fonctionne.

Le site The Pirate Bay a été bloqué dans une dizaine de pays au fil des années, mais ça n’aura jamais servis à rien : quelques pays (dont les Pays-Bas, en 2014) ont même suspendu le blocage à cause de l’inefficacité, ce qui n’a pas empêché les lobbies du show-biz de continuer à dire que The Pirate Bay était responsable de la faim dans le monde…

Pour terminer, voici (en gros) l’évolution du téléchargement illégal avant et après la fermeture du site (graphique plus complet disponible ici) :


Efficace, non ?
Je trouve aussi.
Mais la lutte contre ce site sera tout de même continuée avec l’argent public (ne déconnons pas : les artistes ont faim, c’est pour ça qu’ils vont tous en Suisse ou en Belgique : il y a plus à manger là-bas).

Et concernant les « méfaits » de The Pirate Bay sur l’industrie du show-biz, des pratiques mafieuses de cette dernière, ou de l’inutilité du combat entre les deux, je vous laisse lire ça, ça, ça, ça, ça, ça, ça, ça, ça, ça, ça

Que signifie Noël pour un non-croyant athée comme moi ?

Lundi 08 décembre 2014

Pour ma part, il n’a jamais été question de Jésus, de crèche de religion ou de messe.
C’est juste une fête avec des cadeaux, de la neige, un sapin, un père Noël, du chocolat et de la bouffe. Voilà.

Parce que je ne suis pas croyant, ça m’interdirait d’avoir le droit de m’amuser ? Non.
Parce que je "fais partie" des non-croyants, dois-je refuser de participer à l’euphorie collective ? Non. D’ailleurs, ceux qui pensent que je devrais répondre « oui », ils me font penser à des courants sectaires, où tout est imposé et où on n’a le choix de rien…

Je suis de ceux qui pensent que tout le monde fait bien comme il veut : que ce soit Noël, Hhanouka, le Ramadan ou quoi que ce soit d’autre.
Et surtout, c’est pas parce que la fête est d’origine religieuse que tous ceux qui s’amusent ce jour là sont obligatoirement des extrémistes religieux.

Oui Noël, tout comme le nouvel an, sont des fêtes d’origine religieuse, mais franchement, est-ce un crime ? Quel pourcentage des enfants qui reçoivent des cadeaux ou des gens qui se retrouvent pour manger un repas vont à la messe spécialement parce que c’est Noël ?
Je pense que Noël de nos jours n’est qu’une fête, dénuée d’esprit religieux pour la plupart des gens : pour ces gens là comme pour moi, il s’agit de la fête des cadeaux ou du chocolat.

S’il fallait que tous les non-croyants retirent tout ce qui d’origine religieux de leur vie, il ne resterait pas grand chose : par exemple, les jours de la semaine sont nommés à partir des divinités romaines ou encore tous les livres sont imprimés grâce à une invention destinée à imprimer avant tout les textes religieux, ou enfin le terme « ordinateur » dont l’étymologie évoque la religion.

Concernant la laïcité de l’État (ça par exemple), je ne suis pas vraiment choqué que les communes financent la mise en place des décorations de Noël : comme je l’ai dit, Noël est une fête qui n’a actuellement de religieux que son origine. Il serait bien plus scandaleux que l’État interdise la célébration de fêtes de quel-qu’origine que ce soit, et ça, ce n’est pour le moment pas le cas. Être laïque ne signifie pas être athée.

À mon avis on n’avancera à rien en interdisant tout signe religieux : ça ne fera qu’attiser la peur et les haines raciales. Il serait bien plus bénéfique culturellement et humainement d’autoriser à tout le monde tous les signes qu’il souhaite (dans la limite du respect), sans pour autant laisser les institutions publiques prendre partie de façon active.

image de Jennifer Lamb

Tout naturellement.

Mercredi 03 décembre 2014

Regardez ça :



C’est une pomme.
C’est bon, c’est beau, c’est naturel.

Maintenant regardez ça :



C’est du lait.
C’est bon, doux, c’est blanc, c’est naturel.

Et ça :



C’est un lapin mort dans la gueule d’un jaguar. La lapin a été tué sans qu’il ait demandé quoi que ce soit à personne. La mort du lapin laisse probablement tout un terrier de bébé lapins sans parents, destinés à une mort très proche dans le froid hivernal. C’est la nature.

Ou ça :



C’est un serpent corail. Il est joli, hein ? Pourtant son venin est un violent neurotoxique et l’un des plus mortel au monde. Ce serpent pourrait vous tuer. Mais c’est naturel, non ?

Et enfin ça :



C’est de la pechblende, un minerai contenant de l’uranium. C’est ce minerai qui a (en grande partie) été responsable de la mort — entre autre certainement — de Marie Curie, qui a passé une partie de sa vie à étudier la radioactivité.
Ce minéral est donc assez dangereux, radioactif et hautement toxique. Mais c’est une roche naturelle.


Pourquoi tout ça ?
Parce qu’il faut bien dire à un moment ou à un autre que rajouter « naturel » à un ingrédient ou un produit ne suffit pas à rendre ça bon pour la santé.

Si je vous donne un bout de pechblende radioactif avec du venin du serpent corail et un tigre affamé en vous disant sans mentir que « c’est naturel », vous en mangeriez ?

Alors : que vous soyez Mc Donalds, Nutella ou n’importe quelle autre industrie agroalimentaire ou pharmaceutique, arrêtez de dire « c’est naturel » ou « c’est bio » pour vendre votre bazar. Ça sert à rien, ça ne justifie rien du tout et ça ne veut absolument rien dire concernant l’impact sur ma santé. Si vous voulez vraiment coller des étiquettes partout, ajoutez plutôt « merde » ou « cancérigène » sur les produits qui le sont.

Merci.

Navigateurs : deux alternatives à Ghostery

Lundi 17 novembre 2014

Ça fait des années que j’utilise les bloqueurs de publicité et de trackers, notamment à cause de ça. J’utilisais Ghostery pour les trackers.

Mais pour ceux qui n’aiment pas, en voici deux autres, qui sont Libres :

  • Disconnect, disponible sur tous les grands navigateurs ;
  • Privacy Badger, produit par l’EFF et disponible sur Firefox et Chrome.

Personnellement, j’aimais bien Ghostery, mais son côté non-libre me dérangeait un peu. Disconnect est pas mal mais à mon avis pas assez personnalisable. Privacy Badger n’est pas plus complet de ce côté là (même moins), mais il permet de choisir le blocage total des éléments d’une page ou seulement des cookies (ce qui permet par exemple d’avoir les plugins Facebook dans une page sans les cookies persistants). En revanche il bloque bien moins de choses (il ne semble ainsi pas bloquer Gravatar).


Concernant le bloqueur de publicités, j’avais toujours utilisé AdBlock Plus (ABP), mais son passage du côté commercial de la force m’a envoyé voir AdBlock Edge : c’est ABP comme il était avant : il bloque les publicités indépendamment du fait que les sites le payent ou pas.

Facebook a placé des micros sur tous les sites et ne s’en cache même plus…

Samedi 15 novembre 2014

Bam, c’est officiel : maintenant que les boutons Facebook sont implantés sur une vaste majorité des blogs et de sites, Facebook va s’en servir pour vous suivre à la trace et vous profiler.

Oh, ne vous leurrez pas : Facebook fait ça depuis très longtemps, mais là il ne s’en cache même plus. Comment croyez-vous qu’ils se fassent tous ces milliards ? Et j’imagine que la CNIL (lol) ne peut rien faire…

Facebook déclare clairement qu’il vous espionne partout où vous dit bien-sûr que c’est « pour votre bien » et que c’est « pour vous offrir des publicités ciblées ». Quelle charmante attention. Et si je ne veux pas de publicité du tout, je peux ?

Oh, pour les fan de Google ou de Twitter, n’ayez pas peur : ils font exactement la même chose, avec le même type de plugin « +1 » ou « retweet » partout. Ça vous dit quelque chose ces icônes :

capture d’écran des plugins des réseaux sociaux
La solution ? Installer les modules comme Ghostery ou AdBlock Edge (les liens sont pour les modules de Firefox, mais vous trouverez les même pour Chrome ou les autres) : ça bloquera tous les spywares et les publicités en prime (pour AdBlock Edge). Il est intolérable que les sites web laissent Facebook et les autres nous espionner comme ça.

Au passage, si vous avec un blog et que vous voulez laisser vos lecteurs partager votre article en un seul clic, vous pouvez le faire avec de simples liens sans tracker.

Source. Un site lui-même bardé avec près de 14 pisteurs différents dont ceux de Facebook. M’enfin.

ÉDIT : L’annonce officielle est .

Firefox a 10 ans !

Dimanche 09 novembre 2014

image d’un panda roux dans un arbre Le navigateur Firefox, de Mozilla a 10 ans depuis la version 1.0 (on en est à la version 33 à ce jour).

Bon anniversaire, Firefox !

Pour rappel, Firefox est l’un des seuls grands navigateurs qui milite en faveur d’un web ouvert et libre. Tous les autres (Internet Explorer, Chrome, Safari…) ne sont pas libres et sont là uniquement pour permettre à des entreprises de faire du profit.

Si le web n’était pas ouvert comme il l’est actuellement (mais pour combien de temps encore ?), alors ce site n’existerait pas. Beaucoup de sites n’existeraient pas. En fait, l’immense majorité des sites web n’existeraient pas, car il aurait fallu débourser plusieurs millions pour avoir le droit d’apprendre à coder et à faire des sites web (comme c’est le cas pour le plugin vidéo H264, par exemple, que seuls quelques navigateurs ont le droit d’utiliser parce qu’ils ont les moyens de payer).

Heureusement, le web est quand même ouvert aujourd’hui.

La fondation Mozilla, au moyen de Firefox et de ses autres projets est une des rares entreprises à essayer de garder le web ouvert et accessibles à tous.

Essayez d’y penser et d’en tenir compte la prochaine fois que vous choisissez un navigateur, pour vous ou pour quelqu’un d’autre. L’avenir du web en dépend…

image de Louis Engival

Comment nettoyer son ordinateur portable ?

Samedi 08 novembre 2014

Un ordinateur, ça s’entretient. À deux niveaux : au niveau logiciel (suppression des logiciels obsolètes, des fichiers temporaires, défragmentation, etc.), mais aussi au niveau matériel : oui, il faut parfois passer un coup de balai, sinon on risque d’en arriver à quelque chose comme ici !

Vu que je vais parler du démontage d’un ordinateur portable, il peut-être intéressant de disposer du guide de démontage de votre PC : en voilà une énorme liste. Il peut-être intéressant de l’enregistrer sur votre téléphone ou un autre ordinateur que celui que vous allez démonter.

La première chose à faire, c’est déjà de débrancher et d’éteindre son ordinateur.
Pour commencer, retournez l’ordinateur (clavier vers le bas) et secouez-le doucement en tapotant sur le dessous histoire de faire tomber les miettes et autres poussières se trouvant entre les touches du clavier. Il peut être aussi utile d’utiliser un petit aspirateur.

Ensuite, selon votre ordinateur, il sera possible de le démonter plus ou moins entièrement. Le plus important ici, c’est d’arriver à accéder au ventilateur de l’ordinateur : il constitue en effet en un aspirateur à toute la poussière qui traîne dans le bureau, et il faut absolument le nettoyer au moins une fois par an, surtout si vous l’utilisez souvent.

L’ordinateur avec lequel je fais ce guide est un Packard Bell EasyNote MH36. Il est facilement démontable, car il suffit de démonter la batterie puis de dévisser toutes les vis que vous voyez sous l’ordinateur, y compris les deux petites vis qui se trouvent sous la batterie :

dévisser un ordinateur portable Packard Ball MH36
Ensuite, vous pouvez soulever le capot, en faisant attention aux fils qui peuvent être reliés du capot à la carte mère (c’est le cas du EN MH36 qui a son fil d’alimentation accroché au capot : il suffit de pivoter le capot sans trop le soulever, car on veut juste accéder au ventilateur).

Pour retirer le ventilateur, il faut dévisser les vis qui le maintiennent en place (en rouge), ainsi que le fil qui l’alimente (en bleu). On peut aussi dévisser le caloduc et son radiateur car il est particulièrement encrassé ici :
démonter le ventilateur du Packard Ball MH36
Le nettoyage peut se faire selon les cas avec : un coton-tige légèrement humide, un pinceau, un petit compresseur à air. N’y allez pas à la lance à haute pression non plus, ça reste de l’électronique très fragile… Le mieux est d’utiliser un coton-tige humide : l’eau piégera la poussière, ce qui ne peut pas être mal si vous faites le nettoyage à l’intérieur de la maison.

Sur le EN MH36, la grille n’est reliée à aucun composant électronique. On peut donc la passer sous un filet d’eau, et utiliser un pinceau ou une vieille brosse à dent pour frotter. N’oubliez pas sécher longuement et soigneusement les parties mouillées après ça (en le posant plusieurs heures sur un radiateur par exemple ; un sèche cheveux risque au contraire de souffler de l’eau dans les recoins) :

radiateur d’ordinateur portable encrassé
Vérifiez que toutes les sorties et ouvertures sur la coque de l’ordinateur sont propre : grilles d’aération diverses, lecteur CD, lecteur de carte mémoire, ports USB… Si c’est le cas, vous pouvez ré-assembler et revisser tout ça, en faisant attention à bien rebrancher les câbles et à ne pas forcer sur les vis : le vissage doit être simple et les vis doivent être en face des trous.

Une fois le PC assemblé, on peut nettoyer le clavier et l’écran : utilisez pour cela un chiffon légèrement humide. Le mieux ce sont les tissus doux utilisés pour essuyer les lunettes : trempez-les d’eau tiède et essorez-les fortement : ils ne doivent être qu’humides. Essuyez ensuite tout l’ordinateur, de l’écran au clavier en passant pour la coque avec un chiffon sec en évitant les ports USB et les autres prises de branchements. Enfin, attendez quelques instants que toute l’humidité se soit évaporée.

Rebranchez enfin la batterie et le câble d’alimentation.

La SACEM : « je veux être dédommagé pour un préjudice fictif ! »

Mercredi 05 novembre 2014

logo du copyreich Non mais regardez-moi ça :

Les titulaires de droit ne peuvent réagir qu’a posteriori aux contrefaçons commises […]. Ils ne peuvent en revanche, avant toute notification d’un contenu illicite, ni obtenir la réparation du préjudice subi du fait de l’utilisation des œuvres et objets protégés, ni négocier auprès de ces intermédiaires sur un plan contractuel une rémunération en contrepartie de ladite utilisation.

En gros, ils se plaignent de ne pas pouvoir être payés à cause d’un crime qui n’a pas été commis, ni encore été commis selon eux, et de seulement avoir le droit de demander réparation après le préjudice.

C’est moi où c’est là une logique de gros connards bourrés-de-fric-mais-pas-encore-assez ?

Si moi j’annule un voyage important demain car il est possible que je me fasse écraser par une voiture juste avant, et que je demande 1'000'000€ pour le préjudice subit du fait d’avoir annulé le voyage, on va me prendre pour un malade, non ? Alors pourquoi pas eux ?
Et pourquoi (bordel de merde) j’ai le sentiment que ces abrutis auront encore une fois ce qu’ils veulent, c’est à dire une taxe sur ces préjudices fictifs ?

Y a plein de monde qui utilise un service d’hébergement pour faire des backup de leurs fichiers, y compris ceux qui sont sous licence, y compris ceux copiés à des fins de copie de sauvegarde, chose prévue par la loi (en faveur de l’utilisateur) et chose pour laquelle ces connards d’ayants droits ont déjà été payé plusieurs fois (par une taxe sur les disques dur, ordis, téléphones, routeurs, etc. — car oui, ils sont payés par nous pour que nous puissions user d’une liberté que la loi nous accorde)…

Que fait la Hadopi contre ça, sérieux ? Que fait la police contre ces voleurs ?

Mais bien-sûr : une (deuxième) taxe sur l’encre d’impression pour financer le centre national du livre

Vendredi 24 octobre 2014

Un livre ouvert dans l’herbe Ils ne savent plus quoi inventer, au gouvernement.

La ministre veut une taxe (de plus, car il y en a déjà une, en fait) sur les consommables d’impression pour financer le centre national du livre.

La bonne blague.
C’est pas comme si l’encre d’impression était déjà trois fois plus chère que le Chanel n°5, deux fois plus chère que le sang humain (celui des hôpitaux), 1000 fois plus que l’essence et ainsi beaucoup plus que pratiquement n’importe quel autre fluide.

Après vient la taxe… Meh. Ce ne serait pas plutôt l’argent public qu’il faille utiliser pour cela ? Il n’y en a plus ? Ben vous n’avez qu’à demander aux députés de payer leurs putain d’impôts, comme tout le monde, vu qu’ils ne le font pas, pour une bonne proportion, ça vous fera de l’argent.

Sérieux, est-ce qu’ils vont aussi taxer les écrans tactiles pour sauver les constructeurs de souris d’ordinateur ?
Est-ce qu’ils vont taxer les écrans plats pour financer les constructeurs de tubes cathodiques ?
Est-ce qu’ils vont taxer les stylos pour éviter la mort des éleveurs d’oies, vu que le business des plumes d’oies doit être en train de s’effondrer : on vient tout juste d’inventer le stylo bille en 1919, le changement va être difficile, vu que certaines institutions Françaises semblent encore en être restées là (je me demande s’ils ne sont sont pas même restées à Louis XVI, à bien y penser).

Rhaa®…

image de Floringorgan