Après 6 mois de test, ça y’est, je viens de signer l’avenant à mon contrat.

Je passe de développeur web à responsable technique Plone.

Alors, qu’est-ce que ça change ?

Déjà, je passe assimilé cadre, donc, je cotise plus et pas aux mêmes caisses.
Ensuite, mon job évolue, même si je fais toujours du développement, j’ai la responsabilité des architectures des sites, je m’occupe des serveurs, je fait les estimations de temps de développement, etc…

Bref, ça m’occupe bien.

Sinon, à côté de ça, avec l’association Chambé-Carnet, on est en train d’ouvrir un espace de coworking. Ouverture prévue au printemps. Ça nous prends énormément de temps, en ce moment on est en plein dans les travaux, le weekend dernier on a passé un sous couche de peinture sur tous les murs, et ce weekend on fait la peinture finale.
Mais là où c’est génial, c’est qu’on est pas tout seul, on est une bonne quinzaine à bosser sur le projet au niveau marketing, communication, gestion du lieu, suivi des travaux, amménagement…
Le weekend dernier, on était 8/10 pour peindre, c’était un super moment. Très bonne ambiance, et bonne motivation.

Il nous reste encore beaucoup de choses : le sol, les meubles, la déco, la comptabilité, la gestion, le recrutement d’un salarié, etc… mais tout ça est en bonne voie.

Je vous tiendrai au courant de l’avancée…

Ce qu’il y a de pas mal dans mon boulot, c’est que je vais régulièrement former des clients à l’outil qu’on leur a développé.

Ce coup-ci, c’est le Centre Culturel Français d’Alger…

Je vais donc aller passer quelques jours à Alger, ça devrait être plutôt sympa :)

(faut bien qu’il y ait quelques avantages à ce boulot ;) )

Trop un truc de ouf : j’ai enfin une plante sur mon bureau !
C’est un espèce de palmier, ça fait vacances. Il m’était destiné celui là…

Et Marlène a un nouveau PC avec un 22" widescreen, top classe…

Comme on dit dans le milieu, j’ai switché, je suis passé d’un PC sous Windows à un Mac au boulot.

Un iMac en fait.

C’est plutôt sympa, bon, c’est pas comme si je connaissais pas, j’ai déjà un MacBook chez moi, mais là du coup, je vais passer 8h (voir plus, ou moins…) par jour dessus…

Un grand changement dans mes habitudes, surtout au niveau du clavier… Quand ont sait comment il faut faire pour avoir les accolades et les crochets, on comprend direct que les Macs, c’est pas pour les développeurs… Enfin bon.
L’avantage, c’est que j’ai un super écran de 22" avec une webcam. Bon, la webcam ça me sert à rien mais c’est toujours sympa…

Je serai présent aux Solutions Linux 2007 à Paris le 1er février 2007.

Au programme pour moi :

  • Tutoriel Plone : Déployer un intranet collaboratif avec intégration d’un annuaire LDAP
  • Web 2.0, vers un web orienté applications ?

Si vous êtes dans le coin et que vous voulez me rencontrez, faites moi signe !

Je viens juste de sortir de réunion mensuelle avec l’équipe et voici donc un point sur les sites mis en production et leurs particularités :

Le site de l’association caritative, avec plusieurs articles, de l’audio, des vidéos et des affiches en lignes.
Il y a aussi une boutique en ligne avec payement électronique sécurisé et la possibilité de faire un don en ligne pour aider une cause.

Le site de l’eurovélo 6, un itinéraire de vélo qui permet d’aller de Saint Nazaire à Tulcéa en Roumanie. Une carte en flash complètement dynamique permet de visualiser chaque tronçon du parcours et d’avoir des informations pour les villes que vous croiserez.
Niveau multimédia, des reportages audio sont proposé en Français et en Allemand, des galeries d’images et un livre d’or.

Jouez et gagnez des places de cinéma pour le film : "La citadelle assiégée"
Un module de quiz très simple et vraiment très souple d’utilisation, à inclure pour n’importe quel site, sous Plone ou non.

  • Sites Milan

Des sites entièrement configurables par le client depuis l’interface d’administration : images, bandeaux, boutons, feuilles de styles CSS, contenu, etc…
Tout est fait pour que Milan puisse construire leurs sites le plus simplement et le plus rapidement possible.

Voilà un peu l’actu des nouveaux sites mis en lignes. D’un point de vue perso, j’ai développé entièrement le système pour les sites Milan, ce n’est pas encore fini, il reste encore quelques petites retouches à faire.

Quand on fait du Zope / Plone, on est forcément obligé un jour où l’autre de faire du python.

Au début, ce n’est que quelques lignes incluses dans une ZPT, puis un petit script, et plus ça va, plus on touche au python.
Jusqu’au moment où on se dit : « Et si j’apprenais le Python maintenant ? »

Après une rapide recherche sur le net, j’ai trouvé « Programmation Python » de Tarek Ziadé. J’ai proposé à mon Chef de projet de le faire acheter par la boite, le processus est donc en cours.

J’espère qu’on le recevra bientôt et que le livre est à la hauteur des mes espérances.

Plone intègre de base un type de contenu pour les images, il existe un autre type de contenu pour les fichiers, les images pourraient être considérées comme des fichiers, mais on perdrait pas mal d’information et de souplesse dans la gestion du contenu.

Lorsque l’on ajoute une image, des vignettes de plusieurs tailles sont automatiquement générées :

  • ‘large’ : (768, 768),
  • ‘preview’ : (400, 400),
  • ‘mini’ : (200, 200),
  • ‘thumb’ : (128, 128),
  • ’tile’ : (64, 64),
  • ‘icon’ : (32, 32),
  • ‘listing’ : (16, 16)

Ce qui permet de couvrir la plupart des utilisations, mais c’est sans compter le client (ou le graphiste).
On peut donc créer un type de contenu dérivé du type image de base et rajouter des valeurs pour les vignettes. C’est assez contraignant, car il faut absoluement connaitre toutes les tailles d’images possibles pour le site, et si par malheur le layout du site change, il faut modifier le type de contenu avec les nouvelles tailles d’images et regénérer toutes les images.

Pour palier à ce problème, j’ai écris une external method qui prend en entrée une image et la largeur et la hauteur maximum désirée.
Le script vérifie si la miniature correspondante n’existe pas déjà ou si elle est à mettre à jour, et le cas contraire la créé et affiche la miniature.
Toutes les miniatures sont créées dans un dossier spéciale et stockées dans la ZODB.

Bref, un petit script qu’on se demande pourquoi il n’a pas été fait avant…

BaBiz.ch est un service en ligne qui met en relation des entreprises avec des personnes ou avec d’autres sociétés.

La page d’accueil est très légère, avec un look qui nous donne un sentiment de déjà vu, mais qui a l’avantage de rester simple et sobre.
On peut directement commencer à se servir du service en faisant une recherche, ou alors, on peut s’enregistrer pour se créer un compte.

Une fois la procédure d’inscription effectuée, plusieurs choix s’offrent à nous :

  • Editer votre profil privé
  • Editer votre CV pour le rendre consultable
  • Ajouter des annonces personnelles liées au monde des affaires
  • Ajouter une société et l’associer à différents objets tels que des news, des événements, des offres spéciales, des offres d’emploi ou des appels d’offre
  • Consulter vos messages

BaBiz est donc un espace pour les sociétés et les particuliers, souhaitant communiquer sur leur travail, on peut faire des demandes d’emploi, en proposer, déposer des appels d’offre, etc…
Mais surtout ce qui différence BaBiz de ces concurents, c’est le moteur de recherche dédié au service.

BaBiz utilise un moteur de recherche développé en partenaria avec l’université de Florence pour exploiter les possibilités du projet GIRD.it.
Ici seul une partie du moteur de recherche à été repris (pour le moment). On peut donc faire des recherches sur les sociétés, les personnes, etc…

Pour l’instant, il n’y a pas encore beaucoup de monde d’inscrits, mais il suffira d’attendre un peu pour pouvoir tirer pleinement profit de ce service qui me semble prometteur.

Un developpeur de la NASA a fait une présentation comparant différents framework pour développer des applications web.

Il part du constat que l’interface utilisateur doit être souple pour être modifiée rapidement et ainsi faire face aux exigences du client.

Sont sur le banc de comparaison :

  • J2EE
  • Ruby on Rails
  • Zope / Plone
  • TurboGears
  • Django

Au début, il explique sa métrique (avec la fameuse variable de « fun »), et enchaine sur un simple Hello World, puis continue avec une toute petite appli un peu plus compliquée.

Le résultat est assez sympa, la vidéo bien sympa aussi, malgrès les 378Mo à télécharger, et l’anglais tout à fait compréhensible (j’ai absolument tout compris, donc bon !).

Bon visionnage !

Télécharger la vidéo : NASA – Développer des applications web rapidement.

Sur le blog Nederhoed est publié un article montrant plusieurs graphes comparant le taux de recherche pour plusieurs mots clé :

  • ruby rails
  • turbogears
  • plone
  • PHP
  • zope

C’est assez sympa de voir que rails est en grosse progression, turbogears a fait une entrée assez impressionante (je me demande comment c’est possible d’avoir une courbe de départ comme ça…), zope est sur le déclin, mais plone reste toujours au même niveau avec une légère progression.

Même si Zope est moins recherché, il est toujours autant utilisé, et ce à travers des produits comme CPS ou Plone. Je pense que si Zope est en baisse, c’est parce qu’il n’est plus utilisé seul, mais avec un autre CMS en frontend.

Pour ruby, il faut attendre un peu pour voir si c’est un effet de mode où si ça prendra réellement. Fredéric à déjà passé son blog sous Typo qui est développé en Ruby on Rails, j’attend un minimum de retour sur cette techno de sa part.

A suivre…

Ca bouge un peu dans ma boite.

Une collègue à posé sa démission en début de semaine. Hier : réunion de crise. Tous les membres de l’équipe sont passé les uns après les autres dans le bureau du boss.
Résultat : un collègue qui était en CDD depuis pas mal de temps passe en CDI, et mon CDD est prolongé jusqu’à janvier.

J’ai donc le temps de voir d’ici là et de me faire une vraie bonne expérience en Zope / Plone.

Ca va me faire un peu de stabilité tout ça, et je pense à me trouver un appart’ assez rapidement…

Ca va bientôt faire une semaine que Plone 2.5 est en béta, je ne l’ai pas encore testé (et je ne pense pas qu’on va la tester ici), mais en voyant le changelog, il y a quelques points qui me semblent pas mal du tout :

  • Nouveau système de cache

Ca va pas faire de mal ça, quand on voit comment Plone rame, un système de cache performant ne ferait pas de mal. On à déjà mis en place des système de cache sous Plone, on pensait aussi mettre un squid en frontal pour résoudre le problème.
On annonce un chargement des pages 10 à 40 fois plus rapide avec ce nouveau système de cache.

  • Workflow

Le workflow de base de Plone n’est pas super génial, jusqu’à présent, on ne pouvait associer un workflow qu’à un type de contenu. Avec la nouvelle version, on pourra associer un worflow à une branche du site, ce qui va largement faciliter la création d’espace réservé…

  • Un peu d’AJAX

Comme par exemple, la réorganisation des éléments dans les dossiers par drag’n’drop

La version finale est prévue pour le 8 mai, et devrait fonctionner avec Zope 2.8.5+ et Python 2.3.5+ ou Zope 2.9.1+ et Python 2.4.2+

Zopera, c’est LE site de la communauté Zope française.

On y trouve de tout, news, forum, articles, quizz, etc… Malgrès une animation pas forcément toujours au rendez-vous, les questions posées sur le forum trouvent réponses, ou non. J’admet que je ne vais sur ce site que lorsque j’ai un problème, et que je ne partage guère mes connaissances, quand je vais sur le forum, je regarde les post récents, et quelques fois, je tente de répondre, mais bon, généralement, j’y vais pour trouver une réponse aussi…

Bref, cette petite communauté marche bien, enfin marcherait plutôt pas trop mal, si le site n’était pas down 2h toutes les 5 minutes. D’ailleurs, au moment où je parle j’obtien l’erreur :

Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Could not connect to remote machine: Operation timed out Apache/1.3.27 Server at www.zopera.org Port 80

Donc c’est pas trop la classe…

Si quelqu’un passe de chez zopera passe par ici, il peut m’expliquer pourquoi leur site chie-t-il donc tant ?

Edit : le site ne marche plus du tout depuis lundi, ils doivent avoir un gros soucis. Sont-ils hébergé chez redbus ? Ca pourrait expliquer une panne après les coupures de courants…

Pour l’instant mon avenir semble bien sombre. J’ai appris ce matin qu’on ne pourrait pas me garder à la fin de mon CDD.

La raison : manque de contrats. Pas de travail : pas d’embauche. La règle est simple. Et ce, malgrès toutes les éloges que mon boss m’a fait à propos de mon travail effectué.

Donc retour à la case départ en touchant les indemnités de fin de contrat.

Point positif dans tout ça : j’aurai à la fin de mon contrat, une expérience de 4 mois dans le développement de site de gestion de contenu sous Zope / Plone, avec gestion de partie privée / publique, et gestion d’utilisateurs.

Petit lien vers mon CV, ça peut pas faire de mal.

J’en parlais hier, chez Google, pour faire leur logos, ils utilisent des légos. C’est sur, c’est plutôt ludique et de plus, c’est en 3D.

Aujourd’hui je tombe sur un article du TIME qui montre la vie au Googleplex. Forcément, ça donne envie. Rien que le bordel ambiant sur le bureau d’un des développeur ça me donne envie. Et je ne parle pas de la piscine, des billards et du terrain de beach volley…

Dans l’open-space de BSE (Bayard Service Edition), nous n’avons pas tout ça, l’ambiance est assez bonne, même si tout le monde est assez à fond dans son travail et ne lève que rarement le nez de son écran pour voir ce qui se passe autour.
On s’accorde 2 pauses par jours (10h30 et 16h30 environ), qui sont assez courtes, genre juste le temps de boire rapidos un kawa et hop, c’est repartit, tête dans le guidon.

De temps en temps de la musique s’élève des enceintes d’un des graphistes, quelques blagues fusent, mais c’est bien là tout. On ne fait pas de pause créatives, ni de babyfoot. Heureusement, depuis peu, on a instauré les réunions du lundi matin (en plus de la traditionnelle réunion mensuelle). On fait le point sur chaque projet, on remet les planning à l’heure, ça permet à tout le monde de savoir sur quoi bosse chacun des membres de l’équipe. Il faut voir comment ça évolue et si on ne pourrait pas ajouter un peu de créativité à tout ça.

La communication dans une équipe est primordiale, surtout au niveau des connaissances. Lorsque BSE à adopté la technologie Zope/Plone, ils ont créé un « blog » où chacun peut mettre des trucs et astuces, des exemples, des liens etc… sur cette technologie. Lorsque l’on se demande comment faire quelque chose de particulier, on demande à l’oral si quelqu’un à déjà fait ça, si oui, généralement il y a une entrée dans le blog.

Un exemple que j’ai vécu pas plus tard ce matin et qui aurait pu être évité :
Je suis en train de développer un intranet pour un client. Sur le coté droit il y a un emplacement qui doit afficher le nombre de mails non lu de la personne connectée avec le lien vers son webmail. La société qui fournit les mails a mis en place des webservices. Je fais les tests en python avec mon compte (nous utilisons le même prestataire pour les mails) et rien ne passe. Je cherche pendant 2 bonnes heures, jusqu’a finalement arriver à faire afficher la trame XML transmise et me rendre compte que les webservices sont une option du compte qui doit être activée.
Lorsque j’ai demandé si quelqu’un savait si il y avait effectivement une activation à faire à propos du webservice, on m’a répondu par l’affirmative. On aurait quand même pu m’avertir un peu plus tôt, ça m’aurait éviter de me tirer les cheveux en ne comprenant pas pourquoi la réponse fournit par le webservice n’était pas bien formée…

Je ne sais pas trop comment ça se passe dans les autres entrepises, si l’ambiance est plutôt genre google, un peu toujours à la fête, le truc assez cool, où si c’est plutôt réservé avec chacun la tête dans l’écran…

Mon premier projet vient de m’être attribué. Pour l’instant j’avais bossé sur des projets déjà existant et je donnais un coup de main pour accélérer la chose et pour me faire la main.

C’est un petit projet, un site assez simple, mais je dois quand même le créer de A à Z. Je n’ai malheureusement pas participé à l’élaboration du cahier des charges ni rencontré le client pour l’instant, mais je travaille en étroite collaboration avec un graphiste.
La bonne nouvelle c’est que l’on attaque directement avec les feuilles de style CSS. Finalement la décision aura été vite prise.

On va voir comment on s’en sort et si ça apporte réellement un vrai plus (ce dont je ne doute pas un instant). J’essaie de donner quelques conseil quant à l’utilisation et à la manipulation des CSS au web designer, bien que je ne sois pas particulièrement spécialisé là dedans.

Vendredi après-midi j’aurai enfin ma première rencontre avec le client.
Je dois avoir fini la partie publique d’ici là. Autant dire que je vais pas chômer…

Lorsque l’on développe un site sous Zope / Plone, il faut à un moment ou à un autre penser à l’affichage, à la présentation des données, à la navigation.
Ce boulot, c’est celui des web designers.

Une fois la maquette du site faite sous photoshop, elle est transposée en page HTML statique sous dreamweaver par exemple. Cette page est ensuite envoyé aux développeurs (genre moi) qui vont, à partir de cette page HTML créer un template.

Pour les templates, nous utilisons les ZPT (Zope Page Template) qui sont des fichiers au format XML combinant des balises HTML et TAL. Les balises TAL gèrant la partie dynamique de l’affichage.

Pour l’instant, les pages HTML statiques fournies par les graphistes sont toutes faites sous dreamweaver. L’agencement des divers éléments est faite avec des tableaux, et lors de la transformation de celles-ci en template, il devient très fastidieux de se repérer parmis tous les tableaux imbriqués.

Depuis peu, nous avons une grande conversation entre les web designers et les développeurs, qui pourrait résoudre, ou du moins, faciliter le problème : utiliser les feuilles de style CSS.

Effectivement, si on utilisait les CSS à la place des tableaux, il n’y aurait plus que des blocs <div> et on éviterait de se perdre dans les imbrications.

Chose étonnante, ce sont les graphistes qui ont lancé l’idée (même si elle m’était déjà venu lors de ma première conception de templates, j’avais préféré me taire, étant tout nouveau et en CDD). Maintenant que l’idée est lancée par une autre personne avec un status plus posé que le mien, je pourrai appuyer en faveur du CSS afin que l’on puisse l’utiliser au plus tôt.
Pour les graphistes celà leur plait. Ils cherchent de nouvelles méthodes de travail et cherchent un moyen pour mettre à jour facilement le design des sites.

Le CSS permet celà : on peut modifier une feuille de style sans avoir à toucher aux templates. Par contre, le problème majeur du CSS est le support par les différents navigateurs.
Tous ne supportent pas les normes de la même manière, et il faut pourtant garantir au client que le site s’affichera sans problèmes sur n’importe quel PC avec n’importe quel navigateur.

La transition tableaux => CSS ne se fera pas du jour au lendemain. L’idée à été lancée, il faut ensuite qu’elle soit acceptée et former un minimum les web designers au CSS.

J’espère quand même voir des projets incluant les CSS avant la fin de mon CDD…

A lire : Les bénéfices des standards par un graphiste Web

Pour rappel : je suis embauché pour une mission de 4 mois à Bayard-Service en tant que développeur Zope / Plone.

Dès lundi matin, j’ai mis les pieds à l’étrier et j’ai attaqué sur les chapeaux de roues. Petits bugs à corriger sur un site, modifications, rajouts, et développement de nouveaux modules.
Je ne connaissais pas Plone plus que ça, j’avais juste mis en place un CMS pour gérer quelques documents. Là c’est tout autre et les technos changent aussi.

J’étais habitué au PHP / MySQL, où je maitrise parfaitement le code que je produit, je peux développer une interface d’admin sans faire le moindre bug, où alors, ça va être des fautes de frappes.
Maintenant, j’utilise les ZPT : Zope Page Template. Ca ressemble à une page XHTML avec à l’interieur des balises des attributs particuliers que Plone va interpréter et ainsi rendre dynamique la page appelée.
Les attributs sont simple et peu nombreux, ce n’est pas là le problème.

Le problème vient de :

  1. Quand il y a un bug, le rapport de bug est quasi inexistant, limite il pourrait juste afficher : « Il y a une erreur » que ca nous avancerais pas plus.
  2. La doc : nulle ici aussi. Pour l’instant je n’ai jamais trouvé de doc référencant toutes les méthodes que l’on pouvait appliquer à un objet, ca pourrait pourtant être pas mal de savoir ce qu’on peut faire avec un objet. Non ?

Bref, donc le développement revient plutôt à du tatonnement où, lorsque l’on a plus de chance à un gros copier coller avec adaptation si besoin est.
Ce qui revient à dire que j’ai l’impression de ne pas du tout maitriser ce que je fait, et que ça tient plus du miracle quand ça marche (en même temps, je dois faire pas mal de miracles en ce moment…) qu’à une vraie logique.

J’espère vivement que ça va s’améliorer et que je vais enfin pouvoir produire du code et non faire parti de la cour des miracles.

Tags: