NyroBlog
Banniere NyroBlog
Image de Emi - ?
« décembre 2009
lunmarmerjeuvensamdim
123456
78910111213
14151617181920
21222324252627
28293031

Votre candidat idéal ?

Votez PlusA 10 jours des éléctions présidentielles, on voit fleurir depuis quelques temps déjà des questionnaires qui permettent de savoir lequel nous ressemble tous.

Parmi ceux que j'avais vu, tous étaient des formulaires tristes, sans recherche particulière. Bref, le genre de truc fait par des geek pour s'amuser, en prenant en compte des éléments plus ou moins intéressant et plus ou moins juste.

Heureusement, Canal+ et ses guignols arrivent et nous livre un joli questionnaire de 10 questions, avec PPDA qui lit les questions, grande classe !

A la fin, vous avez droit à un joli mélange entre plusieurs candidats, comme Ségolène Bovencenot, Dominique Broiyal, Jean-Marie Baryal, etc...

Amusant tout ça, mais garder à l'esprit que votre est un droit (et aussi un devoir) civique, et qu'il ne faut pas le prendre à la légère !

PHP/MySQL : Faire une pagination sur un tri aléatoire

J'ai été confronté tout à l'heure à un problème simple, mais qui peut poser problème : On vous demande de lister les éléments d'une table MySQL sur une page, et d'en faire une pagination. Tout ce qu'il y a de plus normal. Pour faire ça, vous allez jouer sur les LIMIT de votre requète.

Exemple :

SELECT * FROM utilisateur LIMIT 20,10

Où on afficherai la seconde page des utilisateurs, avec 10 affichages.

Maintenant, imagninez qu'on veuille trier cette requête selon les nom des utilisateurs. Il suffirait de faire :

SELECT * FROM utilisateur LIMIT 20,10 ORDER BY nom ASC

Bon, jusque là, pas de problème particulier.

Maintenant vous ne voulez pas un affichage trié par nom, mais aléatoire. Intuitivement, on ferait simplement :

SELECT * FROM utilisateur LIMIT 20,10 ORDER BY RAND()

Ce qui n'est pas totalement faux. Le problème avec cette solution, c'est que lorsque vous allez changer de page, le tri va changer, et il sera donc impossible aux visiteurs d'afficher tous les noms, ce sera complètement cahotique.

La solution consiste à générer un nombre aléatoire en PHP, à l'enregistrer en session, et à le passer à la requête MySQL, dans les parenthèses du RAND, et le tour est joué. Ainsi le nombre alétoire généré sera toujours le même pour la session en cours, et on se retrouver avec le même tri sur toutes les pages.

Le code pour générer et enregistrer le nombre aléatoire en PHP :

$rand = $_SESSION['rand'];
if (empty($rand)) {
srand((float)microtime()*1000000);
$rand = "0.".rand();
$_SESSION['rand'] = $rand;
}

Bien sûr, il faudra que la session soit démarrer avec session_start() plus haut et qu'aucun header n'ai déjà été envoyé (ou bien utiliser ob_start())

Enfin, la requête MySQL devient :

SELECT * FROM utilisateur LIMIT 20,10 ORDER BY RAND($rand)

Et voilà, vous avez une belle pagination avec un tri aléatoire.

English Version of this post

NyrOS, sources disponibles (projet Flash)

NyrOSL'an dernier, en SRC, j'avais fait un projet Personnel Flash. Les seules contraintes étaient d'utiliser certains composants ou éléments de Flash.

Cette application est encore disponible sur le serveur de SRC, mais je n'ai plus aucun contrôle dessus. C'est pas grave, vous pouvez tester sans problèmes.

A noter que les WebServices (utilisé pour la traduction et le Whois) ne fonctionnent plus, sans doute parce qu'ils ne sont plus disponibles.

Et donc, avec tout ça, je vous fournit la documentation de toutes les classes AS (tout le projet n'est fait qu'avec ça), des quelques codes PHP et même d'un javascript. Si ça peut en aider quelques un qui n'arrive pas à trouver la solution. Vous y trouverez en vrac comment faire une classe qui dispatche des événements pour être écouté, des MovieClipLoader, des créations par le code de UI COmponent, des enregistrements en base de donnée via PHP, etc...

Et puis, un fichier important aussi, c'est les sources (Zip, 12 Mo). Amusez-vous bien, et n'hésitez pas à utiliser les bouts de code qui sont dans ce projet !

TinyMCE, version gzippée

Lorsqu'on charge un éditeur TinyMCE pour la 1ère fois sur un site, le chargement est assez long, car il faut tout charger les javascripts qui ne sont pas compressés.

MoxieCode a résolu le problème (je ne sais pas depuis quand) en proposant en téléchargement le TinyMCE compressor, disponible pour PHP, .Net, JSP, CFM et Ruby. Le gain est estimé à 75%, rien que ça. Pour le téléchargé, rendez-vous sur la page habituelle de téléchargement, et descendez un peu l'ascenseur de la page...

Lisez bien le fichier fourni dans l'archive du compresseur pour faire l'installation et tous se passera bien.

Je viens de tester, et le résultat est bluffant !

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

Vignette de site, Snap Preview améliore son service

Je vous avais parlé ici du service de Snap qui permet de générer des vignettes de sites sur les liens externes.

Bonne nouvelle aujourd'hui, je reçois un mail de leur part, indiquant que le service est disponible en français (et dans 9 autres langues), avec un générateur du code javascript très simple à utiliser.

Vous pouvez maintenant choisir la couleur, décider d'afficher ou non le moteur de recherche, afficher la vignette en grand format (déconseillé selon moi, car vraiment énorme), de mettre votre logo (pas testé) et d'afficher la vignette que pour les liens externes (c'est l'option "Liens externes de l’aperçu" dans les options avancés) ou que pour les liens internes ou les deux, et enfin de chargé le script à la fin du chargement de la page : Fortement conseillé pour ne pas géner les utilisateurs. De plus, en plaçant ce code à la fin du body, c'est tout bénéf.

Je me suis donc empressé de modifier le bout de script sur mon blog.

Au fait, vous pensez quoi de ce service ? Utile, nul, embêttant, indifférent ?

The Flow, un jeu au graphisme Minimaliste

The FlowPlongez dans une ambiance abyssale, vous incarnez dans The Flow une drôle de bête, faite de rond et de trait très simple, blanc. Plus vous êtes fort, plus vous briller et plus vous êtes grand.

Pour grandir, il faut manger ces confrères, en leur mangeant leur point qui sont rempli. Lorsque vous les avez totalement mangé, ils se décomposent en petites particules que vous pouvez alors mangez pour encore plus grossir.

Tout se passe par 'étage', il suffit d'aller sur le point rouge pour monter, bleu pour redscendre.

Ce qui est prenant dans ce jeu, c'est qu'on est plongé dans l'ambiance, qu'on cherche ses adversaires dans tous les coins et qu'une fois qu'on les a trouvés, c'est la folie. Ca va vite, et quand on mange une partie de l'autre, l'autre peut nous en manger une aussi, si ce n'est 2 ! Donc 1 bataille peut durer longtemps !

Au terme d'un bon nombre de niveau passés, vous mangez une petite pilule rouge. Vous montez alors beaucoup, le fond passe du bleu au jaune, et vous n'êtes plus un être ressemblant à 1 ver de terre, mais vous êtes quelque chose de rond, avec ces élements de force qui gravitent autour. Et c'est reparti pour un tour !

Amusez-vous bien !

< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 >