Your SlideShare is downloading. ×
Présentation eZ Publish - PHP Québec
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Présentation eZ Publish - PHP Québec

1,971
views

Published on

Présentation du CMS eZ Publish pour la rencontre mensuelle de PHP Québec du 6 décembre 2012

Présentation du CMS eZ Publish pour la rencontre mensuelle de PHP Québec du 6 décembre 2012

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,971
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. AGENCE GLOBALE : STRATEGIE & MARKETING / DEVELOPPEMENT WEB et MOBILEeZ Publish - Un CMF open-source qui afait ses preuvesPar Gauthier GARNIER Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 1
  • 2. Courte présentationGauthier GARNIERDirecteur Général à Novactive (Agence de Montréal)En charge de la production, RH et FinancesTwitter : @gauthiergarnierFacebook : fb.com/gauthier.garnierMe contacter :Mail & Gtalk : garnier.gauthier@gmail.comSkype : garnier.gauthierPratique d’eZ Publish dans un contexte professionnel depuis 2006.En tant que développeur, expert technique et chargé de projet. Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 2
  • 3. Qui sommes nous ? NOS BUREAUX DE MONTREAL BUREAU DE MONTREALNOVACTIVE, En quelques chiffres : 360 Saint Jacques #1805 L’ÉQUIPE (75 collaborateurs) CHIFFRES CLÉS H2Y 1P5 Montreal, QC Direction Générale : 4 Création & Graphisme : 5 Date de création : 1996 Commercial & Administration : 9 Capital social : $ 180K - 18 mois d’existence à MTL Ingénierie, Développement - Plusieurs clients au Québec Consulting et Gestion de projets : 19 et Intégration : 38 Marge brute 2011 : $ 5M - Une équipe d’expert Effectifs 2012: 75 - Croissance importanteRépartis sur les 3 pôles de Paris, Montréal et TunisDES CLIENTS PRESTIGIEUX ACTIVITÉS PARTENARIATS & EXPERTISE Conseil et expertise : Conseil, accompagnement et réalisation en conception Web et Partenaire eZ Systems Mobile, Design, Online Marketing Partenaire Acquia Développement Web & Mobile : Développement Web : Expertise de pointe dans les technologies Open Source, Développement mobile iPhone et Partenaire Varnish AndroidDES TECHNOLOGIES OPEN-SOURCE Partenaire Emailvision Hébergement : Infrastructures d’hébergement complètes Certifié ISO 9001 v. 2008 en 2009, 2010 et 2011 Expertise en développement mobile (iPhone & Android) Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 3
  • 4. Qu’est-ce qu’un CMF (Content Management Framework), quelles différences avec un CMSHistoire 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 ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 4
  • 5. Qu’est-ce qu’un CMF (Content ManagementFramework), quelles différences avec un CMS ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 5
  • 6. Qu’est-ce qu’un CMF, quelles différences avec un CMS ? Content management system framework Le but : Faire du sur-mesureDiffé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éveloppements Pas de mauvaises surprises On se concentre sur notre valeur ajouté ! Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 6
  • 7. Histoire du projet eZ Publish (conçu etdéveloppé par de grands noms du PHP) Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 7
  • 8. Histoire du projet eZ Publish 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.0 2005 : eZ Systems ouvre des bureaux en Europe 2007 : eZ Publish 4.0 supporte php5 2009 : Mise en place du portail communautaire : http://share.ez.no 2009 : eZ Publish 4.3 supporte php5.3 2012 : eZ Systems ouvre des bureaux en Asie et Amérique du Nord Sept 2012 : Version 5.0 beta1 – basée sur Symfony 2 Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 8
  • 9. Histoire du projet eZ Publish Un projet porté techniquement par des experts reconnus internationalement Derick Rethans Leader du projet Xdebug Employé par eZ Systems pendant 6 ans Sebastian Bergmann Et aussi plein Leader du projet PHPunit d’autres Employé par eZ Systems pendant 4 ans développeurs talentueux ! Tobias Schlitt Très actif sur PEAR Employé par eZ Systems pendant 5 ans Encore très actif sur eZ Components Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 9
  • 10. Il a fait ses preuves ? (références etchiffres clés) Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 10
  • 11. Il a fait ses preuves ? (références et chiffres clés) 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) Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 11
  • 12. Références Media ELLE The Christian Science Monitor http://www.elle.com http://www.csmonitor.com Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 12
  • 13. Références Media The Banker Wall Street Journal Asia http://www.thebanker.com http://jp.wsj.com Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 13
  • 14. Références Marques John Deere Suisse Heinz Wattie’s – Nouvelle Zélande http://johndeeredistributor.ch http://www.heinzwatties.co.nz Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 14
  • 15. Références Marques BMW DC Shoes http://www.bmw-motorsport.com http://www.dcshoes.com Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 15
  • 16. Références Québécoises ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 16
  • 17. Références Québécoises Plaisirs Laitiers Savoir Laitier http://www.plaisirslaitiers.ca http://www.savoirlaitier.ca Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 17
  • 18. Références Québécoises Tribu Inuit Novatech http://www.avataq.qc.ca http://novatechgroup.com Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 18
  • 19. Références Québécoises VAN HOUTTE http://www.vanhoutte.com Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 19
  • 20. Quand faut-il utiliser eZ Publish ? / Quandfaut-il utiliser autre chose ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 20
  • 21. Quand faut-il utiliser eZ Publish ? / Quand faut-il utiliser autre chose ? 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). Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 21
  • 22. Techniquement, comment ça marche ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 22
  • 23. Comment faire votre premier site eZ Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 23
  • 24. Comment faire votre premier site eZ 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 Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 24
  • 25. Ce qu’il faut savoir pour bien commencer Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 25
  • 26. Contenu structuré Basée sur les notions de programmation orientée objet classe 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 : Nom Datatype Valeur par défaut Indexable Requis Traductible Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 26
  • 27. Contenu structuré Processus de création d’une classe de contenu  Démo (Classes stockées en base de données) Avantages Simplicité de création Administration par le back-office Flexibilité et extensibilité des types de contenus 100% interrogeable par l’API Difficultés Difficile à gérer (différences entre environnements) Modification du type (datatype) d’un champ impossible sans pertes d’informations Différence entre le modèle de données et l’affichage Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 27
  • 28. Structure de l’information 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 » Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 28
  • 29. Définition dun gabarit eZ Publish 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 templates Gabarit de page (pagelayout) Gabarit de contenu Gabarit de page HEADER Navigation horizontale Gabarit de contenu Titre du contenu 1 illustration Accroche Navigation Titre du contenu 2 Blocs verticale illustration contextuels Accroche Pagination Footer Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 29
  • 30. Définition dun gabarit eZ Publish Exemple de découpage d’un site Gabarit de page HEADER Navigation horizontale Gabarit de contenu Titre du contenu 1 Illustration c1 Accroche c1 Navigation Titre du contenu 2 Blocs verticale Illustration contextuels c2 Accroche c2 Pagination Footer Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 30
  • 31. Définition dun gabarit eZ Publish Système de vue Chaque objet de la base de données peut être représenté par plusieurs vues (plusieurs templates) Exemple : Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 31
  • 32. Système de templates Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 32
  • 33. Système de templates 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. Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 33
  • 34. Système de templates Le système de templates est basé sur les même principes que Smarty (syntaxe proche) Généralités Le langage s’insère directement dans le code HTML, il est reconnu et traduit par eZPublish Langage orientée objet : $node.object.data_map.titre Les 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} Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 34
  • 35. Système de templates Variables Elles 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)} Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 35
  • 36. Structures de contrôle Quelques exemples : {foreach $tableau as [ $key => ] $item } {if} … … [ {delimiter} … {/delimiter} ] {elseif} {/foreach} … {else} … {/if} {switch match=$valeur} {case match=value1} … {/case} {case match=in_array(value2, value3)} … {/case} {case} {* cas par défaut *} {/case} {/section} Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 36
  • 37. Y a t’il des extensions toutes faites ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 37
  • 38. Y a t’il des extensions toutes faites ? “Oui et non” Il faut voir ça comme pour un framework Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 38
  • 39. Y a t’il des extensions toutes faites ? 1200 extensions communautaires disponibles sur http://projects.ez.no eZ SysteeZ Systemsms Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 39
  • 40. La version 5 est 100% branchée avecSymfony (qu’est-ce que ça apporte ?) Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 40
  • 41. La version 5 est 100% branchée avec Symfony 2 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. Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 41
  • 42. Pourquoi eZ Publish est-il peu utilisé enAmérique du Nord ? Pourquoi ça vachanger ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 42
  • 43. Pourquoi eZ Publish est-il peu utilisé en Amérique du Nord ? 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. Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 43
  • 44. Pourquoi eZ Publish est parfaitementadapté pour le marché Québécois ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 44
  • 45. Pourquoi eZ est parfaitement adapté pour le marché Québécois ? 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 Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 45
  • 46. Comment aller plus loin, tester leproduit, poser des questions ? Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 46
  • 47. Comment aller plus loin, tester le produit, poser des questions ? Rejoignez la communauté eZ Community Quebec : Maillist ezpublish-community-quebec@googlegroups.com Twitter @ezcommunity Learn http://share.ez.no/learn Google+ http://bit.ly/ezcty-gplus Get Involved http://share.ez.no/get-involved Keep Track http://share.ez.no/get-involved/exchange#RSS Forge Ahead http://projects.ez.no Download eZ Publish Community http://share.ez.no/download Suggest Feature Ideas http://share.ez.no/roadmap Be an eZ Publish Developer http://share.ez.no/get-involved/develop#resources Présentation eZ Publish pour PHP Québec – par Novactive Canada Inc 06/12/2012 47

×