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 (Page 40)

Nabil Alimi : Freelance eZ Publish

Et oui me voici à un tournant dans ma carrière. Après un bref passage chez Smile, je démarre officiellement mon activité de Freelance en développement web à compter d'aujourd'hui, mon immatriculation étant validée auprès du RCS de Pontoise. Sans grande surprise, eZpublish sera au coeur de mon activité. Un tournant dans ma carrière et un challenge qui est tout autre : rien d'insurmontable lorsque l'on est motivé. Ma 1ère mission a déjà démarré dans un secteur d'activité que je commence à bien connaitre. :)
Je ne manquerais pas de vous reparler de mon activité une fois que le site qui lui est dédié sera sur pieds. Vous pouvez dores et déjà m'adresser un mail : alimi dot nabil [at] yahoo.fr. N'hésitez pas à me contacter : je serais heureux d'échanger avec vous sur une éventuelle collaboration.

--

A few changes in my carreer. After a few months at Smile, I'll work from now on as an eZ publish freelance developper. This is something I've aimed at since a feww months and this is the right time to try such things. I'm just glad to have even more challenges to face. Please feel free to contact me if you have any opportunities we can discuss about : alimi dot nabil [at] yahoo.fr.

Publié par Nabil Alimi le

Thibault Jouannic : Exporter des classes de contenu sous ezpublish

C’est vraiment un truc tout bête à faire, mais j’ai eu du mal à trouver comme exporter des classes de contenu avec le CMS eZ Publish.

Pour ce faire, il faut se rendre dans l’administration, puis paquetages (package en anglais). Sélectionnez Export de classe de contenu (content class export). De là, il vous reste à sélectionner vos classes, et à suivre les instructions. Vous pourrez alors télécharger le fichier correspondant à votre paquetage.

Pour exporter le contenu utilisant ces classes, il faut choisir Export d’objet de contenu à la création du package.

Pour importer le tout dans une autre instance d’eZ Publish, retournez dans administration > package > importer.

Publié par Thibault Jouannic le

Frédéric David : eZ publish, Google et le référencement

Après l'installation de mon site sous eZ publish, je me suis mit à étudier le référencement de mon site pour Google. Même si le référencement d'un site est facilité grâce à la gestion simplifiée des urls par eZ publish, j'ai quand même cherché à améliorer le référencement.

Google étant ma principale cible de référencement pour l'instant, je me suis mit à regarder les outils mis à notre disposition par Google. Google Sitemap m'avait l'air d'être très intéréssant. Google étant quand même une référence, je me suis dit qu'il devait bien avoir une extension déjà créer pour générer un fichier comme Google Sitemap le demande.

Et j'avais raison, vous pouvez télécharger ici cette extension Google Sitemaps . La suite est pas des plus compliquée, et bien expliqué sur le fichier install.txt. Après l'avoir uploader et activer, il suffit juste de rajouter un googlesitemaps.ini.append pour rajouter les classes que l'on veut que l'extension prenne en charge.
L'extension mit en place , et bien configuré, on peut y accéder, en allant sur
http://votre_site/layout/set/googlesitemap/content/view/googlesitemaps/2 tel que ce Google Sitemap .

Malheuresement, quand on essaie d'y rajouter ce google sitemaps, Google nous dit que le site web ne correspond pas , qu'il faut qu'on enregistre le site http://votre_site/layout/set/googlesitemap/content/view/googlesitemaps avant de pouvoir enregistrer ce fameux sitemap.xml . eZ publish étant super powerfull :), et grâce au traducteur d'url, on peut faire en sorte pour que notre sitemap soit bien prit en compte.

Pour cela il faut rajouter un nouveau système de redirection d'URL. Il ne faut pas oublier de bien rajouter les / au début. Voici ce que j'ai mit :

Nouvelle URL virtuelle : /sitemap.xml

URL système : /layout/set/googlesitemap/content/view/googlesitemaps/2

Après l'avoir ajouter , on peut enfin accéder au google sitemap gràce à l'url http://votre_site/sitemap.xml, tel que le Google Sitemap de Frefred.

Une petite astuce après avoir ajouter un billet, ou un noeud, tapez dans un shell :

curl -s http://google.fr/webmasters/sitemaps/ping?sitemap=http://www.frefred.fr/sitemap_xml > /dev/null
Publié par Frédéric David le


Frédéric David : Migration sous eZ 4.0

Ayant migrer frefred sur ez publish 4.0. Tout s'est à peu prêt bien passé, sauf quelques soucis.

Après ma migration, les flux rss n'étaient plus fonctionnels. La solution a été de les recréer. La version 4.0 ne gère plus les flux rss de la même manière que eZ 3, d'où mon problème de flux rss. eZ Rss va être modifié en conséquence.

Le petit soucis, plus délicat est l'impossibilité de créer de nouveaux noeuds. Je suis à l'heure actuelle obligé de faire une copie d'un billet, et de le modifier.

Voici ce maginifique message d'erreur.

Fatal error:  Call to undefined method eZDOMDocument::saveXML() in /.../kernel/classes/datatypes/ezxmltext/ezxmltexttype.php on line 307
 Fatal error: eZ Publish did not finish its request
 
 
The execution of eZ Publish was abruptly ended, the debug output is present below.
Publié par Frédéric David le

Frédéric David : PHP5

eZ publish 4.0 est sorti hier. Comme déjà mentionné, eZ 4 est en php5, cela rend donc relativement inutile xampp.

Xampp me fournit php4 et php5 , et me permettait de changer de version de php assez facilement, selon si je désirais travailler sur ez publish, ou ez component.

J'ai donc profité de cette sortie pour passer directement par php5 sur mon ordi , en fesant un petit apt-get

sudo apt-get install php5 php5-cli imagemagick php5-imagick mysql-server-4.1php5-mysql

Une fois tout installé, j'ai du reconfigurer les virtuals hosts d'apache. Je vais pouvoir finir de migrer frefred en ez4. Frefred devrait passer en ez 4 dans pas très longtemps.

Une fois frefred en eZ 4, je vais pouvoir me mettre à tester eZ FLow, package que j'avais déjà vu à l'oeuvre lors de la conférence eZ Developer

Publié par Frédéric David le

Frédéric David : Conférence eZ Developer

Hier après midi, eZ Systems a organisé une conférence autour du développement. Cette conférence a attiré pas mal de développeurs, tel que tigrou , ou Nabil .

Ayant eut l'estomac dans les talons, je suis arrivé en retard, et j'ai malheureusement loupé la présentation de Roland Benedetti pendant que j'engloutissais mon sandwitch.

Paul Borgermans nous a décrit eZ Labs et leur objectifs. C'est un projet très intérréssant, qui devrait permettre à eZ publish de se perfectionner sur différents points bloquants. Bonne nouvelle pour les développeurs, projects.ez.no devraient réouvrir, mais je n'ai pas demandé quand est ce que les inscriptions allaient réouvrir :'(

Il nous a aussi exposé la roadmap pour eZ publish 4, et la fabuleuse extension eZ Find qui tourne autour de solr. Le principal changement pour les développeurs sera à partir de la version 4.x qui aménera un changement dans la syntaxe des templates. Il y aura aussi une augmentation des performances, supérieures à ce que l'on pouvait conclure avec le test de performances qu'on peut retrouver sur ez.no. Pas mal de composants d'eZ Components vont être intégrer, tel que les workflows.

Paul a expliqué rapidement les différents concepts, et les façons de faire pour migrer les extensions de PHP4 vers PHP5. Nous avons eut le droit à une démonstration de la nouvelle extension eZ publish nommée eZ Flow, qui d'après moi a de belles années devant elle.

Damien Pobel, du blog pwet.fr a parlé des sites à gros traffic. Il nous a expliqué les différents systèmes possibles, tel que le cache statique, ou le clustering, avec leur avantage, ainsi que leur inconvénients. Il nous a expliqué l'architecture et les différents concepts qu'il avait utilisé sur un site à très grosse audience, avec des obligations de performance supérieures à ce qu'eZ publish peut fournir. Ce passage fut très intérréssant, même si je doute que j'en aurais un jour besoin pour frefred.fr ...

Cette conférence était très instructive, et intéressante. A quand la prochaine ?

Publié par Frédéric David le

Frédéric David : Utiliser eZUrl via l'API

eZ Publish nous fournit certains opérateurs de base, tel que ezurl, ezimage, ezroot et ezdesign.

A la place de les utiliser dans les templates, voici quelques informations pour utiliser ezurl via l'API.

ezurl

L' opérateur ezurl est définit dans la classe php ezuri.php. Pour l'utiliser, voici un petit exemple de code :

include_once('lib/ezutils/classes/ezuri.php');
$link = $node->attribute('url_alias');
eZURI::transformURI($link);

La variable $link contient désormais la même valeur que si vous aviez utliser l'opérateur ezurl, et peut directement être renvoyé dans un lien.

Publié par Frédéric David le

Frédéric David : eZ publish 3.10 et les urls

Depuis la version 3.10 d'eZ publish , nous pouvons configurer le schéma des urls tel que nous le désirons. Voici une petite documentation sur les différentes fonctionnalités.

eZ publish 3.10 modifie son schéma d'url, en remplaçant le underscore par le tiret. Mais voulant rester flexible, il nous permet de personnaliser le schéma des urls.

Les schémas d'url de base, et leur configuration

eZ publish définit dès l'installation 7 schémas d'url. Ces schémas sont définit dans le fichier transform.ini. Nous pouvons donc retrouver :

  • search
  • urlalias_iri
  • urlalias
  • urlalias_compat
  • identifier
  • uppercase
  • lowercase

Ajouter un schéma d'url

Pour ajouter un schéma d'url, il faut créer le fichier transform.ini.append.php. Une fois créer, il faut rajouter notre nouveau schéma dans le tableau Groups de la section [Transformation]. Il faut ensuite créer une section portant le nom de votre schéma. Dans votre section, deux tableaux doivent être créer : Extensions et Commands.

Le tableau Extensions doit comporter un lien vers les extensions comportant des scripts de transformation. Commands est un tableau contenant les différentes règles à utiliser pour modifier les urls.

Voici la liste des commandes disponibles par défaut :

  • normalize : normalise plusieurs caractères similaires
  • search_normalize : requis pour le moteur de recherche.
  • transform : Transform un caractère en un autre
  • decompose : Transforme les caractères spéciaux.
  • lowercase : Passe tout en minuscule si possible
  • uppercase : Passe tout en majuscule si possible
  • transliterate : Convertit en un charset possible
  • diacritical : Supprime les caractères non critiques
  • rule : Permet de lancer une commande personnalisée

Il existe des commandes spéciales : url_cleanup (nettoie l'url pour en faire un texte présentable en tant qu'url), identifier_cleanup (similaire à url_cleanup, mais pour que ca ressemble à un identifiant), search_cleanup (transforme l'url pour que l'url soit utilisable par le moteur de recherche).

Par exemple, pour que notre schéma d'url soit séparé par des tirets, et le tout en minuscule, voici à quoi ressemblerait notre transform.ini.append.php

 
[Transformation]
Groups[]=lower_uri
 
[lower_uri]
Extensions[]
Commands[]
Commands[]=normalize
Commands[]=transform
Commands[]=decompose
Commands[]=transliterate
Commands[]=diacritical
Commands[]=lowercase
Commands[]=url_cleanup

Il faut configurer notre site pour qu'il prenne ce nouveau schéma. Il faut modifier le fichier site.ini.append.php. Il faut modifier la variable TransformationGroup de la section URLTranslator :

 
[URLTranslator]
TransformationGroup=lower_uri

Pour mettre à jour toutes vos urls après, vous pouvez exécuter deux scripts php, à partir de votre répertoire eZ publish .

php bin/php/updateniceurls.php -s votre_siteaccess
php bin/php/ezcache.php --clear-all
Publié par Frédéric David le

Frédéric David : eZpublish : le système de droits

le CMS eZ publish utilise un système de droits relativements poussé, et très modulable selon les besoin de l'administration. Les accès se font sur différentes restrictions qui sont les modules , les vues, et les arborescences.

Quelques concepts

Histoire d'approcher au plus près le fonctionnement d'eZ publish , vous pouvez retrouver un peu de vocabulaire, pour que la suite de l'article soit plus claire. Les termes les plus importants sont module et vue. Voici une petite explication.

Les différentes fonctionnalités d'eZ publish sont décrites selon le même processus. A la base, eZ publish est composé de modules, tel que content, pdf, ou user. Pour chaque module, un nombre de vue est défini, tel que view, download, create pour le module content.

Comme exemple, lorsque l'on visualise la page d'accueil, eZ publish appele l'url système content/view/2. Cette url appele donc la vue "view" du module "content" et lui passe en paramètre l'id du noeud 2.

Définir un rôle

Pour définir un rôle précis, il faut se rendre dans Comptes Utilisateurs > Rôle et droits ou Administration > Rôle et droits. Vous retrouvez tous les rôles déjà définis dans votre instance eZ publish . Vous avez donc la possibilité de créer un rôle, ou de modifier les rôles déjà existants.

Créer un rôle, est un simple champ texte à remplir, ou vous nommez tout simplement votre rôle. Vous allez devoir ajouter des polices au rôle. Une police définit les permissions sur :

  • un module
  • une vue

Vous pouvez restreindre la permission selon la configuration des vues définies dans le module. Vous pouvez restreindre selon une arborescence, un noeud, une classe, ou une section.

Voici quelques exemples :

  • Autorisation de s'identifier sur un siteaccess : module user, vue login, et vous pouvez choisir les siteaccess désirés.
  • Créer du contenu : module content, vue view, et vous pouvez personnaliser vos accès dessus.

Une fois votre rôle créé, avec les différentes polices enregistrées, vous pouvez l'assigner à un groupe d'utilisateur, ou un à utilisateur.

Assigner un rôle à un utilisateur

Une fois notre rôle créé, nous allons l'assigner à un utilisateur. Une fois sur la page de visualisation du rôle, eZ publish nous propose deux solutions pour l'assigner. Les choix possibles sont :

  • Assigner le rôle à un groupe d'utilisateurs ou utilisateur
  • Assigner le rôle à un groupe d'utilisateurs ou utilisateur avec limitation à une sous arboresecence ou section

Vous pouvez utiliser librement l'assignation qui vons convient selon votre site.

Trucs et Astuces

Voici en vrac, quelques trucs que j'ai remarqué sur les droits.

  • Pour pouvoir modifier la priorité des enfants, il faut avoir le droit de modifier le node parent.

Désactiver des vues

Le système de droits d'eZ publish permet seulement d'attribuer de nouveaux droits aux utilisateurs. L'inconvénient est que pour certaines situations, nous avons besoin de désactiver des vues pour les utilisateurs. Par exemple, pour un site public, il faut que l'utlisateur anonymous puisse s'identifier sur le siteaccess correspondant à votre site. Cette permission permet donc à n'importe quelle personne de s'identifier, ou de créer un utilisateur. Pour un site communautaire, cette fonctionnalité n'est pas nécéssaire, et eZ publish permet de désactiver certaines vues. Dans le fichier site.ini, vous pouvez rajouter ces lignes :

[SiteAccessRules]
Rules[]
Rules[]=access;disable
#Lister toutes les vues qui doivent être désactivées
# Interdir l'enregistrement d'un nouvel utilisateur
Rules[]=module;user/register
Publié par Frédéric David le