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
**** 13-05-2010
07h35 : start Bon, le problème d'avoir un super backup do all in one line, c'est moins grave que d'installer bind sur le nouveau serveur. Faisons notre tour de maintenance puis passons à la doc sur bind… 09h13 : en fait j'ai continué sur ssh, j'i mis en place de nouveaux réglages, testerai demain, faut qu'il me prompt à la fin de l'opération et me demande si je veux voir les logs.?.. lesquels … 09h23 Tours annonces 10h22 : petite intégration suite à la demande de mes parents qui chantent: http://www.chartresannonces.fr/ J'en ai profité pour rajouté ma commerciale touch pour juste quelques minutes d'extra work, pas de quoi s'arracher les cheveux. http://www.chartresannonces.fr/ 10h22 Bon les choses sérieuses recommencent… la suite… Autre chose, maintenant, dès que je vois une annonce pourrie, genre donne camping car contre bon soin, ou même si j'ai un doute, car je ne peux jamais être sûr, je vire l'annonce direct, au moins pour ça chui hyper rapide… Tours annonces c'est un service pour les gens honnêtes, sus aux arnaques… Commencent à m'casser les couilles… L'autre avec son slip là, c'est limite, je lui accorde le fait qu'il a mis un slip. Vivement la partie rencontres comme ça il pourra se lâcher et les autres personnes plus traditionnelles auront pas à se taper un choc émotionnel à chaque fois qu'ils iront sur le site.. Tout d'abord corrigeons les bugs détectés les jours précédents : 1. Bugs trouvés : la carte : les images de la colonne de droite ! Carte inappropriée pour les autres villes. 2. le nombre d'annonces publiées sur le profil utilisateur 3. par contre reste un bug au niveau de l'affichage du siret… Et maintenant sortons notre extérminateur de bugs… 10h38 : la carte, problème de la colonne de droite résolu : juste un mauvais ciblage javascript-css. 10h41 : la carte n'apparaît pas dans les bonnes villes : résolu : la carte apparaît seulement sur Tours, mes chouchous.. 10h46 : nb d'annonces profil utilisateur, en fait pas de bug. 10h52 : problème des siret réglé, juste un mauvais ciblage de variable. Bon voilà, les choses sérieuses peuvent ENFIN commencer, la suite maestro… (pour les vidéos ch'frais en dernier sinon je vais pas finir ma todolist;..) Mon compte profil : biographie utilisateur Utilisateur Faire une biographie utilisateur : l'utilisateur peut écrire sa propre biographie, possibilité pour les autres de voter pour un profil ? Pour l'instant regardons déjà les tables pour faire un revover memory. sch-utilisateur.png Bon, voici à quoi je pense : pour la biographie, un champ texte dans utilistateur_tan Pour le système de vote, une table utilisateur_popularite avec les champs suivants : id date id_utilisateur_votant id_utilisateur (celui pour lequel id_utilisateur_votant a voté) En gros, un utilisateur ne peut voter qu'une fois pour un utilisateur; Problème : comment nuancer le vote : faire du % au lieu de binaire ? Soluce : ajouter un champ note, qui, si on veut faire du binaire est locké à 0 ou 1, mais sinon n'importe quel nombre. Pour déterminer la popularité d'un annonceur, on fait sql : select count(*) as popularite from utilisateur_popularite where id_utilisateur=:id_utilisateur (ancien système) et maintenant avec le champ note : id date id_utilisateur_votant id_utilisateur (celui pour lequel id_utilisateur_votant a voté) note ben faut juste modifier la requête : here is not a tutorial, please learn from the web; (bête) beaucoup moins rapide anyway; on utilisera SUM . Bref, on pourrait ajouter un système de commentaire, du coup ça pourrait servir pour savoir si un utilsiateur est bon ousi c'est un arnaqueur, dans le cadre du système d'annonce. Entre autres. Ouai pas con, à la ebay, les gens se notent les uns les autres, perso, je regarde toujours les comentaires utilisateurs sur un site, c'ets mon témoin. ok on va faire ça, donc mise à jour des champs : ca donne ;;. id date id_utilisateur_votant id_utilisateur (celui pour lequel id_utilisateur_votant a voté) note commentaire Du coup la note ca fait scolaire, on peut toujours le garder dans la table;.. Mais s'en servir juste pour calculer la popularité d'un utilisateur, juste pour le fun. Ou ? Sur le profil d'un utilisateur Sur l'annonce, puisque c'est l'endroit que les gens visitent : lire les commentaires utilisateurs (en option lien à déplier ou direct la liste). Les lignes :voir exemple sur commentaire commerce. Ah ben oui nickel , design come commerce… Essayer d'abstraire un commentaire si c'est pas déjà fait pour l'utiliser sur n'importe quoi. Voyons au niveau de la table ce qui a déjà été fait pour commerce.;. Apparemment une structure existe déjà, et on peut noter généralement qu'un commentaire semble avoir commentaire note (sauf pour todo_suggestion) date_creation statut appartient à un utilisateur Ok, on va donc essayer de développer dans le même sens en ajoutant certainement une table non pas biographie (j'ai dévié) mais commentaire_utilisateur ou commentaire_profil et en gros on était dans le juste avec les champs esquissés précédemment : Maintenant ce qui m'intéresse c'est ce qui a été fait au niveau du code . Classe ? anarchie ? voyons… bon, c'est du copier coller adapter. Pas très fier, mais bon; Si je veux passer en objet, hormis le fait il me faudra le temps de coder puis de remettre à jour les anciens scripts, vérifier que ca marche. Alors que si je reprends le copier coller, j'ai juste à adapter. En fait, en analysant un peu plus le code, il reste très modulaire, puisque basé sur liste5, dont les parties charnières au niveau logique sont encapsulées dans des bouts de codes séparés. Certes en cas de changement majeur il faut modifier tous les appels … zgasp … Mais le ctrl F est efficace. Je peux voir chacun de ces fichiers comme des gros fichiers de configuration. J'admets que le plus propre aurait été l'objet, mais j'aime bien avoir l'esprit serein et beaucoup de temps quand je fais de l'objet, donc là, même si je suis serein, c'est censé être le rush, et l'objet chez moi c'est pas inné, donc pas le temps de flâner et de tester l'objet idéal, on va configurer un autre fichier de commentaire… Donc admettons qu'on le fasse, le design sera partiellement géré, dieu merci, c'est la même fonction qui a été utilisée pour l'affichage des commentaires, donc design, c'est réglé. Donc si je récapitules :: sur le profil de l'utilisateur, un bouton ajouter un comm. la liste (à déplier ou déjà dépliée) des coms pour cet user. sur le site, sur une annonce, il y a déjà un lien qui mène cvers l'utilisateur. Question : est-ce que ça vaut le coup de mettre les coms sur l'annonce direct ? Voyons comment s'est foutu… oui il y a la place, mais ca me donne une autre idée : les coms pour chaque annonce. En général quand s'est vendu, après on s'en fout. Mais imaginons une suite de coms sur l'objet … u: Cette annonce est un arnaque p: Oui je confirme c'est vriament une arnaurejrurezuuz ou: u: Est-ce que l'objet est encore à vendre ? ben non c'est pas un forum. Mais pourquoi pas en fait ? Un problème lié aux arnarques il me semble vient du fait que l'arnaqueur se sert d'un canal isolé, le mail, pour aattirer ses proies dans ses filets, à l'abri de tout le monde. Imaginons le scénario transparence totale, ou la discussion se poursuit sur 'lannonce… u: 63€, c'est un peu cher pour moi, je vous en donne 50. r: SI vous n'êtes pas content vous pouvez toujours aller voir ailleurs, ce produit, j'ai encore la garantie avec, je ne vais pas le descendre à 50€ i: On peut voir une photo de la garantie ? o: Je vous en donne 55€ r: 60€, c'ets mon dernier prix jean pierre. -- la transaction s'est terminée avec succès le 12-05-2010 à 15h22h13s [veneur : r, acheteur: [anonymous, o, i,…] Matière à réflexion… Tout d'abord on voit que i bénéficie automatiquement du flux passé de la discussion. Stop. En fait le téléphone est hélas bien plus rapide. Je ne pense pas que les gens vont se faire chier à utiliser un système de coms si ils ont un téléphone. Ce que je peux faire, c'est mettre dans les mentions légales, et au moment de l'inscription, que si une annonce est détectée comme ayant un n° de tél n'appartenant pas à l'annonceur, elle sera effacée sans autre avertissement; Du coup, comme les gens sont pas des gros geek comme moi ils préféreront sans doute le tél. Pour les geeks le chat aurait été bien, à voir,… Pour l'heure, le sujet est ajouter un système de biographie avec possibilité de voter pour l'utilisateur. Le système de vote est remplacé donc par le système équivalent de comentaire, et sur l'annonce, on verra un lien : voir les commentaires sur cette annonceur, ou bien les commentaires sur l'annonceur seront affichés directement. Pour des commentaires par annonce, je le sens pas comme un truc vital, ptet que je manque de jugeotte et que justement c'est un truc trop bien à mettre en place, mais là j'vois pas; Bon, et un lien ajouter un commentaire sur cet utilisateur, mais depuis le profil de l'utilisateur; Voilà 11h46 Reste plus qu'à coder… 1. création de la table. Note: Pour la biographie, j'ai pensé à l'idée de faire bénéficier les utilisateurs de mon gestionnaire de médias, pour qu'il puissent mettre des vidéos, photos, ziks… Pour l'heure hélas c'est le rush pas le temps de tester, ca sera du plain text (bouhhhhh, remboursez) pour tout le monde. Allez j'paie ma tournée de plain text.. Tapes ta biographie;.. Note:: Voici ma classe pour les commentaires que j'ai retrouvée class Tan_Private_Commentaire { const STATUT_CREE = '1'; const STATUT_REFUSE = '2'; const STATUT_VALIDE = '3'; } très lèg, mais suffisant pour ce que je veux faire;… 12H00 : Voici le schéma désiré : sch-commentaire-bio.png Hélas, workbench me bash… 12h17 : ok la structure sql est en place. Chui en train de penser à un truc : si des utilisateurs commentent un autre pour dire des choses sociales, genre j'aime bien la couleur de tes cheveux ou woo putain comment tu fais pour avoir autant de tao! Et que d'autres se référent aux commentaires sur le profil pour avoir des informations sur l'annonce en réalité, genre si c'est une arnaque, alors ils seront désappointés… Bon, mais si au milieu du lot de Comment ca va, l'utilisateur méfiant trouve la ligne qu'il cherche : cet utilisateur est un arnaqueur!, alors ça devrait le faire;.. Le truc, c'est que l'utilisateur ne peut pas modérer les commentaires qui s'appliquent à son compte. Sinon un arnaqueur retirerait tous les commentaires qui disent que c'est un arnaqueur. On the other hand, les mauvais comments tâcheront l'image de l'utilisateur sans qu'il puisse agir directement; Il devra alors passer par moi pour se plaindre etc… Etant donné que les coms appartiennent à un utilisateur, cela devrait déjà limité le fait que les gens fassent n'importe quoi, bon on verra c'était juste une parenthèse; Bon, commençons par la partie bio, c'est plus naturel. Cela va se passer dans l'espace mon compte d'un utilisateur. Dans la section profil, il y a aura un bloc supplémentaire qui permettra de créer modifier sa bio, une opportunité de remettre alive la signature… 3 pour le prix d'un qui dit mieux : couleur, signature, biographie a la pêche… Laissons exprès le html, pour permettre à ceux qui savent l'exploiter de tripper un ptit peu… Ben en fait le wysiwig normal quoi… J'vais juste tester qu'on puisse pas mettre de javascrpt, là ca serait abusé. 12h56 : musique 13h59 : Tours annonces Ah oui, le jcolor picker pour la couleur... pause 14h54 : color picker intégré… 15h15 : le formulaire est opé. Pour la bio, j'ai pu facilement intégrer le tinymce avec mon manager de media pour les images. Ca me donne d'ailleurs une idée, mettre le code du tinymce avec mon media manager in one place only... 15h20 : le code est ancapsulé dans l'objet Tan_Private_Media. Passons à l'affichage de ces infos côté site, ce m'intéresse surtout pour l'instant, c'est la biographie, et la signature, on verra la couleur une autre fois. 15h31 : Ca y est, j'ai également mis la couleur, même si je vois pas trop l'utilité maintenant. Ca me donne des idées pour la section emploi : mettre son cv en ligne… Bref, pour finir l'outil la partie profil, il me faut 2 flèches, comme pour commerce, histoire de pouvoir naviguer d'un utilisateur à l'autre; 15h43: ok Passons donc à la partie 2 :euh j'me rappelle plus c koi ? Les commentaires sur un annonceur. Sur son profil… 16h08 : après reflexion, je n'arrive pas à trouver un moyen correct de mettre cela en place : je en peux pas dire voir les commentaires de cet annonceur pour cette annonce, c'est déjà faire une dérive… Je suis obligé de dire voir les commentaires sur cet annonceur sur son profil, c'est la solution la plus logique qui s'impose d'elle même. Bref, donc tant pis pour cette idée de pouvoir voir rapidement si un annonceur est un arnaqueur : ça sera l'apannage de ceux qui maîtrisent un peu plus le site, c'est à dire ceux qui savent accéder à l'annonceur à partir de l'annonce. Bon, ça me casse trop la tête, je vais faire le truc le plus simple logique.. Et en fait je vais intégrer un truc comme ça : http://www.chezneg.fr/leblog/chezneg-leblog.php?id_art=115 Comme il le dit, c'est ce qu'intègrent youtube et dailymotion, car cela permet de jouer la vidéo sans pour autant recharger la page. Perso, je trouve également que en utilisant un système qui centralise et distribue les commentaires, cela permet de l'exploiter de plusieurs endroits différents sans avoir à retaper bcp de code, donc si jamais je voulais mettre les commentaires d'un annonceur sur une annonce, j'aurais pu avec cette technique là, mais je ne veux pas pour l'instant. En parlant de youtube, je viens de voir que j'aime bien ce qu'ils ont fait, je faire un truc qui ressemble; Et ça me fait penser que j'ai oublié un compteur de visite sur l'annonceur. Plus tard je le mettrai… Pour l'instant essayons déjà de capter ce tuto et de l'appliquer… Ouai ya rien à capter c'est le truc logique, mais moi ce qui m'intéressait c'était le système de pagination dynamique. Sinon le xml, bouai, pour l'instant c'est pas nécessaire dans mon cas, étant donné que j'ai pas l'habitude de lae manipuler, on va aller au plus intéressant. J'ai lu ici ce que je voulais voir :http://www.lafermeduweb.net/billet/jquery-pagination-un-plugin-jquery-pour-paginer-vos-listes-597.html Si vous ne souhaitez pas, ou ne pouvez pas faire une pagination en PHP (plus optimisé en performances), alors, il vous reste la solution Javascript ! Ca s'arrête là. En fait je vais faire un webservice. Si j'ai choisi que par défaut les commentaires ne sont pas affichés, alors je gagne un peu en perf et utilisation disk, car si l'utilisateur ne clique pas sur voir les commentaires, le calcul pour afficher les coms ne sera pas fait. Oui ca me plaît, tout en jquery et webservice. Ne charger que si on a besoin. Amazon : modèle en terme d'ergonomie : http://www.amazon.fr/Programmation-shell-sous-Unix-Linux/dp/2746042339/ref=sr_1_1?ie=UTF8&s=books&qid=1273761661&sr=8-1 Le système de commentaires est par contre trop poussé là. Ce qui me manque c'est le starter : entre autres : comment présenter l'info comment dire ajouter votre commentaire ? avec un bouton, avec un formulaire déjà ouvert ? Le pire c'est que je ne sais même pas ce que vont mettre les utilisateurs dedans, à part rien. Des trucs gentils, des trucs uniquement orientés annonce : genre cet utilisateur est un arnaqueur; ou la vente s'est très bien passée. Bon, jai perdu ma soirée. Déjà 16h46 et je suis encore devant le tableau blanc. J'ai malgré tout en mémoire le bribes par cil par là de ce que j'ai vu sur le web. Il est temps de commencer ma solution. Pour changer, ça va être une solution maison, inspirée de la tendance web actuelle; Et en fait mieux, vu le temps qu'il me reste et l'importance de cette tâche, je vais finalement suivre le plan de base : un copier coller des comments pour les commerces, c'est la solution la plus rapide; Allez go. téléphone, bon ben c'est mort;. 17h58 : un peu de sport.. 19h03 : j'me suis flingué les jambes, ça c'est sûr, maigrir, moins sûr… 19h04 : Joomla 21h : maya 23h : fatigué. On va essayer malgré tout de faire le système de comment;.. Ptet pas besoin de faire une note sur 100, une note sur 5 à la amazon.. avec star rating… Bon ben avec ça : http://www.fyneworks.com/jquery/star-rating/ c'est kool. 00h16 : ok c'est fait, but very basic, no time to extend… But one thing is missing : the note that the user gave to the other user. Actually it doesn't appear on the comment list. Then another thing that is missing is a global average value of the sum for all comments. Let's first implement the note beside the comment. 00h24 : ok, very basic design, but that's fine. Now last thing, the average value… 00h39 ok. Reste la mise à jour sur le site… Hier j'avais eu des surprises, car ma bdd en local ne régait pas exactmeent de le même façon que le bdd en prod… Espérons que tout se passe mieux cette fois. 01h00 : nickel, juste des petits oublis de permissions par ci par là. Mais bon ça c'et fait, (soulagement). Demain sera un jour nouveau, je vais pouvoir dormir tranquille, enfin comme d'hab quoi, mais carressé par la douce récompense de celui qui travaille et qui ne demande rien (comment j'me la pète…) . It was ling blog and personal life, over. PATCH SQL SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE TABLE IF NOT EXISTS `tan`.`commentaire_profil` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `id_utilisateur_note` INT(11) NOT NULL , `commentaire` TEXT NOT NULL , `date_creation` DATETIME NOT NULL , `statut` CHAR(1) NOT NULL , `note` TINYINT(4) NOT NULL , `utilisateur_id` INT(11) NOT NULL , PRIMARY KEY (`id`) , INDEX `fk_commentaire_profil_utilisateur1` (`utilisateur_id` ASC) , CONSTRAINT `fk_commentaire_profil_utilisateur1` FOREIGN KEY (`utilisateur_id` ) REFERENCES `tan`.`utilisateur` (`id` ) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1 COLLATE = latin1_swedish_ci; ALTER TABLE `tan`.`utilisateur_tan` ADD COLUMN `biographie` TEXT NOT NULL AFTER `signature` ; ALTER TABLE `tan`.`utilisateur_tan` CHANGE COLUMN `id_utilisateur` `id_utilisateur` INT(11) NOT NULL AFTER `id` ; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; Tan_Private_Media