Y a site web et site web voire PHP et PHP

Depuis toujours le métier de développeur web a été plus ou moins méprisé. Ce qui revient souvent dans les conversations c’est les phrases comme « Ah mais donc en fait je peux moi aussi faire mon site web » ou « Ah vous faites pas le contenu, vous faites quoi alors ? ». Je vais donc aujourd’hui un peu éclaircir le sujet et répondre à ces questions qui ne rendent pas hommage à ceux qui travaillent durement pour vous servir.

La première chose à savoir c’est à mon sens que c’est le contenu qui fera le succès d’un site. Et les équipes qui rédigent le contenu des sites sont clairement la clé de cette réussite. Toutefois pour y parvenir il leur faut ce fameux site web, site internet, blog peu importe la forme en fin de compte. Ce qu’il faut comprendre c’est qu’un site web ce n’est pas seulement l’affichage de ces textes et images. C’est aussi tout un système qui permet de gérer ce contenu, mais qui gère également les auteurs, la mise en page, la mise en avant de certains éléments, la possibilité de changer certains éléments, de gérer des sondages, la publication du contenu en fonction des auteurs, encoder de la vidéo en flash et j’en passe. C’est une véritable suite bureautique en ligne.

Comme je viens de vous le montrer un site web ne se limite pas à l’affichage du contenu, outre la gestion des contenus on trouve également des fonctionnalités propre à chaque site, comme comparer des produits, calculer des couts de revient, souscrire à un contrat, répondre à un sondage, donner son avis sur le contenu, imprimer le contenu, publier son propre contenu un tas de fonctionnalités qui ne sont pas simplement de l’affichage de contenu mais qui demande des calculs et de la gestion de droit en fonction des utilisateurs par exemple. C’est toutes ces fonctionnalités qui permettent de faire un site internet.

Ou est ce que je veux en venir ?

C’est assez simple en fait, le métier de développeur web pourrait s’apparenter à celui de pilote de rally ou de chirurgien. En effet, si le web est accessible à tout le monde et qu’il existe des solutions clés en main pour créer son site internet nous sommes loin de ce qu’est notre métier, ou en tout cas ce qu’est le mien. Dans toute profession ou discipline il existe des niveaux. Ainsi ce n’est pas parce qu’on a le permis et qu’on sait conduire qu’on est Sebastien Loeb, de même ce n’est pas parce que l’on sais soigner une plaie ou même que qu’on a son brevet de secouriste qu’on est chirurgien. Et c’est encore plus complexe que ça il y a comptable et expert comptable, médecin et chirurgien, de même on a des intégrateurs, des développeurs et des ingénieurs au sein de notre métier. Et comme vous le savez à poste égal on a encore des différences de niveau entre les individus.

Vous devez commencer à comprendre que finalement faire des sites web ce n’est pas forcément si simple.

Je vais prendre un exemple plus concret, dans ma société (Opal CMS). Nos clients disposent d’un outils de gestion de contenu plus ou moins complet en fonction de leur besoin ça comprend la gestion de leurs documents comme des actualités à des dossiers multipages, la gestion de tous les types de médias, comme les images – avec la possibilité dans la partie administration de rechercher une image directement sur le net et de l’importer de façon transparente -, les fichiers audio, les fichiers vidéos. Pour certains ils ont la possibilité de tout simplement filmer ce qu’ils ont envie et d’envoyer le fichier sur le serveur. Notre outil transforme la vidéo en flash comme sur youtube ou dailymotion. Ils ont un système complet de workflow, c’est à dire de gestion du processus de publication, chaque utilisateur a des droits qui lui permet de signaler si son article est prêt à paraitre, alors qu’un autre utilisateur se chargera de le mettre en ligne. Certains clients ont des demandes particulières comme gérer l’import de flux RSS ou AFP de façon automatisée ou la possibilité de gérer des formules de calcul pour des applications particulières et d’autres la possibilité de gérer leurs commandes et leur stock. Je fais un peu de pub pour illustrer mon propos mais ça vous montre qu’un site internet ne se limite pas à afficher des actualités.On peut désormais utiliser le web pour gérer énormément de chose. Exemple très concret les opérateurs de téléphonie mobile gère la vente des téléphones et la souscription des contrats directement via des applications web.

Autres point important entre ce que monsieur tout le monde peut faire et ce que nous sommes amenées à faire, c’est travailler sur des applications scalable à haute performance. C’est à dire que l’application web est optimisée pour gérer beaucoup de demande, en effet entre un site personnel qui fait 10 visites par jour et des sites comme lemonde qui tourne plutôt autour du million de visites il y a une grosse différence. C’est pour ça que nous mettons en place des solutions performante et scalable, c’est à dire des solutions capable d’évoluer avec la demande qui seront capable d’être réparti sur des dizaines de serveurs de façon transparente pour le client et pour l’utilisateur sans que cela engendre des coûts pharaoniques.

Voila, vous en savez un peu plus sur ce que nous faisons ;) Rendons à César ce qui appartient à César et vive les développeurs et ingénieurs du web qui nous permettent à tous de profiter du contenu de chacun.

Oui une question ?

Pourquoi j’ai pas parlé de Google dans les applications web complexes ?

Je sais pas … :D

Bon surf ;)

Bonne pratique : les tableaux (<table>)

J’entame aujourd’hui une série d’article sur les bonnes pratiques à acquérir dans le développement web. On passera en revu ensemble les principales balises HTML à connaitre et leur bonne utilisation, cette série d’article vous permettra de faire le point sur des éléments dont on se sert tous les jours et parfois à mauvais escient. On va donc essayer ensemble de corriger nos mauvaises habitudes, et comme à l’accoutumée si vous avez des commentaires ou besoin de plus de précision n’hésitez pas je réponds même sur des articles anciens ;)

Je me suis posé la question par où commencer cette série d’article, je me disais que le plus évident était d’attaquer tout de suite les bonnes pratiques pour une bonne mise en page. En fait non car une mise en page complète nécessite d’avoir revu l’intégralité des balises pour faire les choses correctement. Donc je me suis dit je vais commencer par une balise qui a mauvaise réputation à tort. J’ai nommé mon ami <table>.

Mais qui est <table> ?!

<table> est un vieil ami à moi et vous le connaissez forcément si vous faites de la programmation web depuis quelques temps. Pour ceux qui ont commencé le web il y a un bon moment, ce bon ami qu’est <table> vous a rendu bien des services, y compris au tout début du web pour faire des mises en page. Mais ce n’est pas le but de <table>.

<table> a un seul but et unique but dans la vie. C’est d’afficher des résultats sous forme de tableau. <table> est tout simplement le petit frère d’Excel et autres cousins de la famille Tableur. Le seul problème c’est que <table> ne sait pas faire de calcul. Et notre nouvel ami ne sait faire QUE ça. Inutile de lui demander de vous aider dans la mise en page de votre site, il ne sait pas le faire, et quand il se plie à votre volonté de faire de la mise en page, vous subirez le courroux de l’effroyable Google et de vos visiteurs qui vous maudiront à juste titre.

Pourquoi <table> ne sait il donc pas faire autre chose ? Rectifions, pourquoi notre ami ne doit il pas faire autre chose ?

La réponse est pourrait se résumer ainsi : A chacun son métier.

On pourrait argumenter longuement sur les différences de temps de rendu – c’est à dire le temps d’affichage – d’une page structuré avec <table> contre d’autres balises que nous verrons plus tard, mais la différence devient de plus en plus minime par deux factures, la qualité des moteurs de rendu HTML et surtout la vitesse de calcul des processeurs. Si bien qu’on pourrait presque faire n’importe quoi ça irait aussi vite.

Alors pourquoi ne pas faire comme bon nous semble ?

La réponse est un poil plus subtile et ce décline en trois points. La première raison c’est pour conserver une indexation correcte par les moteurs de recherches. En effet dans un tableau Google va s’attendre à trouver des données, si vous lui servez des images ça risque d’être un peu la soupe à la grimace, et encore les moteurs de recherches savent gérer cette problématique. La seconde raison c’est pour la facilité de maintenance du code source et son évolution graphique. <table> n’est pas vraiment simple à modifier même si vous penser le contraire pour l’instant. Et enfin le dernier point et plus idéaliste, mais si on respecter tous les conventions on vivrait dans un web meilleur.

De toute façon on s’en fiche <table> c’est déprécié – deprecated – comme élément …

Bah non <table> est loin d’être deprecated, il a son rôle à jouer sur le web, mais pour uniquement de l’affichage de données, par exemple un annuaire est une excellente utilisation de <table>, vous pouvez aussi vous en servir sur un site e-commerce pour un panier par exemple, c’est tout à fait le bon usage de <table>

Que doit on retenir ?

Ce qu’il faut retenir c’est que <table> n’est pas un élément déprécié loin de là, mais il a une utilisation propre à lui même qui se résume à l’affichage de données tabulées. Il ne faut en aucun cas détourner <table> du droit chemin et lui demander de faire de la mise en page.

Voila pour un premier article sur les balises. Si vous avez des questions ou des commentaires je vous en prie, je pourrais améliorer ça pour la prochaine balise ;)

Survivre en milieu google

Pas besoin de se voiler la face, la bonne santé d’un site et sa soi-disant « qualité » se mesurent à son positionnement dans le rouleau compresseur des moteurs de recherche, j’ai nommé google. Préféré par des millions d’internautes pour sa pertinence grâce à son algorithme révolutionnaire à son lancement, google pousse au vice de plus en plus de sites qui sont désormais trop nombreux.

Brève explication sur le référencement pour ceux qui voudraient poursuivre mais pour qui le référencement est un « art » obscure. Faisons simple, google – parce que finalement on ne s’intéresse quasiment qu’à celui-ci – procède de la façon qui suit pour indexer son contenu, il lit ce qu’il trouve dans l’url, le titre, la description que vous ne voyez pas, une liste de mots clés (si si, je vous assure, il en tient encore compte) puis le contenu de la page, ce qui se trouve en haut de la page ayant hypothétiquement une plus grande valeur que le bas de la page. On rajoute également tout un tas de balise permettant d’accorder plus ou moins de valeur à certains mots. Enfin, notre ami à tous classe les sites qu’il connaît sur la méthode suivante : plus il y a de liens qui pointent vers votre site, plus il est intéressant pour les utilisateurs du moteur de recherche.

000000214874

Dans le meilleur des mondes, chacun ferait son site proprement et il serait cité à juste escient. Qu’appelle t’on proprement ? Un titre normal jusque la ça va, personne ne « gruge » trop sur ce point parce qu’il est très visible ; une url pour accéder au contenu, logique. Mais sur ce point ça commence à partir dans tous les sens. On trouve des url parlant de choses et d’autres avec des mots clés totalement hors contexte, comme « sexe, free, mp3, download », la page parlant du maïs transgénique. Je caricature mais on n’est pas loin de la vérité. Vient alors la description de la page et les fameux mots clés déjà cités. Alors là attention, Google ne lit en théorie que 255 des premiers caractères mais on trouve de nombreux sites avec des listes à rallonge. Je vois d’ici vous précipiter pour regarder le code source de nos pages pour voir si on procède de cette façon là. Ne cherchez pas je vous donne la réponse, seul Gamebe pour l’expérimentation est doté d’un arsenal de mots clés, mais je reviendrai plus tard sur ce point qui vous offusque déjà. Attention j’aborde le dernier point – j’essaye de faire court pour pas vous ennuyer mais le sujet est vaste – les échanges de liens. Kézako, comme je vous l’ai précédemment expliqué, le moteur des moteurs de recherche considère que plus il y a de liens pointant vers votre site, plus le site est intéressant, du coup les sites se livrent à des échanges de liens. Pour résumer, « tu mets un lien en bas de page vers chez moi, et je te renvoie l’ascenseur ». Non, pas la peine de regarder, on se livre également à cette pratique. Rajoutez à cela les sites qui « bouffent à tous les râteliers » en demandant de mettre leur fil RSS sur leur page plutôt que celui du concurrent…

Triste portrait du paysage internet français mais rassurez vous, c’est comme ça dans le monde entier. Alors la question à laquelle il faut maintenant répondre c’est pourquoi. Pourquoi se livre t’on à de tels « magouilles » ? La réponse est simple : l’éthique ne paye pas. En effet pour pouvoir faire fortune – laissez moi rêver – il faut faire venir du monde sur son site et pour ça il y a deux solutions : le bouche à oreilles et google. Parlons franchement, la première est bonne mais prend beaucoup de temps pour un résultat qui n’est pas probant. Quant à la seconde c’est le jackpot si vous vous débrouillez correctement.

C’est maintenant le moment où je devrais m’auto-congratuler pour une raison : j’ai toujours essayé de faire passer l’éthique en premier. C’est plus facile avec des sites qui sont dans des niches, Matbe est très orienté hardware pur et dur et la réputation de celui-ci n’est plus à faire dans les tests d’alimentations ou de boîtiers. Et pour Gamebe la ligne éditoriale est plus axée sur des gens matures et responsables que sur la génération pokémon. Mais voilà la pression de notre société capitaliste nous pousse dans une course à la réussite où l’éthique aura bien du mal à suivre. Que faire alors ? Première solution : une prise de conscience générale, où les échanges de liens abusifs seraient retirés, les url dénuées de mots clés absurdes. Alors c’est sûr, changer les mentalités de la terre entière n’est pas vraiment à la porté de tout le monde, voire de personne. Il reste donc une deuxième solution sur laquelle on suppose que google travaille déjà, ne plus prendre en compte les pavés de liens en bas de page. C’est une hypothèse que de nombreuses personnes du milieu du référencement avaient émise, mais un doute subsiste : est-ce que google n’est pas soumis à certaines pressions pour éviter de « désorganiser » le web ? En fin de compte il n’existe probablement pas de solution ultime pour panser les plaies du système actuel, il ne reste qu’à chacun de prendre conscience que la surenchère mènera à la perte de beaucoup de ressources intéressantes sur internet…

Fluent interface : oui mais y’a un mais

Une des grandes “modes” du moment c’est la programmation en fluent interfaces. kézako ?

Les fluent interface sont des classes qui sont programmés de façon à ce que chaque fonction retourne $this. Oui bon on va pas chipoter mais c’est grosso modo ça y’a certes un peu plus de subtilité que ça mais si vous ne connaissez pas les fluent interface vous avez grosso modo une idée de ce que c’est.

Le but est d’obtenir un code plus lisible pour nous autres codeurs, car grâce à cette pirouette que nous permet la programmation orientée objet on peut transformer ceci:

&lt;?php
$foo = new Bar();
$foo-&gt;setParamA(0);
$foo-&gt;setParamB(‘my_string’);
$foo-&gt;execute();
?&gt;

en quelque chose de nettement plus sexy :

&lt;?php
$foo = new Bar();
$foo-&gt;setsetParamA(0)
      -&gt;setParamB(‘myString’);
      -&gt;execute();
?&gt;

C’est vachement plus simple à lire surtout quand on commence à appeler une dizaine de fonctions sur un objet.

Alors pourquoi ce billet. Pour vous mettre en garde, si cette méthode et très pratique pour nous elle l’est moins pour vos serveurs. Car sans fluent interface vous pouvez tester chaque retour de fonctions et donc vous arrêtez dès que quelque chose cloche. Avec les fluent interface vous serez obligé de passer dans tous vos tests. Alors vous me direz que je chipote et je suis entièrement d’accord.

Mais comme je pense à vous, je vous donne ma solution pour faire les choses bien comme il faut. Passez à PHP5 et utilisez les exceptions. Dès qu’une erreur bloquante pour la suite se produit vous levez une nouvelle exception. Il ne vous restera plus qu’à encadrer votre code d’un bloc “try/catch” pour faire ça tout proprement.

Rendre le web payant ou monétiser d’avantage ?

A l’heure actuelle, la quasi totalité des sites web marche sur le modèle économique du tout gratuit avec en contre partie un affichage de pubs plus ou moins important. La question que je me pose est est : faut-il rendre le web payant ?

Dès lors de nombreuses personnes crient au scandale, moi le premier, le web est par essence même un monde de partage où les contraintes économiques ne sont pas censé avoir leur place. Mais il faut se rendre à l’évidence la viabilité d’un projet sur le web découle principalement de sa capacité à être monétiser. Les grands groupes de presse comme les plus petits ont alors recours à des archives payantes, de la pub, de la vidéo à la demande (VOD), de l’intégration de services payants comme les sonneries pour portables, téléchargements de musique et j’en passe.

La viabilité d’un projet sur le web découle principalement de sa capacité à être monétiser.

J’étais récemment inviter par Google à une conférence justemment nommer : accroître votre rémunération avec Google. Le moteur de recherche le plus utilisé au monde nous offre de multiples possibilités pour gagner de l’argent, principalement par son programme de pub AdSense que vous pouvez d’ailleurs voir ici même (enfin je vous expliquerez plus tard la démarche). La conférencier nous a expliquer comment gagner plus d’argent sur nos sites, ce n’est pas bien compliqué et si je n’étais pas honnête je dirais que les conseils se résument à : il faut voir la pub tout de suite au détriment du contenu.

Explications. Premièrement il faut que ce soit visible sans scroller, ensuite, de préférence près de la navigation voire dans le contenu directement. Ensuite il faut utiliser des couleurs qui respecte votre charte graphique pour que ca se fonde dans le paysage, mais Google précise qu’il ne faut pas non plus que cela se confonde, enfin bon si vous pouvez éviter de mettre une bordure c’est quand même mieux. Oui bon pour faite clair, autant Google ne veut pas que les gens cliquent par inadvertance, autant ils ne peuvent pas nier que ca les arrange un peu.

Du coup pour monétiser un site qui a du trafic en plus du programme AdSense, on fait appelle à des régies pubs qui vous passe des pubs animés la plupart du temps, mais également des pop-up que vous connaissez tous, mais également ce que certains connaissent moins des pop-under. Des pop-quoi ? Est ce qu’il vous ai déjà arrivé en fermant la page sur laquelle vous surfiez de découvrir qu’une nouvelle fenêtre était ouverte sur un autre site ? Oui ? C’est un pop-under.

On peut se demander si la pub fait le contenu ou l’inverse

On constate également un autre phénomène tout aussi désagréable, la multiplication des formats de pubs. Pour faire simple on ne se contente plus que d’une bannière en haut du site, on rajoute un carré ou deux carrés de pubs, un skyscraper (bandeau en hauteur) puis pleins de petits formats voire même de la pubs sur un dizaine de mots cliquables dans le contenu de ce que vous lisez. Si bien que certains sites arrivent à avoir plus de 13 pubs différentes sur une seule pages et je n’ai pas compté les mots cliquables. Sur ces sites on peut se demander si la pub fait le contenu ou l’inverse.

Face à cette déferlante de pubs on est donc en droit de se demander si une solution payante n’est finalement pas plus intéressante pour vous comme pour nous.

Internet outil de socialisation

Je voulais poster sur mon propre blog ce que j’avais posté il y’a quelques mois sur le blog de la rédaction des sites de la société pour laquelle je travaille ce billet parlant de la socialisation par internet. C’est désormais chose faite.

Internet outil de socialisation

L’arrivée, et la démocratisation, d’internet dans les foyers français est une réelle révolution. Cet outil que nous utilisons tous dans notre vie quotidienne pour le travail, le plaisir ou encore la découverte est sans conteste un progrès dont bon nombre d’entre nous ne pourraient plus se passer. Dans le monde du travail il est désormais quasi inconcevable de se passer de mails. Ceux-ci nous permettent de communiquer à distance avec des collaborateurs, la famille ou les amis. Plus encore, les messageries instantanées de plus en plus utilisées dans le milieu professionnel permettent de véritables échanges comme on le ferait par téléphone ou de vive voix.

Toutefois, les possibilités offertes par ce nouvel outil de communication apportent leur lot de dérives, certains internautes s’y perdent jusqu’à devenir dépendants. Cette subtile notion de dépendance revient régulièrement sur le tapis de certaines émissions qui souvent, et malheureusement, prennent le parti de ce qu’on pourrait caricaturer par : “le net est une drogue c’est mal”. Nous n’allons pas rentrer dans des débats sur la « cyber-dépendance » car à l’heure actuelle il n’y a pas de véritable étude, à ma connaissance. Certes on trouve des rapports en tous genres sur le sujet mais chacun fait un peu à sa sauce.

C’est ainsi que de nombreux parents comme les miens ont vu d’un mauvais oeil le temps que je passais derrière mon ordinateur. Je vais donc vous faire part de mon expérience personnelle, car finalement c’est peut-être ce qu’il y’a de mieux pour vous faire comprendre où je veux en venir.

handshake

A mes débuts sur internet, je m’en servais essentiellement comme d’un outil de recherche et de documentations, j’étais alors un inconditionnel des sites d’actualités informatiques. C’est l’aspect “Internet, outil d’informations” qui permet de discuter de divers sujets avec des proches, collègues et autres personnes de la vie quotidienne.

A suivi alors la découverte du forum du site rue-montgallet.com, où je partageais mes connaissances avec ceux ayant des problèmes avec leur matériel ou leur logiciel. A ce moment là, nous abordons un autre aspect que nous pourrions appeler “Internet, outil d’échanges”. C’est un aspect important, savoir communiquer et échanger avec d’autres personnes, ce n’est pas forcement une tache facile au quotidien.

Et j’en arrive à ce qui me semble être le dernier et le plus merveilleux aspect offert par internet : “Internet, outil de rencontres”. En effet comme sur de nombreux forums, il se forme une réelle communauté avec ses habitués et ses habitudes. J’ai sympathisé avec cette communauté, mais nous ne nous sommes pas arrêtés là, nous nous sommes rencontrés dans la vraie vie, nous avons organisé des repas avec d’autres forumeurs, nous sommes devenus de véritables amis oubliant finalement que nous nous sommes connus par internet. Je pourrais pousser encore plus loin la démonstration en vous expliquant que c’est en participant à ce forum que j’ai attiré l’oeil d’Olivier Moulin, qui est aujourd’hui mon employeur. Cet emploi qui me permet de rencontrer d’autres personnes collègues ou prestataires. Cet effet boule de neige est pour le moins relativement incroyable à mes yeux.

Récapitulons, les trois grands aspects d’internet sont :

  • L’information : pour étendre sa culture dans tous les domaines possibles, inimaginables et ainsi pouvoir converser avec d’autres personnes.
  • L’échange : pour pouvoir communiquer avec autrui
  • Les rencontres : pour découvrir de nouvelles personnes

C’est ainsi que ces trois aspects d’internet forment un tout que j’appellerai : “internet, outil de socialisation”. Internet est donc – malgré son coté virtuel et ses dangers – un moyen de s’épanouir en société et de faire de nouvelles rencontres.

Le référencement, une lutte sans merci

Il y a quelques temps j’avais posté un billet sur le blog de la rédaction de ma société s’appelant « survivre en milieu google ». J’avais alors joué la transparence sur nos méthodes de référencement en clamant haut et fort que je me contentais d’un référencement dit naturel – et des inconvénients que cela peut procurer – mais avouant que nous étions obligé de procéder à la fameuse pratique d’échange de liens. Toutefois sur tous les sites dont je m’occupe à l’heure actuelle tout est transparent nous ne rajoutons pas “sex”, “porn”, “free xxx” à tout bout de champs. C’est une question de conscience, je n’aime pas être pris pour une truffe et je considère que les internautes qui passe par chez nous non plus.

Il y a peu NetEco a publié un article a son tour crachant ouvertement sur ces pratiques en étayant sa démonstration à l’aide de nombreuses captures d’écrans issues des sites de la concurrence je vous laisse juger : cliquez ici

Vous n’avez pas vu les captures ? Bah non c’est normal c’est même écrit en toutes lettres au début de l’article :

Suite à la publication initiale de cet article, nous avons reçu de très nombreux témoignages et retours ce qui nous incite à faire avancer la discussion et à compléter cet article.

Compléter en supprimant … ouais j’ai du mal à saisir le concept mais bon vous me direz que c’était diffamatoire ou je ne sais quoi encore, et que je ferais mieux de me pencher sur ce qui a été rajouté pour étoffer l’article. Second “hic” rien a changé ou alors c’est bien caché.

Oui bon et alors ? Encore une fois on prend les internautes pour des truffes. Finalement c’est à se demander si le net est encore ce qu’on nous présentait comme le pays de la liberté, un monde sans frontière où prime le partage de la connaissance ou si il devient celui où le référencement prévaut.

Comment craquer du MD5 en PHP

Et oui c’est possible avec une méthode en plus toute simple et optimisée que je viens de découvrir dans les commentaires de la doc PHP en ligne. Merci à cet utilisateur au génie incommensurable. Je ne vous fais pas languir plus longtemps.

<?php
/**
* i made a php script that can guess a hashed string’s value,
* but it takes forever with more than 2 characters in the password
*/

set_time_limit(0);
$randpass = chr(rand()).chr(rand());
print “RANDOM PASSWORD: $randpass”;
print “\n”;
$password = md5(“$randpass”);
$guesswrd = “”;
$tries = 0;
$start = microtime(true);
while($password != md5($guesswrd)){
$guesswrd = chr(rand()).chr(rand());
$tries+=1;
}
$end = microtime(true);
$time = $end-$start;
print “GUESSED PASSWORD: $guesswrd”;
print “\n”;
print “It took $tries tries and $time seconds”;
?>

Je crois que l’expression appropriée est : ROFL !