Archive pour 2004

Mob mort mode molle

samedi 28 août 2004 | Autour du monde

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

samedi 28 août 2004 | Webdesign

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 :)

Good bye Lenin... Welcome anachronism

vendredi 27 août 2004 | Autour du monde

Dans le film Good Bye Lenin qui est tout de même sensé se passer lors de la chute du mur de Berlin (donc en 1989), l'ami du héros accomplit la prouesse de porter un T-shirt Matrix (donc de 1998 minimum). Anachronisme qu'on va mettre sur le compte d'une des nombreuses manifestations de l'expérience du Chat de Schrödinger : le T-shirt a 50% de chances d'être en 1989 et 50% en 1998. Superposition de deux états dans un univers parallèle, finalement c'est un film de science-fiction et non plus une comédie dramatique.

Good Bye Lenin

Voilà un film en avance sur son temps (que je recommande d'ailleurs). Au passage les musiques sont signées Yann Tiersen.

Doom 3 se paie nos têtes

mercredi 25 août 2004 | Autour du monde

John Carmack a bien fait son boulot. Doom 3 est une réussite, se vend bien et vient de voler à Far Cry le titre du plus beau FPS en attendant la sortie d'Half-Life 2. Mais... Mais pourquoi les modeleurs überleets de chez ID Software ont-ils bâclé les têtes ? Quand on voit un zombie surgir, c'est la tête qu'on regarde en premier. Pas pour être poli et le saluer, non. Juste pour faire un headshot efficace (la moindre des choses).

Doom 3

Comme on peut le voir, le sommet de la tête se trace en 4 coups de crayon. C'est étonnant de voir comme ils ont bien lissé le reste, les plus infimes détails du jeu, mais pas ça.

Dernier regret, l'action scriptée jusqu'à la moelle. On peut tracer à la craie les endroits où les monstres vont apparaître après y être passé, flashlight à la main, goutte au front, déplacement léger avec la grâce d'une ballerine, et Danao dans le nécessaire de survie.

The raiders of the lost Danao chocolat

mercredi 25 août 2004 | 3617 MyLife

Danao

Impossible de se servir en douce du Danao© chocolat la nuit, lorsque personne n'est à l'affût pour défendre le précieux liquide. Le bouchon fait trop de bruit. Clac, clac, clac. Telle une minuterie égrénant les instants avant l'explosion, au fur et à mesure que la vis se sépare du Saint Graal, répudiant l'étanchéité tant redoutée. Le genre de bouchon qui normalement se retrouve sur les bidons de javel© pour que les enfants ne s'en servent pas une rasade. Mais quand même... sur du Danao©. Avec la lueur traîtresse du frigo et le whomp marquant la capitulation de la porte cahoutchouto-magnétique à d'infimes précautions, c'est un véritable son et lumière digne d'un concert de Johnny.

Même plus moyen d'être jeune et branché en cachette.

Ces simplets qui nous compliquent la vie

dimanche 22 août 2004 | Autour du monde

Blanche Neige et les 7 correctifs

Le téléchargement essentiel de l'année a enfin été dévoilé. Après des moments de suspens intense, Microsoft dévoile le Correctif Windows XP : Problème sur le DVD Blanche-Neige et les sept nains. Finies les palpitations : Atchoum, Dormeur, Prof, Timide, Joyeux, Grincheux et Simplet ont enfin leur patch et peuvent à nouveau chanter la tête haute.

PHP comme langage générique

jeudi 19 août 2004 | Webdesign

PHP ROX

Un article du Linuxjournal : PHP as a General-Purpose Language propose d'utiliser PHP dans d'autres domaines que celui où il exhibe ses biceps : le web.

Car PHP possède toutes les caractéristiques d'un langage généraliste qui peut être utile dans un bon nombre d'environnements. Dans cet article, Marco Tabini illustre la façon de procéder pour utiliser la version en ligne de commande et effectuer des opérations complexes dans le shell, comme manipuler des fichiers, lire et parser des documents XML (ici un feed RSS), gérer des tâches avec cron...

Windows XP Firewall

jeudi 19 août 2004 | Autour du monde

Windows XP Firewall

Ca promet... Faire confiance ou ne pas faire confiance au nouveau firewall du SP2 ? Dans le doute, Kerio reste une valeur sûre.

En attendant une mise à jour de sécurité critique pour les haies...

Vu sur Shallax.

Beach Cam

jeudi 19 août 2004 | Autour du monde

Besoin de vacances ?

Spiaggia

La webcam de la spiaggia (plage) 61 de Riccione en Italy.

Service Pâques d'Oeufs

mercredi 11 août 2004 | Autour du monde

SP2

Le SP2 n'aime pas le P2P (Présence PC).

Le nombre de connexions simultanées en protocole TCP a été limité à 10. [...] Afin de remédier à ce problème, un patch a été mis en ligne qui permet de passer le nombre de connexions simultanées de 10 à 50.

Ben tiens donc, déjà un patch pour le SP2.

Edit signalé par Stemool l'ami des moules : il s'agit des connexions en cours dont on n'a pas encore reçu l'ACK, et comme le P2P crée des centaines de connexions en quelques secondes il y en a beaucoup qui n'aboutissent pas...