X

Au travail !

Au travail !, La boîte à menthol..., Surfez léger...
J-2 avant le reprise…
19 août 2007 à 20:44 0
Et J-19 avant la Coupe du Monde de Rugby qui mettra sûrement la ville rose en émoi... Que s'est-il passé pendant ce mois d'août? Bill Gates est-il toujours le maître du monde? Parle-t-on toujours PHP chez les développeurs web? L'AJAX a-t-il complètement pris le dessus? Gutsy Gibbon sera-t-il prêt pour octobre 2007? Pourquoi ne le serait-il pas après tout? Autant de question auxquelles il faudra répondre le plus vite possible. Histoire de bien démarrer cette nouvelle année scolaire...
LIRE LA SUITE...
Au travail !, Humeur, La boîte à menthol...
Il faut se bander les yeux!
7 juin 2007 à 9:34 4
Comment développer au mieux un produit pour une personne en situation de handicap? En essayant de se mettre à sa place... On se bande les yeux comme on se bouche les oreilles pour essayer d'avoir le ressenti d'un aveugle ou d'un sourd. Pourquoi les réponses les plus logiques ne viennent-elles pas quand les questions sont posées?
LIRE LA SUITE...
Au travail !, En programmant..., La boîte à menthol..., Surfez léger...
Traîter une chaîne à la volée…
26 mai 2007 à 15:16 9
Uniformiser les données saisies par l'utilisateur d'un formulaire est généralement l'une des principales étapes de la conception d'une application. On formate, on normalise afin d'obtenir une restitution claire et uniforme. Prenons l'exemple d'un formulaire dans lequel il faudrait renseigner le nom, le prénom et la date de naissance. Des "règles" sont généralement utilisées. On aura ainsi besoin du nom en majuscules (ex : TORVALDS), du prénom avec l'initiale en majuscule (ex : Linus) et de la date de naissance sous la forme jj/mm/aaaa (ex : 01/01/1970). Plusieurs solutions de traitement existent pour ces trois champs. Suivant le langage utilisé, bien sûr, mais également suivant le moment du traitement. En PHP, on traite généralement les chaînes avant leur envoi dans la BDD. Ce procédé est complètement transparent pour l'utilisateur. Malheureusement, la localisation de l'application peut induire de plus ou moins nombreuses lignes de code. La gestion des majuscules accentuées n'étant pas encore optimale. On peut également opter pour un traitement à la volée. C'est-à-dire que la chaîne se modifie au fur et à mesure que l'utilisateur presse les touches du clavier. En plus d'être très dynamique, cette méthode rassure l'utilisateur et apporte un aspect légèrement plus pédagogique. JavaScript (parmi d'autres) le permet. Dans le cas du nom patronymique, que l'on voudrait voir apparaître en majuscules, deux solutions existent. La première, plus simple, requiert l'insertion de la fonction toUpperCase() dans l'attribut onkeyup de la balise input.
onkeyup="javascript:this.value=this.value.toUpperCase()"
Chaque caractère sera automatiquement converti en majuscule à la volée. Cependant, sur une grosse application, il peut être plus utile de créer une fonction type que l'on appellera pour chaque traitement. Un fichier js contenant toutes les fonctions peut faire l'affaire. Celui-ci contiendra une fonction générale :
function formatToutMaj(objCha) {
var objChaMaj;
objChaMaj = objCha.value.toUpperCase();
objCha.value = objChaMaj;
}
Fonction que l'on appellera à l'aide d'un onkeyup dans la balise input :
onkeyup="javascript:formatToutMaj(this.form.nom)"
Dans ce cas, l'attribut name de la balise input a pour valeur "nom". Ceci explique le this.form.nom... L'utilisation d'une fonction dédiée n'est pas véritablement justifiée dans la plupart des cas. Elle peut, par contre, s'avérer utile dans un souci de clarté ou pour être réutilisée ailleurs. Pour le prénom, la fonction est un petit peu plus complexe. Il faut forcer l'affichage en minuscules avant de mettre en majuscule l'initiale. Jusqu'ici rien de bien compliqué. Mais c'est sans compter sur les prénoms composés (que certains lient par des espaces ou des traits d'union).
function formatInitMaj(objCha) {
var nb;
var objChaTmp;
var tmpStr;
var debStr;
var finStr;
var strLen;
objChaTmp = objCha.value.toLowerCase();
strLen = objChaTmp.length;
if (strLen > 0) {
for (nb = 0; nb < strLen; nb++) {
if (nb == 0)  {
tmpStr = objChaTmp.substring(0, 1).toUpperCase();
finStr = objChaTmp.substring(1, strLen);
objChaTmp = tmpStr + finStr;
} else {
tmpStr = objChaTmp.substring(nb, nb+1);
if (tmpStr == " " || tmpStr == "-" || tmpStr == "_" ||
tmpStr == "/" && nb < (strLen-1)) {
tmpStr = objChaTmp.substring(nb+1, nb+2).toUpperCase();
debStr = objChaTmp.substring(0, nb+1);
finStr = objChaTmp.substring(nb+2, strLen);
objChaTmp = debStr + tmpStr + finStr;
}
}
}
}
objCha.value = objChaTmp;
}
Comme pour le nom, on appellera cette fonction par le biais de l'attribut onkeyup :
onkeyup="javascript:formatInitMaj(this.form.prenom)"
Enfin, et pour terminer, on peut traiter la saisie des dates au format jj/mm/aaaa en demandant à l'utilisateur de ne taper que les chiffres (ex : 01011970).
function formatDate(objCha) {
var objChaTmp;
var debStr;
var reg;
var separ;
var strLen;
separ = "/";
debStr = objCha.value;
strLen = debStr.length;
if (strLen == 2 || strLen == 5) {
objChaTmp = debStr + separ;
} else {
objChaTmp = debStr;
}
objCha.value = objChaTmp;
}
Une fonction que l'on appellera encore et toujours de la même façon :
onkeyup="javascript:formatDate(this.form.date)"
Ici, on ajoute un "/" de séparation après le jour et après le mois. L'attribut maxlenght="10" de la balise input permettra de verrouiller encore plus le format de la date. Il existe évidemment des moyens plus souples, plus rapides pour arriver aux mêmes résultats. Ces trois fonctions ne sont que des exemples. Elles sont, toutefois, faciles à décoder pour un débutant et faciles à adapter... Attention tout de même ; le JavaScript s'exécute côté client et non côté serveur comme le PHP. Les réglages personnels peuvent entraver le bon fonctionnement de certaines fonctions. Veillez également à ne pas alourdir vos applications avec des bouts de code plus inutiles les uns que les autres...
LIRE LA SUITE...
Au travail !, La boîte à menthol..., Surfez léger...
Bienvenue chez Mogyle : c’est tout vert!
16 mars 2007 à 19:17 2
Mogyle c'est comme la SNCF ; il n'est jamais à l'heure... Mais pourquoi? Parce qu'il veut le meilleur pour son site. Il a donc fallu quatorze jours de retard pour boucler cette V3. Le focus de cette nouvelle mouture sera sans conteste le lecteur vidéo flash tout neuf (et tout vert aussi). La qualité du surf a été optimisée afin de prendre en compte la règle absurde des trois clics. Pour faire simple, disons que Mogyle range désormais mieux son site que son bureau! Longue vie à cette V3!
LIRE LA SUITE...
Au travail !, La boîte à menthol..., Surfez léger...
LV31 : on développe une V2?
6 mars 2007 à 10:11 0
Six mois... C'est le temps qu'il reste pour développer la V2.0 de la Base Langues Vivantes 31. Sécurité, fiabilité et simplicité seront les maîtres mots de ce futur chantier...
LIRE LA SUITE...
Au travail !, La boîte à menthol..., Surfez léger...
Mogyle V3 : un peu de retard…
5 mars 2007 à 14:49 4
Si le codage de la V3.0 du site est terminé, l'intégration de tout le contenu est encore en cours. Le site n'a donc pas été basculé le jeudi 1er mars comme prévu. Tout devrait néanmoins être prêt dans le courant de la semaine...
LIRE LA SUITE...
Au travail !, La boîte à menthol..., Open Source, Surfez léger...
Intégration de la galerie à la V2…
2 mars 2007 à 10:36 1
Dans la continuité de la stabilisation de la V2.0 des sites des Fantastic Legends et Terrific Legends, avait été ajouté le module de gestion des héros et vilains membres. Hier, trois semaines après la mise en ligne de la V2.0, la galerie a été intégrée au design de la partie Fantastic Legends. Encore une fois, il a fallu être très vigilant concernant les divergences d'interprétation de Firefox et IE... Tout passe néanmoins correctement. Seule l'interface a subi des modifications, le moteur de la galerie (basé sur celui de Coppermine) étant toujours le même. Un pas de plus a donc été fait vers les obsèques de la V1.4...
LIRE LA SUITE...
Au travail !, La boîte à menthol..., Open Source, Surfez léger...
Ils sont farceurs ces héros!
9 février 2007 à 14:09 3
Hier, les Fantastic Legends fêtaient leurs deux ans. Deux ans de bons et loyaux services sur le serveur Vigilance du jeu City of Heroes... Pour cet événement, une version 2.0 du site avait été développée en secret. La veille au soir, l'ancienne version avait été fermée avec pour prétexte une modification matérielle des serveurs d'hébergement. Une fermeture qui devait prendre fin à 20h le 8. Après quelques dernières corrections, le site des Fantastic Legends était prêt à ouvrir ses portes peu avant 15h accompagné par celui des Terrific Legends. Et l'effet a été impressionnant! 975883 pages ont été affichées entre 15h et minuit. Un record d'affluence pour les Fantastic Legends qui enregistrent en neuf heures autant d'affichages que sur les dix derniers mois! Les huit premiers jours de février représentent donc près de 50% des affichages des douze derniers mois... Des statistiques qui font forcément plaisir mais (car il y en a toujours un) qui posent le problème du nombre de hits quotidiens. En relativisant, on devine toutefois facilement que l'on assiste ici à l'effet nouveauté et qu'un rythme normal devrait revenir très vite... Un grand merci à Mogyle pour ces deux interfaces graphiques formidables. On ne peut pas dire le contraire, le talent c'est bien! Bref, cette V2.0 est jolie et performante. Elle prend le meilleur de DotClear et de PunBB pour ne rien laisser puisqu'il n'y a que du bon dans l'Open Source. Il ne vous reste plus qu'à aller voir à quoi elle ressemble. Et ne vous fiez pas à l'image qui illustre ce billet, c'est un leurre!
LIRE LA SUITE...
Au travail !, En programmant..., La boîte à menthol..., Surfez léger...
Fin d’exploitation pour la base LV31?
11 janvier 2007 à 10:50 0
Il semblerait que la version 1.6.7 du 5 janvier 2007 soit la dernière de l'année scolaire en cours pour la Base Langues Vivantes 31... La décision d'une éventuelle reconduction du projet pour 2007/2008 se fera dans les jours prochains... Si la version 2.0 devait voir le jour, elle s'axerait principalement sur une optimisation de l'ergonomie. La saisie n'ayant pas toujours été très claire pour les 478 chefs d'établissements interrogés. Il faut dire que les termes techniques utilisés dans le milieu ne sont pas forcément très simples. En plus de cela, il fallait trouver le meilleur compromis pour gérer les structures pédagogiques (classes, enseignants et effectifs) et les organisations prévisionnelles des groupes de langues (groupes, niveaux, effectifs, durées, séances et intervenants) sans que la base de données ne devienne inexploitable. Car l'objectif principal d'une enquête est bien la restitution des données. Non? En répartissant le tout sur quatre types de sessions (chef d'établissement, inspecteur, agent de l'Inspection Académique et administrateur) la tâche n'a pas été des plus aisées. Malgré toutes ces composantes (et bien d'autres), la phase de saisie s'est plutôt bien déroulée. Les établissements du second degré sont ensuite rentrés en lice. Organisés par secteurs scolaires d'une manière pas forcément évidente pour un débutant, ceux-ci ont été intégrés à l'application afin de faire un rapprochement entre les langues vivantes enseignées en primaire et celles proposées lors de l'entrée en 6°. Heureusement que la Haute-Garonne ne compte que 90 collèges! La phase de récupération a, enfin, pu être attaquée. Hormis un petit souci de synthèse des effectifs dans les groupes de langues, cette phase a certainement été la plus simple. Les listings ont été édités au format Excel grâce à l'excellente librairie PHP WriteExcel... Espérons que ces informations seront génératrices de grandes décisions...
LIRE LA SUITE...
Au travail !, La boîte à menthol..., Surfez léger...
V3 is loading…
11 janvier 2007 à 9:42 2
Mogyle avait besoin d'un petit ravalement de façade et son propriétaire l'a bien compris. La V3 du site de vidéos et images humoristiques devrait voir le jour prochainement sous une nouvelle forme plus tendance. Avec un thème tout neuf, Mogyle pourra séduire un public (encore) plus large. Mais si les talents graphiques de son auteur ne sont plus à démontrer, il fallait qu'il équipe son site d'un tout nouveau moteur PHP... C'est là que le vrai travail a commencé. Au programme de cette construction :
  • la gestion des vidéos (et de leurs vignettes) par catégorie.
  • la gestion des images (et de leurs vignettes aussi).
  • la gestion des news.
  • la gestion des catégories.
Le tout totalement administrable en ligne via des formulaires de saisie. Le design a, au passage, été intégré dans une feuille de style CSS. Avec un état d'avancement raisonnable, ce projet pourrait toucher à sa fin prochainement. De quoi laisser du temps libre pour d'autres développements en cours...
LIRE LA SUITE...