15/06/2022 1 Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc eZ Publish - Un CMF open- source qui a fait ses preuves AGENCE GLOBALE : STRATEGIE & MARKETING / DEVELOPPEMENT WEB et MOBILE Par Gauthier GARNIER
Jun 24, 2015
2012-12-06 1Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
eZ Publish - Un CMF open-source qui a fait ses preuves
AGENCE GLOBALE : STRATEGIE & MARKETING / DEVELOPPEMENT WEB et MOBILE
Par Gauthier GARNIER
2012-12-06 2Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Gauthier GARNIERDirecteur Général à Novactive (Agence de Montréal)En charge de la production, RH et Finances
Twitter : @gauthiergarnierFacebook : fb.com/gauthier.garnier
Me contacter :Mail & Gtalk : [email protected] : garnier.gauthier
Pratique d’eZ Publish dans un contexte professionnel depuis 2006.En tant que développeur, expert technique et chargé de projet.
Courte présentat ion
2012-12-06 3Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
NOVACTIVE, En quelques chiffres :
Direction Générale : 4
Commercial & Administration : 9
Consulting et Gestion de projets : 19
DES CLIENTS PRESTIGIEUX
CHIFFRES CLÉS
Qui sommes nous ?
Date de création :
1996
Capital social : $
180K
Marge brute 2011 : $
5M
Effectifs 2012: 75ACTIVITÉS
Conseil et expertise : Conseil, accompagnement et réalisation en conception Web et Mobile, Design, Online Marketing
Développement Web & Mobile : Développement Web : Expertise de pointe dans les technologies Open Source, Développement mobile iPhone et Android
Hébergement : Infrastructures d’hébergement complètes
L’ÉQUIPE (75 collaborateurs)
Création & Graphisme : 5
Ingénierie, Développement
et Intégration : 38Répartis sur les 3 pôles de Paris, Montréal et Tunis
PARTENARIATS & EXPERTISE
Partenaire Acquia
Partenaire
Varnish
Expertise en développement mobile (iPhone & Android)
Certifié ISO 9001 v. 2008 en 2009, 2010 et 2011
Partenaire
Emailvision
NOS BUREAUX DE MONTREALBUREAU DE MONTREAL
360 Saint Jacques #1805
H2Y 1P5 Montreal, QC- 18 mois d’existence à MTL- Plusieurs clients au
Québec- Une équipe d’expert- Croissance importante
DES TECHNOLOGIES OPEN-SOURCE
Partenaire eZ Systems
2012-12-06 4Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Qu’est-ce qu’un CMF (Content Management Framework), quelles différences avec un CMS
Histoire du projet eZ Publish (conçu et développé par de grands noms du PHP)
Il a fait ces preuves ? (références et chiffres clés)
Quand faut-il utiliser eZ Publish ? / Quand faut-il utiliser autre chose ?
Techniquement, comment ça marche ?Comment faire votre premier site eZ
Système de templates
Y a t’il des extensions toutes faites ?
La version 5 est 100% branchée avec Symfony (qu’est-ce que ça apporte ?)
Pourquoi eZ est-il peu utilisé en Amérique du Nord ? Pourquoi ça va changer ?
Pourquoi eZ est parfaitement adapté pour le marché Québécois ?
Comment aller plus loin, tester le produit, poser des questions ?
2012-12-06 5Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Qu’est-ce qu’un CMF (Content Management Framework), quelles différences avec un CMS ?
2012-12-06 6Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Content management system framework
Qu’est-ce qu’un CMF, quelles différences avec un CMS ?
Le but : Faire du sur-mesure
Différences de philosophie avec des outils comme WordPress, Joomla ou Drupal :- Pas de templates « prêt-à-utiliser »- Pas d’HTML généré par le noyau système- Pas d’extensions « métier plug & play » : forum / blog / e-commerce- Structure du contenu libre (aucun type de contenu imposé)
Le résultat : Personnalisation complète
Maitrise des développementsPas de mauvaises surprises
On se concentre sur notre valeur ajouté !
2012-12-06 7Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Histoire du projet eZ Publish (conçu et développé par de grands noms du PHP)
2012-12-06 8Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Projet lancé en 1999 par Bård et Alexander Farstad (en Norvège) par la compagnie eZ Systems
2003 : Version stable et mature avec eZ Publish v3.02005 : eZ Systems ouvre des bureaux en Europe2007 : eZ Publish 4.0 supporte php52009 : Mise en place du portail communautaire : http://share.ez.no2009 : eZ Publish 4.3 supporte php5.32012 : eZ Systems ouvre des bureaux en Asie et Amérique du NordSept 2012 : Version 5.0 beta1 – basée sur Symfony 2
Histoire du projet eZ Publish
2012-12-06 9Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Un projet porté techniquement par des experts reconnus internationalement
Derick RethansLeader du projet XdebugEmployé par eZ Systems pendant 6 ans
Sebastian BergmannLeader du projet PHPunitEmployé par eZ Systems pendant 4 ans
Tobias SchlittTrès actif sur PEAREmployé par eZ Systems pendant 5 ansEncore très actif sur eZ Components
Histoire du projet eZ Publish
Et aussi plein d’autres
développeurs talentueux !
2012-12-06 10Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Il a fait ses preuves ? (références et chiffres clés)
2012-12-06 11Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Utilisé par :+ de 250 000 sites web + de 170 pays
Des sites média à très forte audience (+ 30 millions de pages vues par mois)Des sites à contenu très riche (+ de 1 millions d’articles en base)
Il a fait ses preuves ? (références et chiffres clés)
2012-12-06 12Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Media
ELLEhttp://www.elle.com
The Christian Science Monitorhttp://www.csmonitor.com
2012-12-06 13Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Media
The Bankerhttp://www.thebanker.com
Wall Street Journal Asiahttp://jp.wsj.com
2012-12-06 14Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Marques
John Deere Suissehttp://johndeeredistributor.ch
Heinz Wattie’s – Nouvelle Zélandehttp://www.heinzwatties.co.nz
2012-12-06 15Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Marques
BMWhttp://www.bmw-motorsport.com
DC Shoeshttp://www.dcshoes.com
2012-12-06 16Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Québécoises ?
2012-12-06 17Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Québécoises
Plaisirs Laitiershttp://www.plaisirslaitiers.ca
Savoir Laitierhttp://www.savoirlaitier.ca
2012-12-06 18Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Québécoises
Tribu Inuithttp://www.avataq.qc.ca
Novatechhttp://novatechgroup.com
2012-12-06 19Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Références Québécoises
VAN HOUTTEhttp://www.vanhoutte.com
2012-12-06 20Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Quand faut-il utiliser eZ Publish ? / Quand faut-il utiliser autre chose ?
2012-12-06 21Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
eZ Publish est un excellent outil pour réaliser des sites de contenus.Il va nativement gérer :- Le versionning- Multiples états sur un contenu (brouillon, publié, archivé…)- Les traductions (interface et contenu)- Les droits d’affichage, de publication, suppression (public / membres /
groupes de membres)- L’indexation pour le moteur de recherche interne- Les flux de travail (workflow) : Processus de validation interne par exemple
C’est parfait pour le projet ou l’on a de la gestion de contenu, mais cela ne sert à rien pour un site purement métier (si vous développez un outil en ligne comme un webmail, un service de retouche photo, e-commerce avancé, wiki, twitter-like…)
Si vous souhaitez développer ce type de projet, utilisez un outil plus spécialisé, ou un framework plus bas niveau (type Symfony ou Silex).
Quand faut-il utiliser eZ Publish ? / Quand faut-il utiliser autre chose ?
2012-12-06 22Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Techniquement, comment ça marche ?
2012-12-06 23Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Comment faire votre premier site eZ
2012-12-06 24Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Télécharger l’archive :https://github.com/ezsystems/ezpublish
Prérequis pour l’installation :http://doc.ez.no/FAQ/Installation/Q-How-do-I-install-eZ-Publish
Besoin d’aide / une question :http://share.ez.no/forums
Utilisez l’assistant d’installation :http://doc.ez.no/eZ-Publish/Technical-manual/4.5/Installation/The-setup-wizard
Comment faire votre premier site eZ
2012-12-06 25Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Ce qu’il faut savoir pour bien commencer
2012-12-06 26Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Basée sur les notions de programmation orientée objetclasse de contenu : une classe définit une structure de données. Elle ne stocke aucune donnée (Exemple : classe recette de cuisine)attribut : définit une propriété d’une classe (Exemple : temps de réalisation attribut de la classe recette de cuisine)objet : un objet est une instance d’une classe (Exemple : Tarte au concombre instance de la classe recette de cuisine)
Une classe est « un moule » pour la création d’objets eZ Publish
Chacun de ces attributs possède des caractéristiques :NomDatatypeValeur par défautIndexableRequisTraductible
Contenu structuré
2012-12-06 27Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Processus de création d’une classe de contenu
Démo(Classes stockées en base de données)
AvantagesSimplicité de créationAdministration par le back-officeFlexibilité et extensibilité des types de contenus100% interrogeable par l’API
DifficultésDifficile à gérer (différences entre environnements)Modification du type (datatype) d’un champ impossible sans pertes d’informationsDifférence entre le modèle de données et l’affichage
Contenu structuré
2012-12-06 28Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Les objets sont rattachés à des nœuds
Il existe toujours un nœud principal, les autres nœud sont souvent considérés comme des liens symboliques Notion de « multi-positionnement »
Structure de l’information
2012-12-06 29Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Concept important :
« Séparer le contenu et la mise en page »eZ Publish utilise des templates pour gérer la mise en page du site
Un template est un fichier qui décrit comment un type particulier de contenu doit être affiché. Il s’agit d’un fichier HTML qui comporte du code spécifique à eZ Publish, ce code permet à l’outil d’insérer son contenu dynamique
Organisation et hiérarchie des templatesGabarit de page (pagelayout)
Gabarit de contenu
Définition d'un gabarit eZ Publish
Gabarit de page
HEADER
Navigation horizontale
Navigationverticale
Footer
Gabarit de contenu
Blocscontextuels
Titre du contenu 1
Accrocheillustration
Titre du contenu 2
Accrocheillustration
Pagination
2012-12-06 30Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Exemple de découpage d’un site
Définition d'un gabarit eZ Publish
Gabarit de page
HEADER
Navigation horizontale
Navigationverticale
Footer
Gabarit de contenu
Blocscontextuels
Titre du contenu 1
Accroche c1
Illustrationc1
Titre du contenu 2
Accroche c2
Illustrationc2
Pagination
2012-12-06 31Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Système de vue
Chaque objet de la base de données peut être représenté par plusieurs vues (plusieurs templates)
Exemple :
Définition d'un gabarit eZ Publish
2012-12-06 32Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Système de templates
2012-12-06 33Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
A l’installation, vous aurez le choix entre 3 packages de site d’exemple :- Plain site - Website interface- eZ Flow
Un package de site contient :- Les types d’objets que vous aurez en base de données (aussi appelés classes
de contenu)- Les templates pour chaque classe de contenu.- Les fichiers CSS / JS / images, permettant de mettre en place le design- Les fichiers XML de traduction des templates
Pour bien commencer, je recommande de prendre le package « plain-site » ne contient que le nécessaire ! Est suffisamment simple pour comprendre les templates facilement.
Système de templates
2012-12-06 34Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Le système de templates est basé sur les même principes que Smarty (syntaxe proche)
GénéralitésLe langage s’insère directement dans le code HTML, il est reconnu et traduit par
eZPublishLangage orientée objet : $node.object.data_map.titreLes lignes qui ne sont pas entre accolades ne sont pas interprétées par eZPublish
Commentaires : {* ceci est un commentaire *}
Code qui ne doit pas être interprété {literal} {* Javascript par exemple *} {/literal}
Système de templates
2012-12-06 35Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
VariablesElles sont précédées par $ (syntaxe similaire à PHP)Déclaration et assignation d’une variable avec les mots clés def et undef :
{def $var_chiffre=4 $var_chaine='bonjour' $var_bool=false()}ma variable chiffre vaut {$var_chiffre}…{set $var_bool=true()}
{undef $var_chiffre $var_chaine $var_bool}
Il existe deux types de variables : variables simples (par exemple numériques ou chaînes de caractères), objets et tableaux accessibles par $objet.attribut ou $tableau.indice
Astuce :La fonction attribute(show, n) permet d’afficher les attributs d’un objet ou tableau. Le paramètre n indique la profondeur d’affichage des propriétés.
{$variable|attribute(show,1)}
Système de templates
2012-12-06 36Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Quelques exemples : {foreach $tableau as [ $key => ]
$item } …
[ {delimiter} … {/delimiter} ]{/foreach}
{switch match=$valeur}{case match='value1'}
…{/case}{case match=in_array('value2', 'value3')}
…{/case}{case}
{* cas par défaut *}{/case}
{/section}
{if}…
{elseif}…
{else}…
{/if}
Structures de contrôle
2012-12-06 37Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Y a t’il des extensions toutes faites ?
2012-12-06 38Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
“Oui et non”
Il faut voir ça comme pour un framework
Y a t’il des extensions toutes faites ?
2012-12-06 39Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
1200 extensions communautaires disponibles sur http://projects.ez.no eZ SysteeZ Systemsms
Y a t’il des extensions toutes faites ?
2012-12-06 40Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
La version 5 est 100% branchée avec Symfony (qu’est-ce que ça apporte ?)
2012-12-06 41Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Apport de la version 5 :- Utilisation du MVC de Symfony 2- Compatibilité avec le moteur de template SF2 par défaut (Twig)- L’API publique eZ Publish est désormais disponible, vous pouvez donc
utiliser eZ Publish uniquement en appelant son API (gérer le contenu, les droits, les utilisateurs, etc…)
En savoir plus : https://github.com/ezsystems/ezp-next
Pourquoi c’est mieux ?- Le modèle HMVC de symfony2 est la façon la plus propre et standardisé
d’organiser un projet ambitieux.- Utiliser ce standard (également utilisé par ZF2) permettra de rendre eZ
publish plus facile à apprendre.
La version 5 est 100% branchée avec Symfony 2
2012-12-06 42Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Pourquoi eZ Publish est-il peu utilisé en Amérique du Nord ? Pourquoi ça va changer ?
2012-12-06 43Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Pourquoi eZ Publish est-il peu utilisé en Amérique du Nord ?• eZ Publish est excellent produit technique, mais peu de marketing a été fait pour
promouvoir le produit à l’international.• L’éditeur a manqué de présence en Amérique du nord, alors que les produits comme
wordPress (San Francisco) et Drupal (Boston) ont une forte présence ici.
Pourquoi ça va changer ?• Gartner (grand cabinet de conseil américain) vient de référencer eZ Publish dans son
« magic cadrant » des WCM• Création d’une entité Marketing et Vente à New York.• L’éditeur eZ Systems a identifié le marché Nord-Américain comme étant prioritaire
pour son développement.• Communauté eZ Americas active et régulière : http://www.meetup.com/eZ-Publish-
Users-Developers/ (Au moins, une activité par mois)• La communauté est en train de préparer des meetup physiques en Amérique du Nord
:• 13 dec à NYC (eZ NYC Informal Talk & Drink Christmas Meetup) et • en Février à Montréal juste avant Confoo 2013.
Pourquoi eZ Publish est-il peu utilisé en Amérique du Nord ?
2012-12-06 44Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Pourquoi eZ Publish est parfaitement adapté pour le marché Québécois ?
2012-12-06 45Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
C’est un produit open-source sans coût de licence (GPL)
La communauté française a déjà traduit l’ensemble de l’interface d’administration
Pour les directions informatiques souhaitant du support de l’éditeur, c’est également possible (c’est le rôle d’eZ Systems pour la version Entreprise)
Le multi-langue est natif et parfaitement intégré (aucun module nécessaire)
eZ Publish sera également présenté à Confoo 2013
Pourquoi eZ est parfaitement adapté pour le marché Québécois ?
2012-12-06 46Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Comment aller plus loin, tester le produit, poser des questions ?
2012-12-06 47Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc
Rejoignez la communauté eZ Community Quebec :
Maillist [email protected]
Twitter @ezcommunityLearn http://share.ez.no/learnGoogle+ http://bit.ly/ezcty-gplusGet Involved http://share.ez.no/get-involvedKeep Track http://share.ez.no/get-involved/exchange#RSS
Forge Ahead http://projects.ez.noDownload eZ Publish Community http://share.ez.no/downloadSuggest Feature Ideas http://share.ez.no/roadmapBe an eZ Publish Developer http://share.ez.no/get-involved/develop#resources
Comment aller plus loin, tester le produit, poser des questions ?