Le carnet de bord du webmaster
Passez votre chemin c'est mes notes ici...
07 | 31 | 01 | 19 | 20 | 04 | 32 | 10 | 11 | 21 | 34 | 16 | 36 | 17 | 30 | 18 | 28 | 14 | 29 | 08 | 06 | 03 | 27 | 25 | 22 | 05 | 09 | 02 | 13 | 15 | 12 | 23 | 26 | 24 | 33
**** 02-05-2010
06h41 : Il est important de donner du rythme à son travail. La discipline permet à l'élève qui s'y plie de progresser à grands pas. J'aime comparer la courbe d'apprentissage d'un thème avec ces courbes : http://www.mathcurve.com/ Et me dire que celui qui se plie à la discpline prend le chemin du milieu. Il me semble que ces courbes sont réellement porteuse d'une philosophie, voire d'une religion; Aujourd'hui, jusqu'à 09h30 : entraînement sysadmin : J'ai un livre qui s'appelle monter son serveur de mails sous linux. Le lire... 09h25 : ok, pas sûr en fait que j'ai besoin de lire ce livre, mais je vais le faire quand même car j'ai de sérieuses lacunes dans ce domaine, et peut être cela me permettra de les combler, voire d'utiliser comme ils disent dans le livre ma propre solution. Si je prends 2 heures pour cela tous les jours, peut être aussi sera t'il que je me soucie de ma propre situation, car je n'ai plus de ressources. Je vais donc consacrer 2 heures à joomla, un peu plus tard dans la journée, et si possible tous les jours, car Joomla! peut me faire gagner de l'argent, ça pourrait être en quelque sorte mon taff officiel. Douche. 10h02 : bon. la suite svp. Ajouter un champ siret pour les commerçants dans le formulaire et le mettre sur le site D'abord un peu de documentation : c'est quoi un siret : Numéro SIRET précédente suivante Définition Le numéro SIRET est un identifiant d'établissement. Cet identifiant numérique de 14 chiffres est articulé en deux parties : la première est le numéro SIREN de l'entreprise (ou unité légale ou personne juridique) à laquelle appartient l'unité SIRET ; la seconde, habituellement appelée NIC (Numéro Interne de Classement), se compose d'un numéro d'ordre à quatre chiffres attribué à l'établissement et d'un chiffre de contrôle, qui permet de vérifier la validité de l'ensemble du numéro SIRET. Bon, ok. Toute entreprise légale devrait donc avoir un siret, si je ne m'abuse, donc ok. Je rajoute cela à mon schéma sql. Je mets à jour la table. Parenthèse pour vérifier un siret http://www.infogreffe.fr/infogreffe/index.jsp Pff, apparemment c'est payant d'accéder au numéro de siret, nul. Et en plus c'est hyper cher http://www.sirene.fr/Conditions_commerciales/default.asp Bon, je vais le mettre quand même. Et pour vérifier que le commerce existe, si le siret n'existe pas, alors je devrais aller sur place… 10h38 : le formulaire est à jour: le champ siret attend une chaîne de caractères de 14 caractères minimum. 11h02 : le siret s'affiche sur l'espace perso du commerçant, dans la partie infos, en bas à droite, seulement pour les commerçants qui l'ont rempli, c'est à dire aucun pour le moment. Mais je ne voulais pas mettre quelque chose genre "à déterminer" en attendant. Quoique… Si en fait je vais mettre à renseigner… ça montrera mon désir de le mettre pour tous, et ça évitera qu'on se demande mais pourquoi lui il en a et lui il en pas ? 11h11 : il y a une grosse faille dans mon système : si le commerçant peut modifier son numéro de siret, alors le numéro de siret ne vaut plus rien; Le commerçant ne DOIT PAS pouvoir modifier son numéro de siret après vérification par un contrôleur Tours annonces. 11h28 : ok ca y est. La suite :: Commerce espace perso : bouton de navigation Un bouton précédent et un autre suivant permettant de naviguer d'un commerce à l'autre sans avoir à revenir sur la liste à chaque fois. okok; commençons par le visuel photoshop. il me faut 2 flèches Oups, avant j'ai oublié de dire sur les offres commerciales qu'un commerçant doit avoir un siret pour s'inscrire. Ca y est. 12h19 : mes 2 flèches sont crées, passons à l'intégration. 12h37 : ok sur firefox, ok sur chrome, je n'ai pas encore ie (bouh la honte). Téléchargement de ie8 ah ben non en fait j'utilise parallel desktop pour vaoir ie8, mais évidemment comme il partage pas les fichiers, il faudrait que je réinstalles l'appli sur ie. Ca me saoûle, je zappe, et je regarderais depuis internet quand ça sera en ligne…`Pour l'instant, on fait comme ça. 12h56 : donnons le comportement souhaité aux flèches. 13h23 : ok, la suite. Evolution : améliorer le système de commentaire Evolution Ajouter le système de commentaire avec photo à droite pour le développeur et bulle (voir photo en exemple en local). Je parle du commentaire d'une suggestion... Vraiment pas le truc important, j'me demande ce que ça fait là, menfin bon… (pas payé pour réfléchir) Par contre c'est pas très simple à faire. En regardant le code actuel, j'ai une table todo_suggestion. sch-todo_suggestion1.png Ce que je voudrais c'est avoir une table, et une boucle à lancer. Mon intuition masculine me dit qu'en ajoutant un champ parent_id qui correspondrait à l'id de la todo_suggestion qu'il commente, ça pourrait le faire. Par convention, si parent_id vaut 0 , c'est que cet item ne commente personne. Mais si parent_id vaut par exemple 6, cela veut dire que cet item est un commentaire de l'item 6. Si plusieurs items ont pour parent_id = 6, ils seront classés par ordre d'id croissant ou décroissant. Cette situation correspond au fait que plusieurs personnes peuvent commenter un même item, ou que la même personne puisse commenter plusieurs fois de suite le même item. Dans tous les cas, il y a également la notion de côté. Par défaut, on écrit du côté gauche (il y aurait une flèche à gauche) Si on commente un item, il faut que la réponse se fasse du côté droit, c'est pus joli visuellement. Cela sera fait avec du css, mais il faut néanmoins être capable d'appeler d'appeler la bonne classe css depuis le code php. Ma question est de savoir dans le cas de multiples commentaires sur le même item, est-ce que les commentaires alternent à chaque fois, ou bien restent tous à droite. Cette question est à garder dans un coin de l'esprit, le plus sage est de mettre cela comme paramètre. Le commentaire commenté, récursivité. Pour tout faire en une seule boucle, il faut prévoir le cas ou John écrit un article, Su commente l'article de John Mike commente l'article du Su Paul commente l'article de Su Fred commente l'article de John Drill commente l'article de Mike. Le truc bien chiant quoi. Et la boucle devra sortir les résultats dans l'ordre, à savoir : John Su on John Fred on John Mike on Sue Drill on Mike Paul on Sue Ben non en fait ça colle pas ! Je suis en train de faire un hors sujet total… Afficher les éléments dans l'ordre chronologique, c'est plus logique dans une discussion. Bref, le sujet de base c'était juste que je puisse commenter la todo_suggestion d'un utilisateur, et dans ce cas, mon commentaire est mis en valeur (donc en le mettant à droite), afin que l'on puisse distinguer plus facilement qui parle. Malgré tout, je ne dois pas modifier l'ordre chronologique des événements, sinon, c'est la distorsion spatiotemporelle (back2the future)… Donc tout ce que j'ai à faire c'est que si c'est une réponse, je mets à droite, sinon à gauche. Je viens encore de m'épargner de longues heures de travail, je me félicite. Dans le cas précis de la todolist, il n'y a que le développer qui puisse faire des commentaires. En reréfléchissant, je vais finalement créer des distorsions spatiotemporelles. En effet, les discussions sont des unités logiques qu'on ne doit pas dissocier … Bon en fait je sais pas, ça me sâoule. Le mieux serait peut être un système ou l'on puisse déplier la discussion et le côté gauche et droit représenterait si l'utilisateur est plutôt du même avis que la personne qu'elle commente ou bien si elle a des idées opposées et dans ce cas elle passerait visuellement de l'autres côté. Bref, c'est trop de code par rapport à ce qui était demandé, je suis en hors sujet. Alors je vais simplifier. Les utilisateurs font des suggestions. Le développeur peut faire un commentaire sur la suggestion. Si c'est un commentaire, à droite. Si ce n'est pas une commentaire à gauche. Si c'est le développeur, mettre en valeur. Seul le développeur peut faire des commentaires. 14h14 : le problème est enfin défini, commençons le code. Donc commençons par ajouter un champ type à la table todo_suggestion. Ce champ type déterminera juste visuellement si l'item doit s'afficher à gauche ou à droite. maintenant mettons à jour l'affichage sur le site. pause. qui se transforme en sieste : 15h48 : je ne voulais pas faire la sieste. Je lui avais pourtant dit! Je ne VEUX PAS FAIRE LA SIESTE. Mais non! Mon corps est tombé en rade, et après on se plaint que le gens se réincarnent. Et le pire c'est que j'ai fait une demande de nouveau corps, et savez s'qu'ils m'ont répondu ? Il faudra encore patienter 70 ans monsieur. Non mais vous vous rendez compte !?? C'est du service après vente ça ? 70 ans pour faire une petite réparation, c'est pas s'fout de la gueule du monde ça ? Ah mais moi je renouvelle pas avec la sphère terrestre moi, c'est fini!. Non mais; Pfff. Laissons tomber, je vais faire avec en attendant, une alimentation équilibrée devrait résoudre mon problème. Non mais j'vous jure… Et sans vouloir faire mon alarmiste méfiez-vous, ils vous ont ptêt fait le coup aussi. Bref, l'énergie fluctue à nouveau dans mes veines, let's continue … J'aimerais avoir une petite flèche comme ils font dans certains systèmes de commentaires. 17h10 : ok fini. J'avais même pas vu que j'avais mis voir photo en local dans mon indication: bonben trop tard, suivant. Annonces liste : ajouter une vue Ajouter une vue en grille pour les annonces : 3 ou 4 par ligne. C'est vraiment n'importe quoi au niveau des priorités, c'est pas du tout prioritaire, bon, faisons quand même. En fait en regardant le mode journal, je vois déjà qu'il y a des bugs d'affichage, inutile d'aller plus loin, corrigeons déjà les bugs d'affichage du mode journal. 17h43 : ok, au passage je remarque que certains annonceurs arrivent à ne laisser aucune coordonnée :ni tel, ni mail. Heureusement qu'il reste la messagerie interne du système. Initialement, j'avais désiré que chacun mette au moins un tél ou un mail, ça me semblait logique. Mais avec le temps je me rends compte que certains annonceurs n'aiment pas voir leurs coordonnées traîner sur internet. Donc je ferme les yeux sur cela, je laisse cette liberté aux utilisateurs. Passons au 3ème mode d'affichage, alors, en grid… 18h23 : ca y est. img-gridstyle.png Et enffet c'est intéressant car c'est le mode le plus compact, à armes égales j'attends. Simplement car il utilise l'espace horizontal et vertical, alors que les 2 autres modes n'utilisent que l'espace vertical. On en revient au fameux schéma http://www.mathcurve.com/ La combinaison la plus efficace est un mélange des 2 forces : ici horizontal et vertical; Oups, j'ai oublié d'ajouter la date… 18h38 : ok. Par contre il faut que je rendes ce mode disponible dans la partie moncompte, et en faisant des variantes de couleur de fond pour les différents statuts. 19h19 : c'était pas facile mais ok. Maintenant je me permets d'ajouter une suggestion : je n'aime pas du tout le fait de naviguer et de perdre le mode en cours. Par exemple si je choisis grid, je veux que tous les liens menant à une liste s'affichent en mode grid, cela permet une navigation cohérente. 19h33 : ok pour les pages moncompte et le lien du menu principal. Reste la page d'accueil, hélas sans les cookies ou sessions je vois pas comment faire. Bon tant pis, je voulais pas, mais je vais sortir les cookies, car la navigation c'est important, et après ça j'arrête pour ajourd'hui sinon je vais scotcher toute la soirée alors qu'il faut que je fasses 2 heures de Joomla! et 2 heures de Maya, wafwaf Maya. Si on dit qu'il est 20h, déjà ça m'emmène à 00H, donc mettons en place le système de cookie afin que l'utilisateur retrouve le style d'affichage qu'il préfère d'une session Tours annonces à l'autre. (chui trop sympa comme gars.. ;)) Alors le problème des cookies, de mon point de vue, c'est que comme je n'ai pas capté totalement leur fonctionnement, il y a des fois des divergences de comportement entre la version en local et la version en ligne. Donc faudra que je vérifie tout mon travail en ligne… Et d'ailleurs ça fait tellement que j'ai pas dealer avec les cookies que je vais me rafraîchir la mémoire à coup de doc php. Pfff, ça marche pas comme je crois… petite pause, ces histoires de cookies ça me donne faim... 20h55 : yes, j'ai capté la raison de mon ignorance jusqu'à maintenant. En fait le paramètre qu'il FAUT setup sinon ça foire, c'est le 4ème paramètre qui indique le chemin, il suffit de mettre '/', pour dire tous le domaine, c'est pour ça que j'arrivais pas à récupérer mon cookie sur la page d'accueil. Bonben maintenant ça va être du gâteau. 21h07 : boum, ca y est pour les pages, reste le formulaire : çad le moteur de recherche… 21h18 : glad to provide the new feature ;) So now I'm finish with Tours annonces today, I'm gonna work on Joomla 'til 23H, this is 20minutes less than the expected 2 hours but anyway, I don't mind. It's just the idea of training my brain to differnet activities. What I notice from this kind of training, is that working a modular way, with small amount of time for each period, you have to maybe think differently, cause you would try to organise your plans a way that fit in this small amount of time, 2 hours in this case. Tw hours is short, that's why my brain will try to plan my work to not loose any additional time. Thinking different, having another point of view, it's kind of brain gymnastic I like, since it gives my work a new breath… So for today my goal on Joomla is quite simple to explain : make a menu. The menu I would like mine to look like is this one : http://www.clubmed.fr/cm/home.do?PAYS=133&LANG=FR It's a simple horizontal menu with dropdown. Still, two days ago I tried to find it on extensions.joomla.org but didn't found the easy to install module that would work perfectly without any other settings. I tried the sucker fish menu, but wasn't able to set it up 'til the end. Now let's take another look at the extensions, since Joomla! community is very active… just to be sure I'm not missing the feature I'm looking for… Really, I think this one could fit my needs : http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/drop-a-tab-menus/6731 And like two days ago, the root menu items appear, but not their descendant, I will have to investigate a little more… 21h50 : Now I found something very interesting, there was a small bug using the native superfish jquery provided library which was 1.2. something… And upgrading this library to the 1.3.2 made the bug vanish, but then I found that the main conflict was due to css overlapping propoerties of a .module class. Now I removed the module class from my template.css and the sucker fish appears. Nevertheless it is still buggy, cause just the upper part appears, it is clipped by something. And, I know I will correct this issue, let's give it a try… Now I've founded it! But the template is still problematic, … 22h12 : now it is done and it works like a charm, thanks to my css acrobatic skills. I'm not too bad with css ;) Now let's add the final touch, let's kustomize this menu so it looks like what it is supposed to llok like… 23h01 : Ok, I'm finish for today with Joomla, not totally finish but a good improvment. 23h09 : Finish with my work, can deal with my hobbies, unfortunately, I've no more strength for the hour to come. I need to rest before I can train on maya software, and upgrade the current version of the Tours annonces website. So, rest …. 01h31 : Réveil. Ch'rais bien resté au lit, mais bon, maintenant j'ai de l'énergie alors autant en profiter… Vais commencer par maya, donc jusqu'à théoriquement 3h30. Si je fatigue avant je m'occuperais alors de Tours annonces. 2h30, je commence un peu à ressentir un peu de fatigue, autant me débarasser de Tours annonces maintenant. 03h04 : parfois, chui vraiment naze : mon truc des cookies ça marche pas sur la page d'accueil; en fait en local j'ai testé avec le mode cache désactivé, mais en prod, avec le cache, ça courcircuite le choix par cookie… Bon mais il y a plus important : générer le cache aussi pour grid maintenant… j'avais oublié. Mise à jour de ma classe de création de cache. Maintenant elle crée des caches pour les 3 styles. Le problème est que c'est très couteux en performances : 48 secondes juste pour la création des caches sur Tours. Sachant qu'il y a 3 villes, cela devrait faire 3 * 48 secondes, pour l'instant. A optimiser rapidement sous peine d'avoir des pics de baisse de performances toutes les heures. Un truc que je pourrais faire est regarder les statistqiues pour voir quelles sont les besoins réels. Deuxième truc, répartir la création des caches sur la durée. Actuellement, le cache des 3 villes est créé au même moment. Bon, mais c'est pratique de ne faire qu'en 1 fois. A voir… Pour les cookies, le piège, c'est que si au moment où le cache est rafraîchi, un utilisateur a le mode grid dans son cache, alors c'est le mode grid qui sera appliqué par défaut pour tous les utilisateurs jusqu'au vidage du prochain cache, ce qui est abérrant; Aha, j'ai une solution pour la page d'accueil. En fait, il faut que je crée un cache par style d'affichage. Putain, c'est bien le moment, [blaz]… 03h33 : bonben je crois que je peux fermer maya... 03h44 : bonben c'était pas dur en fait. Mettons le tout à jour et contrôlons en prod... Yo, de mon point de vue cela fonctionne! Mettons à jour cela dans la partie évolution. Mais je parie que la plus grande partie des gens ne vont même pas remarquer le mode grid, faudrait limite que je mettes une grosse flèche : "hého, chui l'mode grid cliquez moi", mais non. 03h57 en regardant la liste, j'ai hâte d'arriver au référencement, mais apparemment c'est super bas dans la liste… référencement=thunes, c'est pour ça que je suis motivé… ;) 04h41 : Bon je viens de retaper mon système de blog quotidien, maintenant j'ai plus qu'à ajouter mon fichier quand j'ai fini de déiter des conneries, et de l'uploader sur le serveur. LEs liens, ah oui, zut j'ai oublié les liens... 04h46 : les liens ... ben en fait j'écris directement le nom de la ressource entre crochets, par exemple [ [maresource.jpg]]. J'ai ajouté un espace entre les 2 premiers crochets sinon il va me créer un lien... et il se démerde. Comme ça c'est fait une bonne fois pour toutes. Bon zododo. MODIF DE TABLES commerce : ajout du champ siret (varchar (45)) juste après photo todo_suggestion : ajout du champ type (char(1)) juste après date MODIF DE CLASSES Ling/VerificationRule/Standard.php