nyroBlog
Bannière NyroBlog, par Nyro
Image par Nyro - ?

Tag : Travail


Mode de lecture des listes de recherche

Le journal du net nous dévoile une étude intéressante quant au mode de lecture des listes de recherche par les internautes.

Cette étude confirme ce que l'on ressentait tous un peu, la 1ère position est LA position à avoir dans google (ce qui parait évident à dire, mais au moins, c'est confirmé).

De plus, si vous devez mettre en place un moteur de recherche interne à votre site, vous avez quelques éléments de réponses sur comment afficher les résultats (longueur du résumé, importance du classement).

Néanmoins, je doute de la pertinence véritable d'une telle étude, quand on sait qu'elle n'a été faite que sur 18 personnes, même si elles ont de "18 à 50 ans appartenant à des catégories socio-professionnelles diverses et avec différents niveaux d'étude". Mais comme toute information, même erronée, est bonne à prendre...

Via Fred Cavazza

BjayDev, 1 collègue développeur PHP

BjayDevLorsque j'étais en SRC, j'ai connu plein de gens avec qui j'ai toujours gardé contact.

Parmi eux, il y a JB, ou Bjay pour le net, qui est aussi développeur PHP indépendant.

Il vient de mettre en ligne une nouvelle mouture de son site, que je vous laisse découvrir.

J'aime particulièrement son logo à la "dreamweaver" (même si je n'aime pas ce logiciel) et le mélange du bleu et du vert qui apporte un peu de fraîcheur et de gaieté alors que le printemps arrive à peine.

PhpMyAdmin : Sortie de la version 2.10.0

phpMyAdminLa dernière version de l'appli qui permet de gérer ses bases de données Web est sortie hier en Release.

Une des grandes nouveautés est le Concepteur (ou Designer en anglais) qui permet de faire du Reverse Enginnering d'un simple clic, pour obtenir le MCD de la base de données. Le premier avantage que j'y vois tout de suite : si les tables sont bien faites, avec les clés étrangères existantes, on pourra reprendre des bases de données de quelqu'un d'autre pour en extraire très simplement le MCD, et ainsi commencer à travailler dessus. Le second avantage est pour faire les clés étrangères facilement : en 3 clics, c'est réglé. Et c'est très intuitifs et bien traduit !

Pour ceux qui n'ont pas envie de s'embetter à l'installer mais qui veulent tester, la démo est disponible (Login : root, pas de mot de passe)

Un grand coup de chapeau à toute l'équipe de phpMyAdmin.

Réparer des bases de données MySQL

Il arrive dans certains cas que des bases de données, plus particulièrement des tables, soit rendu illisibles suite à un crash du serveur.

MySQL a tout prévu avant la commande REPAIR TABLE qui permet de récupérer une table crashée, avec généralement une perte de données, la dernière ligne ajoutée (d'où l'utilité des backups récurents).

Rien que ça, c'est bien utile quand on se retrouve dans un phpMyAdmin qui nous sort plein d'erreurs dont ont ne sait pas vraiment d'où elles sortent et dont on ne comprend pas forcément le sens.

Mais imaginez qu'on ait affaire à un serveur dédié avec un nombre conséquent de base de données. Le serveur a crashé, donc on suppose des erreurs sur les tables de toutes les bases. Comment faire pour ne pas avoir à regarder manuellement dans chaque base de données ?

Utilisez la commande mysqlcheck comme suit, à exécuter en SSH par exemple :

mysqlcheck -A --user=USER --password=PASSWORD

Bien sûr, vous aurez pris soin de changer USER et PASSWORD avec ce qui convient, sûrement root pour l'utilisateur.

Ensuite, vous allez voir toutes les tables de chaque base de données défiler, avec la plupart du temps marqué OK sur la ligne, pour vous indiquer qu'il n'y pas d'erreur.

Pour n'afficher que les tables qui sont crashées, vous n'aurez qu'à rajouter un grep :

mysqlcheck -A --user=USER --password=PASSWORD | grep -v "OK"

Enfin, vous n'aurez qu'à exécuter les REPAIR TABLE sur les tables qui ressortent avec des erreurs et vous en aurez terminer. Normalement, la commande mysqlcheck accepte comme paramètre --auto-repair, mais elle n'a pas fonctionnée dans mon cas, je ne sais pas pourquoi.

PHP : utiliser les références

Pour ceux qui ont fait du C++ ou qui savent faire la différence entre référence et valeur, vous pouvez passer au dernier paragraphe pour directement trouver le lien.

Lorsqu'on utilise des variables, celle-ci a besoin d'espace mémoire. L'espace mémoire est adressée, c'est à dire que la valeur de la variable se trouve à telle adresse (ou référence). Autrement dit, une variable pointe sur une ADRESSE, où est stockée véritablement la VALEUR de la variable. En PHP, tous les passages de variable (pour les fonctions, classes ou copie) se font par VALEUR. Etudions

$var = 'abc';
$var2 = $var;

La Première ligne : Lorsqu'on fait ceci, $var est associée à 1 référence mémoire (adresse), dans laquelle on met la valeur 'abc'. La seconde ligne : comme je vous l'ai dit, la copie se fait par valeur. Donc, en faisant ça, $var2 est associée à 1 nouvelle référence, dans laquelle on stocke la valeur de $var, 'abc'. Jusque là, rien de bien compliqué, c'est juste pour être plus clair et que vous compreniez mieux la suite.

Maintenant, si nous faisons ceci :

$var = 'abc';
$var2 = &$var;

(La seule différence est le &, marqueur de la référence) Pour la première ligne, rien ne change évidemment. Pour la seconde, qu'est-ce qu'on fait ? Une nouvelle référence est crée pour $var2, mais au lieu d'y stockée une valeur (celle de $var), on y stocke la référence de $var. Pour le dire différemment, $var2 est un alias de $var, qui pointe tous les 2 vers la même valeur dans l'espace mémoire. Vous suivez ?

Je voulais juste faire ce petit rappel, avant de vous donner l'adresse d'un très bon article de JDNet, qui montre plusieurs exemples qui vous seront très pratique. Peut-être que vous n'en voyez pas l'utilité tout de suite, mais cela pourra vous permettre de vous sortir de mauvaises passes dans certains cas.

Ca m'est arrivé il y a pas très longtemps, et je ne sais pas comment j'aurai fait sans ça.