Je sais je sais, plus d'un mois que je n'avais rien posté ici ... Mais j'ai eu assez peu de temps à moi dernièrement, et je risque d'en avoir peu pour un un bon moment encore. En effet, entre la "rénovation" de ma chambre, la construction - certes lente - mais conséquente de mon projet, et ma vie en dehors du net, je n'ai pas énormément de temps pour poster ici.
J'ai pris un bon moment à définir chacune des classes, je tiens à avoir la meilleur organisation possible, que ce soit au niveau de l'organisation des fichiers comme au niveau de l'organisation du "système" en lui même, gestion des erreurs, des messages d'informations, des connexions au service de bases de données (MySQL pour le moment, mais je ne suis pas sûr d'y rester), du cache, ...
Pour l'instant, j'ai surtout travaillé sur la gestion du cache, des erreurs, et je vais commencer à coder la classe de gestion des connexions au service de bases de données très prochainement.
J'ai prévu quelques petites modifications sur le design aussi, notamment sur le design de la "searchbox", le champ de recherche se trouvant dans l'en-tête.
Je pense que c'est une des partie les plus importantes du design : en effet, pour un visiteur arrivant sur le site pour la première fois, qui ne trouve pas ce qu'il cherche sur la page où il atterrit, vers quoi se dirigera-t-il ? Si, en arrivant sur le site, au premier coup d'oeil, il a vu le champ de recherche, il tentera sûrement de lancer une recherche sur des mot-clés en rapports avec ce qu'il cherchait (le moteur de recherche doit par conséquent assurer une très bonne gestion des recherches aussi !), et trouvera ou non ce qu'il cherchait. Au contraire, si le champ de recherche est invisible au premier coup d'oeil, le visiteur ne pensera pas forcément à cette alternative, et quittera certainement le site.
Mais la visibilité du champ de recherche, même si elle est primordiale, n'est pas le seul facteur ayant son importance.
L'utilisation du champ de recherche doit être intuitive. Imaginer un champ de recherche ressemblant à ceci :

D'accord, d'accord, on en voit de moins en moins sur le net, mais là n'est pas le problème. Ce type de champ de recherche est incohérent. De même, si le bouton de recherche est constitué d'une image ... un flèche par exemple :

(oui oui, c'est bien le champ de recherche que j'avais fait pour le design de mon projet en cours ...)
Ici encore, le sens de la flèche n'est pas forcément explicite pour tout le monde. En voyant cette flèche, on ne comprend pas forcément "cliquer ici pour lancer la recherche sur les mots que vous venez d'entrer dans le champ de gauche" ... Je ne dis pas qu'il faut marquer cela explicitement non plus, mais au moins avoir un champ pour le texte qui soit clairement indiqué, et un bouton qui indique clairement qu'il doit être cliqué pour lancer la recherche. Même sans user de CSS, quelque chose comme ça est très correct :

(oui, c'est peut-être immonde, mais ça a l'avantage d'être clair
)
Utiliser les nouvelles propriétés HTML5 telles que autofocus ou placeholder peut-être une excellente idée aussi.
Depuis maintenant quelques semaines, je réfléchissais à la façon dont j'allais gérer le contenu de la "nouvelle version" du blog.
Voilà, après maintes et maintes réflexions à ce sujet, j'ai fini par me décider : Non, je n'utiliserais pas de systèmes de template tels que Smarty ou encore Templeet. Je ne pense pas que l'intérêt (dans mon cas) soit conséquent, mon but n'étant pas de faire quelque chose de propre et puissant rapidement, mais plutôt de faire quelque chose de propre et puissant tout en apprenant un maximum de choses (je sais, utiliser un système de template pourrait être une chose à apprendre aussi, mais cela m'apportera certainement moins que de coder moi même un petit système de template). Je n'ai aucun délai, et je tiens à en profiter pleinement. Et qui plus est, utiliser un système de template déjà existant dit se conformer à la licence de ce système de template (bien que beaucoup d'entre eux soient libres), mais en aucun cas je ne veux me retrouver à restreindre ma licence Creative Commons BY-SA.
Pour la gestion du contenu, je ne sais par contre toujours pas si je vais coder un petit système de template, ou si je vais chercher une autre méthode de gestion de contenu. Pour l'instant je termine de schématiser l'architecture "globale" du site, je commencerais à coder vraiment quand j'aurais quelque chose de clair, ce qui n'est pas vraiment le cas pour l'instant ... 
![]()
Je vous parlais il y a tout juste un mois de l'Axe Factor, concours ayant pour but de déterminer quels ont été (et sont encore) les plus grands guitaristes ces 30 dernières années.
Les résultats sont désormais visibles sur la page officielle du concours, et je dois dire que je ne suis pas déçu de la première place ...
Et oui, on a bien un John Frusciante premier !!
Malgré l'immense joie qui m'a submergé quand j'ai vu la première place, je me rends bien compte que comme d'habitude, hélas, le classement est dans l'ensemble assez médiocre : je ne pense pas que des guitaristes tels que Kurt Cobain (pas taper, j'adule Kurt Cobain, mais certainement pas pour ses talents guitaristiques !) ou encore Jeff Buckley (qui, si ils tenaient tant à mettre une personnalité "people" dans la liste, auraient à mon avis largement dû être remplacé par John Mayer) ne méritent pas une si bonne place, et je me demande même pourquoi ils étaient dans la liste de départ.
À l'inverse, je suis un peu déçu de voir un Jonny Greenwood en 7ème place, et Omar Rodriguez Lopez à la 16ème place ...
Je pense avoir dis ce que j'avais à dire, au moins, je ne regrette pas le classement pour la première place !
Encore une fois, je ne vais rien vous présenter d'exceptionnel, juste vous parler d'un algorithme de tri assez simple, appelé tri à bulles. Le principe n'a rien de compliqué, et si des fonctions déjà existantes dans la plupart des langages de programmation le font très bien, c'est toujours sympa de comprendre le "comment"; même si le tri à bulles n'est certainement pas celui utilisé par des fonctions telles que sort() ou ksort() en PHP.
Bref, pour rentrer dans le vif du sujet, je vais commencer par vous définir le principe de cet algorithme :
<?php $sortir = false; //cette variable indicera si l'algorithme est terminé ou non do //exécution de la boucle, tant que $sortir a pour valeur false, on ne sort pas de la boucle { $sortir = false; for($j=$i-1; $j<>0; $j--) //seconde boucle ... { if ($liste[$j] < $liste[$j-1]) //on compare 2 éléments { $nbr_inf = $liste[$j]; //et on effectue les changements nécessaires ... $liste[$j] = $liste[$j-1]; $liste[$j-1] = $nbr_inf; $sortir = true; } } } while($sortir); //si la variable sortir vaut false, alors on arrête l'algorithme foreach($liste as $valeurs) { } ?>
(je ne promets pas d'être plus régulier qu'avant dans mes posts, mais dès que j'ai quelque chose à dire, ça passera par ici
)
Bon, comme vous l'avez certainement remarqué, je me suis fais (très) rare sur le blog ces temps-ci ... Faute de n'avoir pas grand chose à raconter, et surtout, par manque de temps ...
Je me suis remis à la POO en PHP, et je pense que la prochaine version du blog sera codée POO, le but du blog étant au départ de m'exercer à PHP et d'approfondir mes connaissances dans ce domaine.
Lors du recodage complet, le blog sera certainement scindé en deux parties, l'une qui sera la copie conforme du blog à l'heure actuelle, du moins au niveau du design, et pour l'autre partie ... ça, je le garde pour moi, enfin, pour le design, vous pouvez le voir ici :
![]()
Voilà, fini pour ça, je posterais certainement très bientôt, au plus tard dans la soirée de dimanche 