Un soupçon d'interactivité

La fin du monde

Blog ne rime pas avec monologue. Voici donc une expérimentation de sondages sur Dotclear.

Votre avis sur un sujet épineux qui divise la communauté scientifique, en écartant les hypothèses extrêmes qui ne doivent même pas être prononcées (sortie d'un nouvel album de Britney Spears, arrêt de la production de chocolat Milka, démission de Steve Jobs...) :

La fin du monde sera provoquée par...

View Results

Chargement ... Chargement ...

Ca fait très cinéma, mais c'est la meilleure façon d'illustrer le concept... et de beta-tester un sondage.

Cybercafe mit milch

Un clavier QWERTZ sans accents ca fait tout le charme d'un cybercafe.

Seule petite consolation : c'est Firefox qui sert de navigateur par defaut (oui, désolé on ne se refait pas).

Soyez sages...

BRB 15 jours...

Là, là, ou là, ou ici...

Si je croise Anton, je demande une dédicace.

Estvideo.com change, et ça change...

Estvideo.com

Et voilà, un redesign de www.estvideo.com qui m'a permis de plonger encore plus dans le XHTML+CSS conforme aux standards, mais ce §@*£ù! de tag <embed> inséré entre <object> et </object> ne valide toujours pas - et ne validera jamais avec un doctype XHTML 1.0 Strict.

Le supprimer ? Oui mais certains vieux navigateurs tels que Netscape 4 ne pourront plus lire les animations Flash. Abandonner la partie ? Oui pourquoi pas au risque de fâcher les dinosaures, ou sinon envisager certaines méthodes proposées par A List Apart : Flash Satay: Embedding Flash While Supporting Standards.

Il faut sauver Bernd

Toutes les méthodes sont bonnes pour tenter de remplir son compte en banque.

Bernd

Je jure devant Dieu que je mangerai ce joli lapin au réveillon si mon compte n'affiche pas 1.000.000 € au plus tard le 31 décembre 2004 !

Vous aussi, sauvez Bernd ! (Si j'étais à la place du lapin je porterais plainte pour nom imprononçable.) Pour l'instant la somme collectée est de 14 193€... Pauvre Bernd. Si l'objectif est atteint, son propriétaire promet qu'il le confiera à une ferme lapineuse où il pourra passer le reste de sa vie comme un playboy, et que nous en serons tous jaloux. Bernd avait été trouvé il y a un mois par une nuit froide et pluvieuse dans une boîte de bananes (on y croirait) et a depuis été nourri - ou engraissé - dans l'espérance d'un somptueux Rabbit with Chanterelle.

Il paraît que 80% de la somme ira à une oeuvre de charité. Paradoxal.

Search for Extra-Terrestrial Leetness

SETI

Le projet SETI@home a pour but depuis des années de décoder les signaux captés par le radio-téléscope d'Arecibo (Porto Rico) en les distribuant aux PC du monde entier, candidats au décodage et participant à l'opération. Jusque là rien de très excitant n'avait été décelé. Aujourd'hui, le célèbre magazine NewScientist dévoile que des signaux mystérieux auraient été détectés.

Ces signaux auraient été décodés par plusieurs membres ce qui exclut la possibilité d'une personne hackant le projet avec de faux résultats. Toutefois, il pourrait s'agir de signaux émis par un phénomène astronomique inconnu.

Arecibo

L'émission semblerait provenir d'un point situé entre les constellations du Poisson et du Bélier, où il ne devrait pas y avoir d'étoile ou de système planétaire 1000 années-lumières à la ronde. De plus la transmission est faible. La fréquence du signal varie fortement et serait la conséquence d'une émission sur une planète dont la rotation est très rapide et sur laquelle la civilisation ne compense pas ce phénomène de mouvement. Un autre radio-téléscope sera prochainement utilisé pour déterminer si la mesure ne provient pas d'une erreur propre à Arecibo.

Pour l'anecdote, c'est un PC de Nate Collins de Farin and Associates à Madison (Wisconsin) qui a décodé le signal. Il se demande comment vont réagir son boss lorsqu'il devra lui expliquer à quoi servent les machines de la boîte... Maintenant il ne reste plus qu'à contacter les E.T., c'est à dire envoyer une réponse qui mettra... hmm... quelques milliers d'années à leur parvenir (au mieux), et attendre un "w00t w00t" de leur part quelques milliers d'années encore plus tard. Malgré tout c'est une bonne nouvelle, motivante pour tous ceux qui ont le courage de participer. Personnellement j'ai abandonné après quelques centaines de WU (Work Units), shame on me.

Drame sur bitume fumant

L'été c'est la joie de retrouver les mêmes têtes dans les bouchons et au camping. C'est le plaisir de re-découvrir le claquage de clim en direct qui va faire regretter d'avoir sous-estimé le stock de monoxyde de dihydrogène nécessaire (H2O).

Autoroute

Mais l'été c'est aussi le moment de terribles tragédies familiales. Loin du conflit entre Lucienne et Raymond parce que Raymond n'a pas la monnaie qu'il faut pour payer le péage et que de toute façon il n'a jamais la monnaie qu'il faut... Loin de Georges dont le dernier synapse est en train de lâcher suite à la pression accoustique accumulée par ses deux filles qui chantent en boucle Dragostea din tei dans un habitacle de 3m3... Loin de Bernard rôdant en Harley à la station Total de Poui-sur-joire et achevant à grand peine sa collection de points fidélité donnant droit à un lot de 2 tasses dédicacées par Fabien Barthez... Loin de Gérard, routier depuis 3 décennies, dont les veines du bras dessinent à peu près la carte des bouchons de la circulation, absorbé dans l'écoute de Radio France Culture qui aborde aujourd'hui le thème palpitant de la sociologie des mouches méditerranéennes...

Loin de toute cette agitation donc, on abandonne des êtres vivants sur les aires d'autoroute, parce qu'ils sont devenus trop encombrants, difficiles à nourrir et surtout parce qu'ils ne justifient plus leur existence et le soin qu'on leur apporte. Leur seule utilité : divertir le cocon familial ne délasse plus. C'est ainsi que...

NIORT (AFP) - Un couple de l'Oise qui rentrait de vacances a oublié vendredi sa fille de 19 ans sur une aire de repos de l'autoroute A10 à hauteur de Niort (Deux-Sèvres), parcourant une centaine de kilomètres avant d'être appelé au téléphone par la jeune fille, selon les gendarmes.

Quelle folie peut pousser à oublier un tel investissement dans la génération future ? Il y avait peut être une bonne raison. Peut-être avait-elle un skyblog ? Pourquoi pas... Mais faut-il en arriver à une telle extrémité ? Etait-ce une goth qui par rebellion envers la vie ne parle plus à ses parents ?

"On ne sait pas ce qui s'est passé dans la tête des parents. Une fille de 19 ans sur le siège arrière du véhicule, ça se remarque. Et son absence aussi", soulignait vendredi un gendarme.

Il y a une semaine, les gendarmes du peloton autoroutier avaient déjà connu une affaire similaire sur une autre aire d'autoroute de l'A10, également à hauteur de Niort. Un automobiliste danois de 65 ans avait oublié son épouse et ne s'en était aperçu qu'après avoir parcouru quelque 250 km.

Ca Raymond c'est pas gentil...

L'Effaceur copie des chiffres

Encore une capture d'un film prenant des libertés avec l'info : L'Effaceur (le préféré des écoliers). Faire défiler des chiffres lors d'une copie de fichiers sensés contenir des prototypes d'armes révolutionnaires - et en afficher une vue en 3D filaire - est toujours du plus bel effet.

L'Effaceur

Mob mort mode molle

Ils ont remis ça...

Flashmob au Louvre

Rendez vous ce soir à 16h24 à l’entrée du jardin des Tuileries se trouvant face au 194, rue de Rivoli, (métro Tuileries) Une personne vous remettra la fiche d’instruction de ce Flashmob. Dans la mesure du possible, ne vous encombrez pas d'un sac. Vous serez libéré au plus tard à 17h15.

L'originalité baisse, la chorégraphie était la même que lors de la première édition. Voir aussi StrasMobs...

mysql_fetch_row vs mysql_fetch_array

MySQL

Choisir entre les deux fonctions PHP mysql_fetch_row() et mysql_fetch_array() peut sembler anodin, mais c'est une question souvent posée et qui a déjà donné lieu à de nombreux débats.

A première vue les descriptions de la documentation PHP peuvent indiquer une piste :

  • mysql_fetch_array : Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_fetch_row : Retourne une ligne de résultat MySQL sous la forme d'un tableau

On peut constater que la première méthode nécessite plus de traitement car elle renvoie un tableau associatif, c'est à dire en utilisant les noms des champs comme indices. Généralement on peut apercevoir ceci :

$result=mysql_query('SELECT nom_du_champ1,nom_du_champ2 FROM table');
while($array=mysql_fetch_array($result)) {
  /* utilisation de $array['nom_du_champ1']... ; */
}

Déjà, le fait d'associer les noms des champs dans le tableau nécessite un investissement en ressources plus important. Des indices sous forme de chaînes de caractères seront plus longs à traiter que des simples valeurs numériques.

La seconde méthode est donc plus légère. Principalement car elle ne retourne qu'un tableau indexé numériquement. Mais comment l'utiliser de la meilleure manière ? L'inconvénient est de devoir s'y retrouver entre cette indexation numérique et les noms habituels des champs, spécialement lorsque la structure de la table peut changer au cours du temps (ajout, modification ou suppression de champs). Néanmoins on peut contourner cette limitation de deux façons :

  • Pour s'affranchir d'une potentielle modification des champs, de leur ordre dans la table : spécifier clairement dans la requête (ici SELECT) les champs à prendre en compte. Au-delà de l'aspect pratique cela est conseillé pour obtenir de meilleures performances, surtout lorsque la table contient beaucoup de champs différents qui ne seront pas forcément utiles.
  • Pour s'affranchir du nom des colonnes : utiliser l'élément de langage list() qui permet de rassembler les variables sous forme de tableau, pour les assigner en une seule ligne.
$result=mysql_query('SELECT nom_du_champ1,nom_du_champ2 FROM table');
while(list($champ1,$champ2)=mysql_fetch_array($result)) {
  /* utilisation de $champ1, $champ2... ; */
}

Pourtant, il est précisé dans la doc que :

Il est important de souligner que mysql_fetch_array() n'est PAS significativement plus lente que mysql_fetch_row(), tandis qu'elle ajoute un confort d'utilisation important.

A cela il faut rajouter que 3 cas de figure se présentent alors, avec l'ajout de la fonction mysql_fetch_assoc(), classés du plus rapide au plus lent :

  1. mysql_fetch_row() : tableau d'indices numériques ($array[1])
  2. mysql_fetch_assoc() : tableau associatif ($array['nom_du_champ'])
  3. mysql_fetch_array() : tableau d'indices numériques + tableau associatif

En gros, mysql_fetch_array effectue le travail des deux premières simultanément. Donc tant qu'à choisir, autant le faire entre row et assoc. Il existe de surcroît deux outsiders :

Là encore il s'agit d'une optimisation au niveau atomique. Il est inutile de reprendre tous vos scripts pour remplacer l'une ou l'autre fonction. Rien n'empêchera la totalité de la boucle de prendre du temps si la requête est mal constituée. Ceci fera l'objet d'un prochain sujet de discussion :)