Planète eZ Publish, Ze french corner!

Depuis le 27 janvier 2016, le Planet eZ Publish.fr n'est pas plus mis à jour, vous consultez donc un export statique du site, par conséquent certaines fonctionnalités dynamiques ne fonctionnent plus (formulaire de contact, recherche, ...)

Planète eZ Publish

Damien Pobel : Clap de fin pour le Planet eZ Publish.fr

Logo Planet eZ Publish.fr

Il y a 6 ans(!) presque jour pour jour, j'avais lancé le Planet eZ Publish.org.fr, ze French corner avec eZ Publish 4.0.1 apparemment ! J'avoue que je ne me souviens plus trop des détails mais je vois en relisant les différents posts que j'ai expérimenté pas mal de trucs avec ce site.

Mais pour être honnête, depuis la migration vers eZ Publish 5.0, le site est en roue libre sans une grande motivation de ma part pour le maintenir et ni le faire vivre. D'ailleurs, il faudrait le renommer Planet eZ Platform maintenant :-) Aussi, une très large partie des sources sont mortes ou les liens pointent dans le vide... Hé Cool URIs don't change ou au moins redirigent vers une ressource correspondante ! </râlage>

Du coup, d'ici quelques jours, je vais arrêter le script de mise à jour et faire un export statique du site pour le garder en ligne en mode zéro maintenance. Si quelqu'un veut reprendre le flambeau, je suis prêt à donner un petit coup de main, mais en attendant clap, rideau !

Publié par Damien Pobel le

Damien Pobel : Au revoir eZ Publish, bonjour eZ Platform

eZ Platform Rocket Launch eZ Platform 15.12 est sorti le 15 décembre ! La sortie d'une nouvelle version est toujours au moins un petit évènement mais celle-ci représente un peu plus que ça. En effet, il s'agit de la première version stable d‘eZ Platform, techniquement il s’agit de la 1.0.1, eh oui 1.0.x !

Au dela de ce numéro symbolique, quelque part eZ Publish est en train de tirer sa révérence après un bon paquet d'années de service. Et je dois dire que ce changement signifie quelque chose pour moi, je suis utilisateur d'eZ Publish depuis plus de 10 ans maintenant (!) et ce blog était même à l'origine une expérimentation autour de ce CMS qui s‘appelait alors “eZ publish” :) Bon après, si on gratte un peu, on peut voir qu’eZ Platform dépend notamment d'un (gros) paquet appelé ezpublish-kernel, la bête est encore vivante ;-)

Plus sérieusement, eZ Platform est la réécriture d‘eZ Publish, en gros on a gardé les concepts mais ils sont mis en œuvre avec du code moderne, de bien meilleur qualité, mieux découpé, testé et basé notamment sur l’excellent Symfony.

Une nouvelle version est toujours qu'une étape vers les suivantes. Les Fast-Track Releases vont maintenant se succèder tous les 2 mois. En toute logique la prochaine sera la 16.02 et évidemment on travaille déjà dessus notamment dans le but d‘améliorer l’éditeur de texte riche, de donner accès à la corbeille, de permettre la migration de XmlText vers RichText (de l'ancien Field Type de texte riche vers le nouveau) et de permettre la modification les droits des utilisateurs. Attention : cette liste n‘est ni exhaustive, ni une promesse. Aussi, eZ Platform est un logiciel libre, toutes les contributions (sur ces sujets comme sur d’autres) sont comme toujours les bienvenues que ce soit par un rapport de bug, un bout de code dans une pull request ou simplement du feedback sur la documentation, les rapports de bug existants ou sur Slack par exemple. Alors, à vos claviers.

Publié par Damien Pobel le


Damien Pobel : On recrute!

eZ Sytems est à la recherche d‘un(e) développeur(/se) frontend pour renforcer l’équipe d'ingénierie Lyonnaise et travailler plus spécifiquement sur PlatformUI. Pour rappel, PlatformUI est la nouvelle interface pour eZ Publish eZ Platform sous la forme d'une Single Page Application et eZ Platform est un CMS 100% Open Source basé sur Symfony. Notre code est disponible sur Github, les revues de code sont les bienvenues ;-)

On cherche donc un(e) développeur(/se) frontend expérimenté(e) avec une solide compétence en JavaScript, idéalement très à l‘aise avec CSS et les technologies autour du développement frontend (HTML5, HTTP, REST, …) et attentif à la qualité de son code. Bien sûr, une connaissance de l’univers des CMS ou d‘eZ Publish/eZ Platform est un gros plus. On s’attend aussi à ce que la future recrue apporte toute son expérience et soit force de proposition sur les différents chantiers à venir comme la migration de YUI3 vers un autre framework (à définir) ou d‘autres choix techniques et technologiques. Bref, on veut un peu plus qu’un simple pisseur de code!

Bureau eZ Systems Lyon Bureau eZ Systems Lyon (Décoration et photo par Jen Lowdoor)

On n‘est pas Google, mais notre équipe est cosmopolite (Norvégiens, Polonais, Croate, Américains pour le product management, …) et nos conditions de travail sont plutôt sympas et flexibles. Par exemple, j’écris ce billet depuis mon jardin car le vendredi c‘est télé-travail pour la plupart d’entre nous! Sinon, nos bureaux sont situés à Lyon juste à côté de la gare Perrache donc facilement accessibles en transport en commun.

Alors ? Intéressé(e) ? Envie d'en savoir plus ?

Happy!

C‘est un excellent début. Pour toute question ou pour postuler, n’hésitez pas à m'envoyer un email !

Publié par Damien Pobel le

Damien Pobel : État des lieux et meetups autour d'eZ Publish PlatformUI

États des lieux de PlatformUI pour eZ Publish Platform

J'ai publié la semaine dernière PlatformUI December 2014 status sur le blog de l‘équipe d’ingéniérie d'eZ Systems. Comme son titre l‘indique, ce billet détaille l’état actuel du PlatformUIBundle ainsi que les plans à plus ou moins court terme concernant le développement de ce bundle qui, je le rappelle, fournira l‘interface éditoriale et d’administration des prochaines versions d‘eZ Publish Platform. À cette occasion, j’ai enregistré un screencast de ce qu'il est possible de faire actuellement :


Damien Pobel : La future interface utilisateur d'eZ Publish Platform

Je viens de publier The future eZ Publish Platform backend UI is “here”! sur le blog de l‘équipe d’ingénierie d'eZ Systems. Ce post annonce l'ouverture (au sens accessible à tous mais le code est aussi sous licence GNU GPL v2) du dépôt Github du bundle PlatformUIBundle. Il fait suite à la présentation que j'avais donnée en compagnie de Roland Benedetti aux eZ Days et à la démo improvisée lors du PHPTour.

J'ai aussi, tant bien que mal, enregistré un screencast (commenté en anglais avec mon French accent) que je vous invite à regarder pour voir ce vers quoi nous tendons et ce qui est effectivement implémenté:


Jean-Luc Nguyen : [eZ Publish] Générer un alias d’image avec PHP

$img = eZImageManager::instance();
$img->readINISettings();
$img->convert( $source, $dest, $aliasName );

Permet de générer un alias d’une image sans ezimage. La manière « propre » :

$myObject = eZContentObject::fetch( $objectID );
$dataMap = $myObject->attribute( 'data_map' );
$imageAttribute = $dataMap[ 'image' ];
$imageHandler = new eZImageAliasHandler( $imageAttribute );
$result = $imageHandler->imageAlias( $aliasName );
return $result['full_path'];

Plus de détails sur les liens suivants :

http://www.mugo.ca/Blog/How-to-create-image-aliases-in-eZ-Publish-using-PHP

http://share.ez.no/forums/developer/pregenerate-image-alias-on-object-publishing

Publié par Jean-Luc Nguyen le

Thibault Jouannic : La dure vie des développeurs web

Travailler dans le web est parfois ingrat. Ingrat parce que c'est un métier peu connu, et par conséquent rarement apprécié à sa juste valeur.

Quel développeur web n'a jamais entendu des phrases comme «Tu fais des sites ? Alors tu peux venir me réparer mon ordi ?» ou encore «Vous pouvez me faire un youtube pour 400€ ?»

Pourquoi je vous raconte tout ça ? Juste pour servir d'intro à ce truc que j'ai bricolé aujourd'hui, et qui, je le confesse, m'a bien fait marrer (oui, je suis bon public et je rigole de mes propres conneries).

Publié par Thibault Jouannic le

Thibault Jouannic : Besoin d'un freelance ?

Knight Horse and Sword

C'est un petit pas pour l'humanité, mais un grand saut pour moi. À partir de décembre, je serai inéluctablement freelance à plein temps.

Fini les embouteillages tous les matins (même si je prends le vélo, ça n'empêche pas l'air de puer le gaz). Envolés, les 2.5 jours de congés par mois. Me voilà pleinement maître de mon destin, et ça fait du bien (Ah ?! On me signale que les freelances n'ont pas la vie rose tous les jours ? Bon, tant pis…)

J'aurais pu me qualifier d'«entrepreneur», de «chef d'entreprise», d'«indépendant», voire d'«indep'», mais j'aime cette image du chevalier, libre comme l'air et cheveux au vent, n'ayant pour biens que sa monture et son épée (une lance, en l'occurence), chevauchant par monts et par vaux en combattant pour ses idéaux, et aussi un peu pour remplir sa gamelle.

Alors voilà, puisque vous me le demandez (sisi, vous me le demandez), j'ai choisi, dans un premier temps, de focaliser mon activité sur les développements web spécifiques, basés sur l'intégration des technologies libres suivantes :

  • Symfony : Le top des frameworks PHP, pour des développements spécifiques fonctionnels et standardisés ;
  • eZ Publish : La Rolls Royce des CMS, pour des sites éditoriaux haut de gamme ;
  • Solr : Le meilleur moteur de recherche libre au monde, pour fournir à vos utilisateurs une expérience de recherche incomparable ;

Et puis, tant qu'à faire, j'entends bien batir des prestations de qualité, en industrialisant mes développements au maximum (TDD, intégration continue, méthodo agile, etc.).

Je serai bien entendu enchanté de répondre à votre coup de fil si vous souhaitez discuter de votre projet. Si vous voulez en savoir plus, vous pouvez consulter ma page professionnelle. Vous y trouverez les informations nécessaires pour me contacter.

Comme je suis d'un naturel optimiste, je suis intimement convaincu que tout ce passera bien et que j'adorerai ma nouvelle vie. Cela dit, un petit commentaire d'encouragement est toujours bon à prendre :)

Publié par Thibault Jouannic le

Thibault Jouannic : eZ Publish, fetch, recherche et limitation

Ce que j'aime bien, avec le CMS eZ Publish, c'est son abondante documentation. Quoique parfois, je la trouve un peu lacunaire sur les bords.

Quand par exemple, j'utilise la commande fetch content search, j'aimerais bien avoir un indice sur la signification du paramètre "limitation". La documentation ne m'est pas d'une grande aide dans ce cas :

You'll have to look in the source code of the kernel for details related to the format of this array

Ok, la doc me dit ce que fait le paramètre. Pas comment l'utiliser. Sympa. Étant donné que j'ai passé une demi-journée sur la question, je vais quand même vous en faire profiter.

Le paramètre "limitation" sert donc à définir à la main des limites d'accès, alternativement à celles pré-existantes pour l'utilisateur enregistré. C'est à dire que :

{set search=fetch( content,search
                  hash(text,$search_text,
                      subtree_array,$search_sub_tree,
                      sort_by,array( 'modified',false() ),
                      offset,$offset,
                      limitation, array(),
                      limit,$limit ) ) }

(notez le "array" vide en face de "limitation"), permet d'effectuer une recherche sur l'ensemble du site, indépendamment des droits de l'utilisateur.

Le paramètre "limitation", si j'ai bien compris, sert donc à ajouter des éléments qui sont autorisés pour la recherche. Exemple :

{set search=fetch( content,search
                  hash(text,$search_text,
                      subtree_array,$search_sub_tree,
                      sort_by,array( 'modified',false() ),
                      offset,$offset,
                      limitation, array( hash(
                          Class, array( 65, 66, 67),
                          Section, array( 1, 2, 3 ),
                          Node, array( 25789, 25790, 25791, ... ),
                          Subtree,array( '/1/2/125', '/1/2/151/'),
                          Owner,,
                      ) ),
                      limit,$limit ) ) }

Il est possible de créer toutes les combinaisons possibles de paramètres. Le paramètre "Owner" limite les recherches aux objets possédés par les utilisateurs. Il existe quelques autres paramètres, dont je ne parle pas pour ne pas bien en saisir la portée.

J'espère que ça pourra dépanner. Sur ce, si quelqu'un dispose d'une documentation plus complète et plus officielle, je suis preneur.

Publié par Thibault Jouannic le