Firesheep sous linux !

Firesheep une extension pour Firefox permettant de récupérer les cookies de certains site en particulier, s'ils circulent en clair sur votre réseau. Diffusée il y a quelques semaines l'extension à faire rapidement beaucoup parler d'elle. Celle-ci fonctionne pour les quelques réseaux wifi non chiffrés existant si votre carte wifi supporte le mode promiscuous mais également bien entendu lors d'un man-in-the-middle sur tout autres réseaux.

Jusque la supportant que Macos X et Windows, quelques personnes on rapidement ajouté le support de Linux à l'extension donc le code source était disponible.

Une des solutions consiste à télécharger le fichier .xpi à partir du lien suivant : http://www.mediafire.com/?i929q12gzdby92h et l'ouvrir dans firefox.

Une fois l'extension firefox installée il faut se placer dans le sous répertoire de l'extension dans votre repertoire home:

~/.mozilla/firefox/votreprofile.default/extensions/firesheep@codebutler.com/platform/Linux_x86-gcc3/

et executer ensuite sudo ./firesheep-backend –fix-permissions  pour permettre à l'extension d'utiliser vos interfaces réseaux.
Une fois firefox lancé vous pouvez alors sélectionner l'interface réseau dans le menu de l'extension puis démarrer une capture à partir du menu "Affichage -> Panneau lateral -> firesheep"

Source: https://github.com/codebutler/firesheep

 

(Attention l'extension utilise bien un module en root pour fonctionner, la commande dans le repertoire .mozilla consiste à lui donner le flag de permission le lui permettant)

Plus de performances en PHP: coder salement ?

En me penchant un peu sur les performances que l'on peut obtenir en PHP, je suis tombé sur cet article ( en anglais) fort intéressant. Il propose de comparer les différentes performances obtenu sur 2 tests à l'aide à chaque fois de 3 différents codes réalisant la même chose mais l'un utilisant de la programmation orientée objet et un autre utilisant une fonction. Les résultats sont assez explicites cependant l'article n'indique pas quelle version de php est utilisée et un " copyright 2003 "  en bas de page ne laisse rien présager de bon. J'ai donc décidé de reexecuter les tests avec le moteur PHP 5.3:

J’ai donc simplement réutilisé les codes sources proposés:

Test #1:

POO Fonction Rien
class test function one() for ($i=0; $i<1000000; $i++)
{ { {
function one() { return 1; $cnt+=1;
return 1; } }
} for ($i=0; $i<1000000; $i++)  
  {  
}    
  $cnt+=one();  
for ($i=0; $i<1000000; $i++)    
{ }  
$testclass=new test();    
$cnt+=$testclass->one();    
}    

La machine utilisée pour le test est un core 2 duo T5550 avec 2 Go de mémoire vive.

Test #1: POO Fonction Rien
1 7,788 5,168 0,317
2 7,542 5,085 0,315
3 7,528 5,172 0,316
4 7,694 5,034 0,318
5 7,518 5,009 0,316
6 7,560 5,163 0,315
7 7,692 4,955 0,313
8 7,537 4,969 0,313
9 7,518 5,006 0,319
10 7,565 4,948 0,315
Moyenne 7,594 5,051 0,316

Les résultats de premier test sont très proche de ceux de l’article originel. On peut voir que le code PHP Objet met en moyenne 2,5 secondes de plus que la simple fonction pour s’exécuter. En fait ils sont même pire que sur l’article originel. On peut objecter que ma machine est moins performante puisqu’elle ne tourne qu’à 1,66 GHz.

Cependant le delta entre le code OOP et la fonction s’est réduit, ce qui semble montrer que le temps d’exécution d’une fonction a augmenté sur les dernières versions de PHP.

Test #2:

POO Fonction Rien
class test function one() for ($i=0; $i<100000; $i++)
{ { {
     
function one() return 1; $cnt+=1;
{   $cnt+=1;
  } $cnt+=1;
return 1;   $cnt+=1;
  for ($i=0; $i<100000; $i++) $cnt+=1;
} { $cnt+=1;
    $cnt+=1;
} $cnt+=one(); $cnt+=1;
  $cnt+=one(); $cnt+=1;
for ($i=0; $i<100000; $i++) $cnt+=one(); $cnt+=1;
{ $cnt+=one();  
  $cnt+=one(); }
$testclass=new test(); $cnt+=one();  
$cnt+=$testclass->one(); $cnt+=one();  
$cnt+=$testclass->one(); $cnt+=one();  
$cnt+=$testclass->one(); $cnt+=one();  
$cnt+=$testclass->one(); $cnt+=one();  
$cnt+=$testclass->one();    
$cnt+=$testclass->one(); }  
$cnt+=$testclass->one();    
$cnt+=$testclass->one();    
$cnt+=$testclass->one();    
$cnt+=$testclass->one();    
     
}    

Comme l’indique l’article source, la principale différence de ce second test est de chercher à simuler l’exécution d’une dizaine de fonction en même temps plutôt qu’une seule. Normalement le code orienté objet doit mieux s’en sortir puisque la classe n’a besoin d’être initialisée qu’une fois pour tout les appels plutôt qu’une fois par appel comme dans le premier exemple:

Test #2: POO Fonction Rien
1 5,7443 4,7801 0,0948
2 5,6938 4,7601 0,0959
3 5,7112 4,9380 0,0942
4 5,8177 4,7591 0,0937
5 5,7281 4,9040 0,0934
5 5,8531 4,7233 0,0955
6 5,6975 4,7585 0,0952
7 5,6994 4,8630 0,0954
8 6,3116 5,3563 0,0967
9 5,6867 4,8563 0,0952
Moyenne 5,7943 4,8699 0,0950

Et effectivement on peut voir ici que le code OOP s’en sort mieux le delta est ici en moyenne de légèrement moins d’une seconde avec la fonction. En revanche encore une fois les résultats sont terriblement moins bon que sur les anciens tests. Là ou sur l’article originel le code OOP était 200% plus rapide, il ne l’est que 130% ici.

Et si PHP a amélioré ses performances ce ne semble pas être sur l’exécution des fonctions qui s’exécutaient quand même 2,5 fois plus vite avant entre le test1 et le test2 pour seulement 2 fois plus vite ici.

Par contre, l’exécution en dehors d’une fonction a explosé ! 400% plus rapide que sur les anciens tests !

Qu’en conclure ?

Certainement pas qu’il faut se passer de POO et de structures fonctionnelles, mais peut être en revanche d’éviter d’utiliser ces fonctions à l’excès et peut-être les éviter dans les rares cas ou l’on a besoin de performance et ou on peut se le permettre. On peut aussi dans ce cas se tourner vers quelque chose comme hiphop-php , xcache , eaccelerator ou même carrément witty. Egalement pour améliorer les performances de vos scripts je vous invite à consulter le site fort intéressant: http://www.phpbench.com

Ce qui est sur c’est que PHP à encore des progrès à faire quand à la gestion de la POO.

La loi HADOPI

Bonjour à tous.

Comme le titre l'indique, cet article concerne la loi HADOPI. Débat qui trouve sa place sur ce blog puisque les points que nous aborderons au cours de ce billet parlerons de liberté, et plus particulièrement celles visées par cette loi totalement obsolète d'une part, et complètement inutile d'autre part. Pour ceux qui ne sont pas trop au courant sur la "chose", nous allons faire une petite piqûre de rappel.

HADOPI, kézako ?

HADOPI (ou "Loi Création et Internet", ça fait moins peur) est une loi visant à réprimander les pirates (ceux qui téléchargent illégalement films, musiques … ) en les privant de leur accès internet pendant 1 an (qu'ils continuent de payer) ainsi qu'en leur adressant une grosse amende bien lourde.

Rappel du contexte

Origines

Depuis plusieurs années, les majors affirment que certaines industries vont très mal. Pour eux, c'est le piratage qui affectent les ventes de CD et de DVD, en aucun cas, ce sont les prix exorbitants pratiqués pour ces deux support. Du coup, on affirme haut et fort que les pirates menacent les artistes, et l'état français (Christine Albanel à vrai dire) demande à Denis Oliviennes, qui est alors patron de la FNAC, d'établir une implémentation de la riposte graduée qui serait compatible avec la décision du Conseil Constitutionnel.
Le gentil patron, pas du tout influencé par sa position de patron, propose de mettre en place une autorité administrative, qui sera en charge de prévenir les "contrevenants" via des lettres d'avertissements, puis finalement, de couper la connexion internet de ce dernier s'il venait à récidiver. Nous sommes alors en novembre 2007, Denis Oliviennes présente son rapport qui à l'air de plaire. C'est ainsi que  les "accords Oliviennes", renommés plus tard "accords de l'Élysée", reprendront une partie des propositions du rapport de D.O.

La route est longue

Il faut maintenant faire voter cette loi, c'est donc en toute logique que le gouvernement, décide de déclaré l'urgence pour celle-ci. L'urgence permet ainsi au texte de loi de n'être lu qu'une seule fois par les différentes instances qui doivent donné leur accords pour que la loi soit adoptée. Nous sommes en octobre 2008, le texte est proposé au sénat, l'état d'urgence déclaré, les débats sont courts et le texte est adopté (par le Sénat) le 30 octobre 2008.

Deuxième étape, c'est l'Assemblée nationale, nous sommes à présent en mars 2009. Le texte y est examiné puis, à la suite de modification, il est adopté par l'Assemblée nationale début avril. Contrairement à ce que l'on pourrait croire, le texte ne sera pas à nouveau soumis au Sénat, l'état d'urgence fait que le texte se passe de re lecture (malgré les modifications). En revanche, une commission spéciale devra faire en sorte de ne faire qu'un seul texte. C'est alors que voit le jour la "Commission mixte paritaire". Composée de 7 députés et 7 sénateurs, ils retravailleront le texte pour le soumettre une fois de plus au votes.

Et là c'est le drame. Le texte est adopté par le Sénat mais l'A.N le rejette. Les choses s'accélèrent et le texte est apparaît une nouvelle fois le 29 avril 2009 devant l'A.N. Le texte a subit pas moins de 500 amendements dont plusieurs centaines votés un peu à la va vite (une vingtaine de minutes), cadence très vite dénoncée par Christian Paul. Le 12 mai 2009, le texte est finalement voté et l'A.N l'adopte.
Le 13 mai (c'est à dire le lendemain), le Sénat l'adopte à son tour, le texte a finalement réussi à passer.

Et les droits de l'homme dans tout ça

De graves atteintes à des lois constitutionnelles sont relevées dans le texte, nous sommes alors en mai 2009. Sont dénoncés entre autre l'atteinte à la liberté d'expression et de communication, l'accès aux services qui le permettent et surtout, au droit de se défendre. En effet, le texte stipule que c'est à l'accusé de prouver qu'il n'a pas téléchargé illégalement, or c'est actuellement impossible de prouver une telle chose. De plus, le fait de déléguer le pouvoir de couper l'accès à Internet à une autorité administrative n'est pas recevable. De ce fait, le texte de loi est en partie censuré ; en partie puisque, bien que le premier volet soit jugé irrecevable, le second quand à lui est acceptable à condition que la CNIL pointe le bout de sont nez afin qu'elle donne son autorisation pour la collecte et le traitement des données qu'implique la loi.

On aperçoit déjà les limites de cette loi puisque les principaux articles qui étaient les fondations de cette dernière se voient censurés. Le coup est dur, mais c'est sans compter sur la bravoure et l'enthousiasme de notre président (Nicolas Sarkozy) qui aura la joie de pouvoir mettre en application les articles non censurés. Nous sommes le 12 juin 2009, les internautes commencent à réellement se mobiliser.

 

Je m'arrête là pour cette partie. Le texte sera complété par le "projet de loi complémentaire", pourtant très intéressant, mais la démarche ressemble très fortement à celle du premier texte, seulement la réaction de certains internautes et politiques vont permettre de faire parler de la loi un peu partout. Les lettres aux députés fusent dans tous les sens, les contestations sont nombreuses et les articles publié sur le net en parlent de plus en plus.

Mon avis

Je me suis intéressé un peu tard à toute cette histoire. Bien qu'étant ancré depuis fort longtemps aux technologies du web et à l'informatique en général, la politique est un monde qui me repousse assez. Mais ce coup-ci, on a pu trouvé du contenu très abordable pour les "noobs" (à comprendre nouveaux) comme moi, et pour une fois, la politique me semblait intéressante.
J'ai donc commencé à surfer sur les blogs qui en parlait, je suivait un peu plus chaque jour l'évolution de la loi et comment elle pourrait nous pourrir la vie. J'ai très vite réalisé l'inefficacité de cette loi mais surtout, l'incompétence de la plupart des politiques en matière de nouvelles technologies (pour n'en citer qu'une : "OpenOffice intègre un très bon anti-virus").

Pour moi, c'est une loi inacceptable, qui n'est là que pour permettre aux majors, ceux qui n'ont pas su prendre le virage du web correctement et se retrouvent actuellement dans le fossé, de continuer de se remplir les poches. Ils prétendent faire ça pour les artistes, que le piratage va tuer l'industrie de la musique et du cinéma, mais aucune étude sérieuse ne voit le jour pour le prouver, et les études menées par certains amènes au contraire. Le constat est que bien souvent, ceux qui téléchargent le plus, sont aussi ceux qui vont le plus au cinéma, vont à beaucoup de concerts, s'achètent assez fréquemment des CD et DVD.
Ces gentils majors, prétendent que cette loi va sauver l'économie de la culture, mais c'est le modèle économique de la culture qui est obsolète et qui au mieux, sera un frein à la technologie. L'offre légal sur internet n'a pas été développée correctement, les discographies de certains artistes ne sont plus édités en CD et ne sont pas disponibles en téléchargement légal : Mais comment vais-je bien pouvoir me les procurer ?

Je ne fait pas là l'apologie du téléchargement illégal, mais si la culture était basée sur le partage, l'offre serait alors plus pérenne, et pourrait, à terme, générer plus de revenus, pas pour les majors certes, mais pour les artistes. Il y a des exemple de réussite en matière de musique libre, des artistes qui vivent grâce à la musique libre. Le fait de pouvoir télécharger, écouter, partager, modifier une oeuvre, ça me motive personnelle