Petit retour d’expérience…

La problématique

Je suis client Neuf Box depuis 4 ans, et donc SFR Box depuis peu… Mais le hic, c’est que je déménage à la fin du mois… nul part ^^ et oui, mon futur appart, je ne l’aurai que mi aout… Il me fallait donc suspendre la ligne ici, pour pouvoir ré-ouvrir ailleurs plus tard. Tout cela sans résilier si possible… pour ne pas avoir à payer 50 € de frais et me faire chier à renvoyer ma box en recommandé…

1er round : service commercial

J’appelle donc le service commercial pour trouver une solution…

- « Ah ba non, c’est pas possible » me dit une première…

- « Je ne vous demande pas si c’est possible ou pas ! Je vous demande comment on fait !!! Bon, passez moi votre supérieur s’il vous plait »…

A force de tergiversion, elle me passe quelq’un au dessus d’elle… C’est toujours pas possible d’après lui… je lui explique que c’est dommage pour eux, ils vont perdre un client… Pis je reviendrai pas chez eux après, car payer des frais de résiliation, je trouve pas ça fun… Blabla pendant pas mal de temps… Mais ils trouvent pas de solution.

2ème round : service résiliation

J’appelle donc le service résiliation avec l’espoir de trouver une fin heureuse… J’étais prêt à déballer toute une liste d’arguments pour leur dire que ça me faisait chier de partir de chez eux avec les emmerdes que ça comporte… Même pas eu le temps… Le mec m’a direct proposé une suspension de contrat pour une durée indéterminée, pour seulement 10€… Et quand j’ai mon nouvel appart, il me suffit de rappeler le service résiliation (oui, il m’a dit de pas tenter le service commercial, ils n’y arriveraient pas ^^) pour réactiver l’ensemble !

Et voila, tout qu’est bien qui finit bien donc :)

Bonjour,

Hier, j’ai testé Chronodrive, le supermarché « en ligne »… Ils se sont installés récemment à Troyes, à 2 pas de mon école. Et bé, c’est bigrement pratique !

portail_21

La veille, j’ai fait ma liste de courses dans mon salon, tranquillement affalé dans le canapé.

- Lardons ? euhh, est-ce qu’il m’en reste ?… petit tour au congel.. hop, j’en achète 2 barquettes :) Et ainsi de suite… J’ai parcouru les rayons virtuels de leur site, en constatant que les prix sont similaires aux magasins « réels » où j’ai l’habitude d’aller (Carrefour, Leclerc). Bon, le site fait un peu vieillot et bordélique, on aurait aimé tout pleins d’Ajax à la mode 2.0… mais ça reste fonctionnel.

Le lendemain midi, je recheck ma commande (oui oui, c’est pas bon de faire les courses quand on a la dalle, comme c’était le cas la veille :) on se laisse tenté par tout pleins de trucs inutiles ^^). Je supprime 2-3 trucs, et hop, validé, et k’indique que j’irai chercher ma commande à 15h30.

15h35 : départ de l’école… 2 min après, je suis à la borne Chronodrive… J’entre mon numéro client, un coup de carte bleue… et je me dirige vers le point de retrait, une sorte de station service mais sans pompe :)

Le caissier… euhh non, le préparateur de commande… très sympa… message d’accueil pour ma première commande, qui faisait un peu appris par coeur, mais suffisamment convivial… Il m’offre en cadeau un splendide (non non, j’exagère qu’à peine) bloc note/ardoise magnétique, à coller sur le frigo.. avec stylo qui s’accroche aussi… la grande classe… Il m’offre même des knackys, car elles périmaient dans 1 semaine et qu’il ne pouvait plus les vendre. Quel service :) Le tout, dans des sacs plastiques énoooooormes et plutot solide… Reconvertibles en sacs poubelles à l’occas’.

Il m’invite à aller me faire une carte client à l’accueil, pour ne pas avoir à taper mon code client à la borne, mais juste passer cette fameuse carte devant…. Je m’exécute… A part les murs aux couleurs vomitives dans l’accueil (vert pomme et rouge foncé), c’est plutot sympa… La madame me fait ma carte en 30 secondes… Et 15h45, 10 minutes seulement après avoir quitté l’école, je sors du Chronodrive, le coffre plein !

Que du bonheur donc… Pas à faire la queue à la caisse, pas à se trainer son caddie, à le remplir, le vider à la caisse, le re remplir, le re vider dans le coffre… Pas de tentations too expensive en vagabondant dans les rayons… Pas de vieux à supporter qui trainassent dans les rayons, qui garrent leur caddie en plein milieu des rayons…Pis ça doit être plus écolo comme concept… Le magasin, c’est une plus petite surface au sol… Y a pas besoin de bétonner un énorme parking de 500 places…

Certes, je continuerai de faire de temps en temps mes courses en grande surface standart, pour le plaisir de « flanner »… mais pour les courses quotidiennes, cette formule est carrément plus pratique ! Le seul hic, c’est que je quitte Troyes dans 3 semaines… Et où je vais, y aura surement pas de Chronodrive :(

Bonjour,

Aujourd’hui, je vais vous parler d’une de mes activités annexes, au sein de l’association GayuxWeb

L’association :

GayuxWeb est une asso créée par un groupe d’étudiants et qui propose principalement de l’hébergement web. Ils participent au projet BOINC (calcul partagé à buts médical, humanitaire , scientifique…), proposent différents tutoriels sur leur site web, et, occasionnelement, réalisent des sites Web.

Le site : http://www.gayuxweb.fr/

Le client :

Luxeri est une société spécialisé dans la fibre optique (éclairage, signalétique…). Elle nous a connu par « connaissances communes » (ne faisant pas de pubs sur cette activité, c’est un peu la seule façon ^^).

C’est d’ailleurs un gros avantage de ne pas être une entreprise qui DOIT faire du site web pour vivre, payer ses factures et ses employés… Là, la création de site web est un plus, on ne court pas après les clients… car de toutes façon, c’est, à mon humble avis, la partie la plus complexe pour une boite de création de sites… Le temps et l’énergie passés à démarcher n’est pas du temps où on crée de la valeur… Sans compter que techniquement, étant étudiants et faisant pleins de choses à côté, nous n’aurions pas le temps de démarcher à droite à gauche.

Partie administrative :

Personnellement, je ne fais pas partie de cette association, mais est considéré comme un « prestataire ». Grace au CEA, le chèque emploi associatif, je peux être rémunéré, ce qui me permet de gonfler un peu mon petit budget d’étudiant :)

Le CEA ne semble pas très connu par les administrations, au vu du temps de mise en place… Il doit y avoir un sacré manque de formations/informations auprès des banques, services administratifs pour toutes ces nouvelles solutions…

http://www.cea.urssaf.fr/

Partie technique :

Pour ce site, j’ai eu envie de découvrir un nouveau CMS (Gestionnaire de Contenu)… J’ai cherché un peu ce qui se faisait… J’ai arrêté mon choix sur CMS Made Simple, qui m’avait l’air sympathique et bien adapté aux besoins de notre client. Encore un aspect qui aurait été difficile dans une vraie boite… L’aspect temps/argent aurait primé, et j’aurai utilisé un CMS que je connaissais… Là, en mode pseudo associatif, sans trop de contraintes de temps (je compte pas mes heures :) ), j’ai pus tester ce nouveau CMS.

La communauté est plutôt accueillante et disponible… Le CMS manque encore de développement à mon gout, mais est sur une très bonne voie. Une nouvelle version ne devrait pas tarder d’ailleurs…

J’ai intégré dans la partie contact du site mon premier Google Street View, je trouve ça fun :) Bon, évidemment, pour que ça marche sous IE, j’ai bien galéré… mais à priori, ça fonctionne à présent !

Pour l’aspect professionnel de la prestation, j’ai réalisé une grosse doc de formation / administration du site, qui m’a pris un certain temps, mais une certaine fierté quand même :) Cela permettra au client d’éditer ses pages ou d’en ajouter facilement, en suivant cette doc.

Apport personnel :

Toujours très intéressant de travailler avec quelqu’un d’extérieur… Relation clients / fournisseurs, pédagogie pour expliquer des technologies que l’on maitrise à d’autres personnes qui elles, ne sont intéressés que par le résultat (logique d’ailleurs, ce sont les clients).

C’était ma deuxième création de site pour l’association GayuxWeb, et je pense avoir eu une approche encore plus professionnelle que la première fois (je ferai un article sur ce premier site un de ces quatre…). Aucune personne de l’asso ne connaissait le client contrairement à la première fois, ce qui impose un certain professionnalisme… Bref, expérience très enrichissante !

Cependant, je n’en ferai pas mon métier… C’est quand même frustrant de devoir attendre toujours les retours des clients au fur et à mesure de l’avancée du projet… Quand on bosse pour soi, on n’a pas ce problème au moins… On avance à son rythme, dans la direction que l’on veut… Sans compter que ce genre de projets me ralentit (euhh, me stoppe même :s) sur mon projet nouveau PJEA / Symfony… Qui du coup, n’a pas avancé d’un poil depuis mon dernier article sur le sujet… Au vu de mon planning des prochaines semaines, je risque peu de m’y remettre avant Aout :s Cependant, je partirai pour 6 mois de stage quelque part en France… Et là, j’aurai que ça à faire de coder PJEA :) Je continu donc d’espérer le lancer pour la saison prochaine !

Le site donc : http://www.luxeri.fr/

A bientot !

,

Bonjour,

Commençons par expliquer ce qu’est l’admin generator de Symfony… Globalement, en 2 temps 3 mouvements, et quelques lignes de codes, cela nous permet de créer une interface pour administrer notre base de données. Typiquement, on se crée un phpmyadmin pour notre partie administration.

J’ai donc créer un petit « layout », le schéma de page globale à chaque page d’admin, avec un menu en haut pour accéder à chacune de mes tables, et j’ai laissé faire la magie Symfony :

menu_admin

une page d'admin... certes, c'est pas très joli ces inputs sombres... mais c'est lié à mon thème d'Ubuntu, qui permet de ne pas se fatiguer les yeux :)

Malgré tout, mieux vaut avoir quelques connaissances assez pointues en PHP pour comprendre comment ça fonctionne, et l’adapter à ses besoins… Car les « fatal error » ou autres « parse error » s’accumulent…

Déjà, premier réflexe, ajouter des méthodes __toString() à chacun de ses classes de la base de données objet.

Exemple, dans le fichier lib/model/MaTable.php :

class MaTable extends BaseMaTable
{
  public function __toString()
  {
    return $this->getName();
  }
}

Cela lui permettra de savoir quoi afficher quand vous faites des liens entre plusieurs tables (la méthode toString est une « méthode magique », qui est appelé quand on fait un echo sur un objet).

Autre déconvenue qui m’a pris bien plus de temps à résoudre… Quand vous faites des liens entre des tables, par exemple, une table qui relie les utilisateurs à des droits :

doselectjoinall

le doSelectJoinAll

L’idée est d’avoir, dans la liste, le nom du droit et le nom de l’utilisateur… et nom leurs id respectifs… La solution st venu du doSelectJoinAll, dans le fichier de configuration generator.yml :

      list:
        title: Droits des utilisateurs
        display: [user_id, credential_id, credential_comment]
        peer_method:  doSelectJoinAll

Très facilement, j’ai pu créer mes propres modules à la structure proposée par Symfony… Par exemple, ce module qui permet de créer des QCM, réalisé en « Ajax », à l’aide de Mootools…

qcm

création d'un QCM en javascript

Un petit défaut sur le HTML/CSS de base… Le filtre est une bonne idée… mais à moins d’avoir un écran de 50″, le div de filtre recouvre les champs de la table… Du coup, je vais devoir modifier le CSS pour le passer en dessous de la table…

filtre

un recouvrement de filtre pas très joli

Voila pour les grandes lignes… J’ai encore pas mal à explorer sur l’admin generator, mais l’essentiel est que, en pas trop longtemps, j’ai réussi à répondre à mon besoin ! Et c’est bien là l’intérêt d’un framework !

mettre en place son wiki perso

Bonjour,

Aujourd’hui, je vais vous faire part d’une expérience perso… la mise en place d’un wiki perso. Voila quasiment 1 an que je me suis installé ça, et les utilisations sont tellement variées que je ne peux toutes les décrire.

Globalement, c’est vraiment l’endroit idéal pour y placer tout ce qui nous passe par la tête, l’endroit idéal pour stocker des infos qui nous serons utiles plus tard… Peso, j’ai un dossier avec des recettes de cuisine, une page avec mes futurs achats prévus, mes projets en cours… J’y centralise mes recherches de stage, j’y colle des bouts de codes PHP trouvés à droite à gauche, ou des choses indispensables pour Symfony… Bref, rapidement, ça devient véritablement votre mine d’or :)

Allez hop, je vais vous donner une liste de conseils en tant qu’expert du wiki perso ! (ou du moins, conseils issus de mon expérience perso)

Conseil 1 : le moteur du Wiki

Inutile de recoder wikipedia pour ça… Il faut vraiment réfléchir à son besoin dans le choix de l’outil ! Et là, nos besoins sont réellement limités… Il nous faut avant tout quelque chose de simple. Après recherches, je me suis penché sur Dokuwiki. Nombreux avantage : très simple à mettre en place (pas de base de données, tout est stocké dans des fichiers), une admnistration facilitée (chaque page est enregistré dans un fichier texte, l’arborescence des dossiers correspond à l’arborescence du wiki…), et pour compléter le tout, l’interface de création d’article est simple et il est facile de structurer proprement ses infos.

Conseil 2 : le serveur

Encore une fois, ne pas voir trop grand… Un hébergement type ovh 60 GP, à 20 € par an avec nom de domaine, suffit amplement. Il suffit qu’il accepte le PHP… Ne surtout pas le mettre en local sur son PC, on perdrait tout l’avantage d’avoir un accès de n’importe où dans le monde… ni sur un serveur bricolé à la main dans son salon… D’un point de vue stabilité, c’est pas top… Exposé aux coups d’aspirateurs ou aux projections de flotte :)

Conseil 3 : ne pas perdre 3 jours à le personnaliser

Et oui, si on commence à tout vouloir personnaliser, on perd un temps fou… pour pas grand chose. D’un point de vue design, celui de base du Dokuwiki a l’avantage d’être clair et simple… A la limite,  2-3 plugins (pas de conseils à vous donner la dessus, j’ai touours pas pris le temps de me pencher la dessus)… Et bien sur, limitez quand même l’accès au wiki, ou du moins à certains dossiers… ici, le but n’est pas de partager vos connaissances avec l’humanité, mais d’avoir un espace pour centraliser tout ce dont vous avez besoin.

Conseil 4 : structurez un minimum

Créer quelques dossiers,  voir des sous-dossiers… Quand vous écrivez une page conséquente, hiérarchisez bien vos parties, ça permettra à Dokuwiki de vous générer le sommaire automatiquement.

Et hop, n’hésitez pas à le remplir au jour le jour… au bout de quelques semaines, il commencera a atteindre une taille suffisante pour devenir réellement un outil intéressant… pour ne pas dire indispensable.

A bientot

Depuis 2 semaines, je me suis (enfin) lancé dans mon projet Symfony ! Il s’agit de coder la nouvelle version de mon site, le PJEA (site de pronostics sur le sport automobile).

La première chose à noter, c’est que c’est TOTALEMENT différent de coder son projet perso que de suivre un tuto, genre Jobeet :) On a beau recopier à la main le bout de code, le copier-coller… on se dit qu’on comprend ce que ça fait…. mais quand on part d’une feuille blanche, c’est bien différent… Les débuts ont été laborieux…

Mes outils

Je vais commencer par détailler mes outils pour ce nouveau projet.

Bien que toujours fidèle à mon Windows Vista, il faut se rendre à l’évidence… coder sous Symfony demande d’être sous un système Linux… Donc, la parade, pour pas non plus changer toutes mes habitudes… la virtualisation !

J’ai donc installé VirtualBox, et virtualisé avec Ubuntu 8. L’installation du packetage minimum fait (un apache, un mysql…), j’ai commencé à chercher un éditeur plus sympathique que Vim… J’ai jeté mon dévolu sur Eclipse PDT 2.0. Très pratique, beaucoup plus maniable que Vim… De l’autocomplétion, une analyse du code en live pour les oublis de  » ;  » ou autre… A côté de ça, un terminal, pour pouvoir lancer les commandes Symfony… et hop, en avannt !

Les premières lignes

Le projet généré, la première étape a été de créer le schema.yml, le fichier qui permet de définir la base de données. Histoire de commencer en douceur, je me suis limité en nombre de tables… 7 tables pour l’instant, avec le minimum de champs dedans. Le premier objectif est de pouvoir s’inscrire au site, se connecter, et faire des pronostics. Quand cela marchera, j’ajouterai les autres fonctionnalités (et elles sont nombreuses…).

Pour le module de connexion/inscription, ma première étape, j’ai préféré le recodé entièrement au lieu d’utiliser le plugin sfGuard.Ca me permettait de commencer en douceur… Je me suis quand même inspiré du plugin, quand j’étais bloqué dans mon code.

Ca m’a pris du temps, mais c’est bon, à présent, ça fonctionne bien… Avec pose de cookie si le joueur veut être connecté à la prochaine visite… de l’ajax (utilisation de Mootools, une librairie légère est très sympahique à utiliser).

Je me suis ensuite attaqué au module « prono », qui permet au joueur de faire ses pronostics. Pas mal de complications là… J’ai crée mon propre « validator » pour mon formulaire (on ne doit pas pouvoir pronostiquer 2 fois le même pilote).

De grosses difficultés avec la gestion des timestamp et des datetime… La comparaison ne voulait pas se faire… Heureusement, après de longues recherches, la fonction strtotime() m’a sauvée la vie :)

Côté formulaire aussi, pré-remplir les <select> avec les valeurs précédemment rentrées par le joueur (si il veut modifier son prono, il falllait que le formulaire soit pré-remplit avec les anciennes pilotes choisis). J’ai demandé un peu d’aide sur le forum de la communauté Symfony… J’y reviendrai dans la partie « Bilan »…

Au final, après ces 2 semaines (pas intensives non plus, je vous rassure :) ), je suis arrivé à mon premier objectif. Mes 2 modules fonctionnent ! Je vais pouvoir attaquer de nouvelles fonctionnalités.

Bilan personnel

Quel bonheur la programmation « agile ». Certes, il y a beaucoup de fichiers, beaucoup de dossiers… mais comme tout est agencé de façon parfaitement logique, on peut apporter des modifications au fiur et à mesure du développement. On commence par le minimum de ce que doit faire la fonction, et on étoffe au fur et à mesure.

La refactorisation est aussi indispensable. Dès que quelque chose fonctionne, il faut prendre le temps de réorganiser le code (placer ce qui a rapport aux données dans les fonctions liées à la gestion de la base de données « objet »… créer des classes séparées… ne pas répéter son code en différents endroits… et toujours bien respecter le principe MVC (Modèle-Vue-Controleur).

Dans les déceptions… Un peu déçu quand même par la communauté Symfony… J’ai posé 2 questions sur le forum… La première, j’ai du la relancer pour que quelqu’un s’intéresse à moi… la deuxième attend toujours… Et pourtant, ce n’est pas des questions que j’ai posé par flemme de chercher… J’ai d’ailleurs non sans mal trouvé la réponse à ma deuxième question tout seul… Je me suis donc auto répondu… Bien évidemment, je suis conscient que ça n’est pas leur métier de répondre aux questions, et qu’ils doivent voir passer pas mal de questions stupides tout les jours… mais bon, ça fait pas trop esprit ouvert… Pis la première personne a m’avoir répondu a envoyé de façon bien stupide un lien vers un autre topic, que j’avais déjà lu, et qui ne répodnait pas du tout à ma question…

Pour finir, dans mon approche de la découverte de ce framework… J’ai pas pris la meilleure décision je pense… Je me suis lu la totalité de la doc (un genre de gros pdf de 350 pages, expliquant les bases de tout le fframework) avant de commencer. Ca m’a pris du temps, et au final, je suis forcé de reprendre pleins de parties… Car c’est quand on est vraiment confronté au problème qu’on comprend l’intérêt de telle ou telle fonction.

Mon petit conseil donc… Lire le minimum pour commencer… A la limite les introductions à chaque partie du framework… Et aller lire en détail seulement quand on se retrouve confronté au problème (les filtres par exemple, qui permettent de faire des actions avant ou après chaque requête – typiquement, l’utilisateur n’est pas connecté, on regarde si il a un cookie pour se connecter automatiquement) – j’étais passé à côté quand je l’ai lu la première fois.. j’ai du tout me relire cette partie quand j’étais confronté au problème.

Conclusion

A suivre… Et oui, je suis loin d’en avoir terminé avec ce nouveau site ! Mais plus je maîtriserai le framework, et plus le développement ira vite ! J’ai déjà pas mal gagné en rapidité par rapport au tout début.

A partir d’aujourd’hui, je vais ajouter de nouvelles tables, et de nouveaux modules à mon application… Développement agile… On avance petits pas par petits pas !

A bientot donc, pour de nouvelles aventures :)

Il y a quelques jours, j’ai découvert la méthode GTD, grâce à l’excellent blog « Des livres pour changer de vie », un mec qui s’est lancé dans un défi fou… lire 52 livres de management & Co en 1 an, pour passer son PMBA (Personnal MBA). Allez hop, le lien de son résumé de lecture ICI pis de l’article Wikipédia sur cette fameuse méthode GTD.

Comme dans toute méthode de management/organisation… ça casse pas 3 pattes à un canard à première vue… tout parait logique… et pourtant, on ne le fait pas… Bref, formaliser tout ça par écrit permet de s’y mettre pour de bon !

GTD (Getting this Done) est assez « permissif », impose pas une tonne de trucs à mettre en place mais fait réfléchir sur sa gestion du temps. Chacun y prend ce qu’il veut… De mon côté, ce que j’ai apprécié en particulier :

  • si une tâche demande moins de deux minutes pour être accomplie, faites la immédiatement.

Et oui, c’est tout bête, mais ça change la vie… J’essaie d’appliquer ça depuis quelques jours, c’est énorme ! Si je reçois un mail qui ne demande qu’un petit traitement, je le fais direct, alors qu’avant, j’avais tendance à le laisser dans la boite de réception et à attendre un autre moment pour m’y mettre… Soit, grosse perte de temps,vu qu’il faut relire le mail, se remettre en condition ^^ et tout et tout !

Application concrète : ce matin, j’avais un mail d’un joueur du PJEA. Au lieu de le mettre de côté, j’y ai répondu direct… et hop, une chose de moins à penser ! Esprit libéré = efficacité pour le reste :P

  • ne pas hésiter à jeter !

Alors là, encore beaucoup de progrès à faire… Très conservateur, je ne jette quasi rien… Et donc, j’accumule, j’entasse… inutilement ! Donc, à présent, dès que je reçois un truc, si ça ne servira plus, je vais « essayer » de le bazarder direct !

  • pour chaque projet, définir la première tache

Ca aussi, ça paye pas de mine… et pourtant ! Bien définir par quoi commencer, ça met aussi en condition !

  • ordonner

Bon, là, ça fait un peu méthode des 5S… Mais bon, faut aussi que je m’y mette. Organisation sur le bureau (virer tout ce qui sert à rien… on rejoint l’idée de conservateur :) )… mais aussi dans l’ordinateur… Objectif aujourd’hui… mettre tout au propre, les dossiers, les fichiers… jetter ce qui ne servira plus… bref, le grand vide !

  • ne pas accepter tout

La aussi, du boulot…. Va falloir se calmer dans tout les engagements que je prend à droite à gauche… car plus ça va, moins ça va ! Donc, objectif, ralentir le rythme de nouveaux engagements !

  • to do list et dossiers…

GTD donne aussi des idées sur cet aspect de l’organisation. Un dossier unique, décomposé en plusieurs pochettes

Pour classer les documents, pièces, justificatifs à traiter, David Allen préconise un échéancier à 43 dossiers (43 folders). Les douze derniers dossiers correspondent aux 12 prochains mois, les 31 premiers aux 31 jours qui viennent. Ainsi, en tête, on trouvera toujours le dossier contenant les notes et documents à traiter aujourd’hui.

Wikipedia

Bon, ça, je vais pas mettre en place, je suis pas non plus à ce point là booké :P mais je vais puiser la dedans… Pareil, centralisation des todo…  Je me rend compte que mon Wiki n’est pas du tout adapté !

Allez, je stoppe là, déjà pas mal de chantiers ! En avant pour le rangement :)

Je m’étend pas plus sur la méthode elle même, des gens ont écrit de bien meilleurs articles, je vous remet les liens :

Résumé de lecture du livre, par Olivier Roland

Article Wikipédia

Dans quelques semaines, je ferai un petit résumé de tout ça… Il faut aussi que je réfléchisse un peu au support sur lequel je vais centraliser mes todolist… Bref, bilan à venir !

Bonjour,

Le mois dernier, j’ai proposé à l’ensemble des joueurs du PJEA de répondre à un petit questionnaire de « satisfaction ».  (visible ICI si vous êtes curieux)

En le lançant, je ne n’étais vraiment pas confiant dans le résultat… Je m’attendais à moins de 10 réponses… Et au final, 26 personnes ont répondues ! Soit dans les 25% des joueurs réguliers ! Un grand merci à eux pour leur implication, cela m’a fait très plaisir.

Je vous propose en bas de page de télécharger le PDF regroupant tout les chiffres… et vous offre dans les lignes qui suivent mon analyse de tout ça !


Comment avez vous connu le site ?

Sans surprise, la majorité des joueurs viennent des forums (LTV mais aussi WRC.com du temps de son vivant !). D’ailleurs, moi même, c’est sur le forum de WRC.com que j’ai connu le jeu !

Conclusion : Il faudrait que je prenne plus de temps pour m’investir sur des forums… On verra dans le futur, là, pas trop le temps…


Utilisez-vous la messagerie ?

Environ la moitié ne l’utilisent jamais, l’autre « parfois »… En même temps, j’admet qu’elle n’est pas très pratique, pas très intuitive… et avec quelques bugs de ci de la…

Conclusion : fonctionnalité à conserver mais à améliorer dans les prochaines versions du site

Utilisez-vous les temps en direct à partir de votre portable ?

La majorité ne l’utilisent pas… je ne suis pas surpris en même temps.

Mauvaise communication de notre côté sur la fonctionnalité… Pas besoin d’avoir un iPhone ou un téléphone ultramoderne pour y accéder, ni un forfait illimité Internet. Un téléphone milieu de gamme suffit largement, et les pages sont très légères pour ne pas que la connexion coute trop cher.

Pour la saison prochaine, je ne sais pas trop si on pourra la reconduire. En effet, il est compliqué de récupérer ces infos en live.

Conclusion : mieux communiquer à l’avenir, bien expliquer le principe…

Avez-vous remplit votre profil ?

Majorité de oui… pourtant, j’ai l’impression qu’il y a peu de profils remplis sur le site. En même temps, ça n’est pas des plus clairs, je l’accorde… A l’époque, j’y avais implémenté trop de réglages possibles (choix du fuseau horaire et autres format de date…). Au final, beaucoup de temps pour rien :)

Votre avis sur le design ?

Ca fait plaisir, personne ne le trouve moche :) à moins que personne ne voulait vexer… Ca fait doublement plaisir, parce que le graphisme, c’est pas le domaine où j’excelle… c’est assez galère à faire pour moi. content que ça plaise !

Votre avis sur la navigation ?

Bon, en mettant cette question, je me doutais de la réponse… Moi même, je trouve la navigation mal étudiée… 50% ont quand même répondu que c’était simple… Encore une fois, pas envie de vexer peut être :)

Conclusion : la navigation de la prochaine version sera largement mieux réfléchie, je vous l’assure !

Des pronos sur d’autres catégories du sport mécanique ?

Très intéressante ces réponses ! Le championnat de France des rallyes fait envie… La F1 aussi… Télécharger le PDF en bas de page pour avoir les réponses complètes des joueurs.

Conclusion : A l’avenir, se diversifier dans les pronos !

Fréquence de visite ?

La majorité passe au moins une fois tout les 15 jours. Il faudrait proposer plus de nouveautés pour avoir des visites plus régulières… mais cela demande beaucoup de temps et d’énergie pour proposer du neuf tout les jours…

Que pensez vous du QCM ?

Les réponses m’intéressaient beaucoup sur cette question… Je cherche depuis toujours un nouveau format de QCM plus pratique… Et vos réponses m’ont permises de mettre le doigt sur le souci du QCM : certaines questions sont trop aléatoires (« différence entre hasard et réflexion », à souligné un joueur)… Et rapportent pourtant le même nombre de points…

Certains proposent d’ajouter une question historique… Perso, j’aime bien… mais comme on me l’a fait remarquer, on s’éloigne de l’esprit de « pronostic ».

Conclusion : le QCM va surement évoluer la saison prochaine… Un peu plus lié au prono surement, moins de questions, peut être, pour moins rebuter certains joueurs

Envie d’une newsletter ?

Encore quelque chose qui me tenait à cœur… Personnellement, je déteste être harcelé par des newsletters à tout va… Mais il est vrai que cela permet de se rappeler à la mémoire de nos joueurs, leur faire découvrir de nouvelles fonctionnalités…

Au final, il ne faudrait pas dépasser une toute les 2/3 semaines… Voir même une seulement en début de mois, résumant les activités proposés pour le mois entier.

Vos commentaires :

Beaucoup de commentaires très intéressants.

En vrac :

- un score forfaitaire pour les joueurs qui n’ont pas pu pronostiquer : ingérable je craint, idée pas vraiment retenue, désolé

- passer les pronos à 8 pilotes au lieu de 6 : j’y avais déjà pensé pour tout dire… mais je ne pense pas que cela apporterait grand chose finalement, et rendrait le prono plus long à faire (d’où, risque de perte de joueurs…)

- mail envoyé si on n’a pas fait le prono : cela est mis en place depuis 2-3 rallyes… en espérant que ça fonctionne :) car j’ai pas eu de retour la dessus

- problèmes de navigations divers… A l’étude pour la prochaine version

- forums trop compliqués : j’en suis conscient… j’ai voulu créer de toute pièces mon forum… au final, il n’a jamais été totalement fini… et est pas des plus intuitif…

- il manque des photos et des news : cela est en grande partie liée aux problèmes de droits pour les photos… Je verrai sur la prochaine version pour améliorer ça. Côté news, manque de personnes dans l’équipe…

- le GP PJEA, devenu plébiscite du vainqueur : certes, le GP PJEA n’a pas bien pris… malheureusement, très peu de joueurs y ont participé ou ont proposé des nominés. Si il y avait eu des propositions d’acteurs du rallye plus méritants, ils auraient bien évidemment proposés au vote ! Cela dit, une page se tourne sur cela… il ne sera très certainement pas reconduit, sauf si quelqu’un veut le reprendre en main.

- une récompense pour les vainqueurs ? c’est à l’étude… ;)

Comme promis, le PDF avec tout les chiffres : télécharger

Jour 15 : Flux RSS

Bizarre… Obligé de supprimer la première ligne de chaque flux RSS :

<?xml version="1.0" encoding="utf-8"?>

Sinon, il me renvoie une « syntax error »… Bon, du coup, mon flux risque d’être un peu moins valide… mais tant pis ! Je me pencherai plus en détail sur la question quand j’en aurai réellement besoin…

Excepté cela, ce tuto se fait très facilement… pas de difficultés particulières !

Jour 16 : le Web Service

Beaucoup de copier-coller pour moi dans cette partie… qui ne m’intéresse pas outre mesure… Et toujours ce problème de déclaration de version xml…

Sans compter un problème dans la partie du formulaire d’affiliation… Avec les actions du routing… Il s’avère que j’avais oublié de vider le fichier _form.php…

Une petite erreur dans leur code ( lib/model/… au lieu de lib/test/…). Flemme de m’inscrire pour ouvrir un ticket pour le signaler… Tant pis.

Au suivant !

Jour 17 : La recherche

Très impressionnant ! En réutilisant le Zend Framework, on met en place en quelques lignes un très bon formulaire de recherche !

Quelques soucis de droits au début… Heureusement, le très bon site d’Ubuntu était là : http://doc.ubuntu-fr.org/droits#changer_les_permissions

Jour 18 : Ajax

Un formulaire de recherche dynamique… pas transcendant comme Ajax… j’aurai préféré un truc plus impressionnant et plus utile… Heureusement, d’autres tutos Ajax existent pour Symfony !

Jour 19 : Internationalisation

Quelle puissance ça ! Il devient très simple de rendre un site multi-lingue. Cela me servira très certainement dans mes futurs sites !

Petit problème sur mon lien pour lister les jobs d’une catégorie, sur ma page d’accueil… Mais bon, l’essentiel est d’avoir compris le principe :)

Jour 20 : Les plugins

Encore une nouvelle façon d’organiser les fichiers de son projet… J’avoue ne pas être vraiment fan pour le moment… Pour un très gros projet, pourquoi pas… car sur un projet moyen, ça complique plus qu’autre chose…

Plus ça va, plus mon jobeet devient un grand n’importe quoi :) je tetse des choses par ci par là… je fais pas gaffe à les enlever… Du coup, au final, j’ai même pas un tiers des tests qui passent :) ma console devient toute rouge si je tente un test:all :)

Jour 21 : Design

Ca commence à sentir la fin… Je lis en diagonale ce jour… Pas intéressé pas re-designer mon Jobeet… Certes, il y a de jolis thèmes de proposés, mais passons…

Jour 22 : Le cache

Sympa le cache… Mais mon action index ne l’entend pas de cette façon… elle ne veut pas se mettre en cache… la bos en haut à gauche reste désespérement jaune… Pour l’action new, cependant, ça fonctionne ! C’est déjà ça !

Je me rappelle de l’époque où j’avais créé par moi même mon système de cache… Et ba, j’était bien courageux à l’époque… Car malgré les heures passées dessus, ils ne vaut pas un 1/100 de celui ci ! Bref, il faut vraiment arrêter de sans cesse réinventer la roue :)

Jour 23 : Déploiement de Jobeet

Dernier jour décisif, qui, je l’espère, va définitivement me convaincre de passer à ce framework, que j’ai découvert il y a déjà quelques mois, mais que je n’ai jamais vraiment utilisé. Ce maxi tutorial m’a permit de mieux m’en imprégner…

Lors de ma découverte de Ruby On Rails, l’étape de déploiement, justement, m’avait fait hésité à y passer… Voyons pour Symfony !

Après lecture du tuto, il s’avère qu’il ne traite que de la configuration du serveur… Mais une question me tiraille… Comment mettre à jour des changements dans la structure de la base de données ? Jusque là, la commande build détruisait tout les précédents enregistrements… Quand la question se posera (lors du déploiement de mon premier projet sous Symfony), j’explorerai plus en détails la question…

Jour 24 : Conclusion

Un dernier jour pour conclure tout ce que l’on a vu ensemble pendant ces 23 jours. Je me rend compte qu’il me faudra approfondir les notions de slots, partials et components… Pas encore très claires dans mon esprit (cela permet de mieux organiser le code, mais les différences entre ces 3 entitées étant faibles… je ne sais pas vraiment laquelle utiliser pour chaque situation).

A présent, je vais pouvoir me lancer dans mon projet perso ! Déjà, avec toutes les bases apprises par l’intermédiaire de Jobeet, j’y vois plus clair, et je peux m’attaquer à la réflexion sur les différents modules et l’architecture nécessaires à mon site.

A bientot, pour de nouvelles aventures Symfony !

,

Jobeet : jours 7 à 14

Jour 7 : La page des catégories

Un nouveau module… démarche intéressante, relativement différente du premier module « job ». Découverte de la pagination… aucune difficulté particulière…

Jour 8 : les tests unitaires

Quelqu’un a réussi à se motiver à faire des tests pour chaque fonction écrite depuis le début du tuto ? moi, non… Clair que c’est beau dans l’idée, mais il faut avoir une sacrée rigueur pour tout tester ! J’essaierai quand même de m’y mettre lorsque je ferai mon premier site sous Symfony…

Jour 9 : les tests fonctionnels

Vraiment énorme ça… Encore une fois, il faut la motivation pour bien coder ça proprement… mais après, c’est nickel ! Plus de risques de paumer des fonctionnalités après avoir codé de nouveaux trucs…

Et le tuto est bien fait… Apprentissage bien en douceur…

Jour 10 : les formulaires

Un peu brouillon ce tuto… tout arrive en vrac… pas méga clair… mais bon, au final, ça semble fonctionner… juste un problème de droit pour l’upload des logos sur le serveur…

Jour 11 : formulaires et tests

Chose intéressante, on apprend qu’on peut relativement facilement utiliser des bouts de librairie Symfony sur d’autres projets… genre le cache, le formulaire…

Sinon, rien de bien particulier durant cette journée. Les bases sont acquises, les progrès sont moins impressionnant que pendant les premiers jours…

Jour 12 : administration

Sacrément puissant… une interface d’admin parfaitement configurée en quelques lignes… reste que pour l’insant, tout le monde peut y aller… Les droits seront surement au programme des prochains jours…

Jour 13 : sécurisation de l’administration

intéressant de découvrir ce plugin, sfGuard… ou comment réaliser en 3 clics un controle d’accès… bon, piour mon futur projet Symfony, je pense quand même développer par moi même cette partie… je pense qu’il est assez complexe de mettre en place cela dans un site…

Au passage, mes tests fonctionnels ne sont plus passés dans le backend… il faudrait pouvoir simuler un utilisateur connecté… à voir…

Jour 14 : Voler des ses propres ailes…

Bon, encore une fois, je fais mon rebelle… j’en profite pas pour dévelloper un truc par moi même… je passe direct à la semaine 3…

A bientot !

,