eZ UnConference - Z Publish top-performance through mastery (and extension) o...
Deployment of a multi-site platform
1. Montpellier le 25/06/2009
eZ Publish : Déploiement d’une plateforme multi-site
Introduction aux projets Multi-site
Chapitre 1 : Stratégies de déploiement Multi-site
Chapitre 2 : Etude de cas : Le générateur de site web
Chapitre 3 : Etude de cas : CRT Picardie
Kaliop
Quelques questions ?
Gilles Guirand – Technical Director at Kaliop
2. Introduction aux projets Multi-site
Pourquoi déployer un système multi-site ?
Partage de contenu (contenu, medias, utilisateurs, cross-publishing)
Fonction factorisation (1 développement pour « N » site web)
• Type de Contenu : informations, articles, dossiers, images, vidéos, …
• Fonctions communautaires : Commentaires, Blogs, Forums, Newsletters, …
• Caractéristiques d’un Système d’Information : LDAP, SSO, Web Services, BD, …
Optimisation des coût
• Fonction implicite résultant de la factorisation
• motivation principale?
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 2
3. Introduction aux projets Multi-site
Pour quel type de projet?
Organisation en réseau vertical
• International, national, local . . . des sites WEB
Organisation en réseau Horizontal
• Sites Web thématiques
• Publications Temporaires (évènements)
business model du Produit (white labelling)
• Générateur de site web – Usine à sites (contenus, blogs, forums, …)
• Site web « Low costs » : «prêt à l’emploie»
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 3
4. Montpellier le 25/06/2009
eZ Publish : Déploiement d’une plateforme multi-site
Introduction aux projets Multi-site
Chapitre 1 : Stratégies de déploiement Multi-site
Chapitre 2 : Etude de cas : Le générateur de site web
Chapitre 3 : Etude de cas : CRT Picardie
Gilles Guirand – Technical Director at Kaliop
5. Chapitre 1 – Stratégies de déploiement Multi-site
1 Installation d’eZ & 1 BD/var Pour chaque site web (pas de BD partagée)
• 1 installation eZ
• 1 DB pour chaque site web
• 1 var directory pour chaque site
Website 1 Website 2 Website 3 Website N web
• 1 siteaccess pour chaque site web
(1 var & 1 DB de paramètres)
Siteaccess 1 Siteaccess 2 Siteaccess 3 Siteaccess N
VAR 1 VAR 2 VAR 3 VAR N
Database
Server
Database 1 Database 2 Database 3 Database N
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 5
6. Chapitre 1 – Stratégies de déploiement Multi-site
1 Installation d’eZ & 1 BD/var Pour chaque site web (pas de BD partagée)
Avantages :
• BD de gestion SPOF : un crash ne pourrait pas affecter tous les
Sites Web
• Version gestion d’eZ Publish (partage d’extension )
Problèmes communs & Solutions possible :
• Comment partager un contenu ?
• Utilisateurs : LDAP externe (syndication LDAP) – SSO si besoin (CAS, LemonLDAP)
• News : Syndication RSS (Natif, ou Composants eZ pour le support de mise à jour)
• Contenu Classique : Syndication XML (Composants eZ pour le support de mise à jour)
• BD complexe : BD d'extranet, connectivité eZ , opérateur de template , ou une datatype
client.
À savoir avec eZ Find 2.0 :
eZ Find (SolR) est capable d’indexer une requête, un cache et de parcourir tous les
contenus d'une installation multi-site eZ à une autre.
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 6
7. Chapitre 1 – Stratégies de déploiement Multi-site
1 Installation d’eZ & 1 BD/var Pour chaque site web (pas de BD partagée)
• 1 installation eZ
• 1 BD pour tous les sites web
• 1 var directory pour tous les
Website 1 Website 2 Website 3 Website N sites web
• 1 siteaccess pour chaque site
web (1 subtree pour chaque
site web)
Siteaccess 1 Siteaccess 2 Siteaccess 3 Siteaccess N
VAR
Subtree 1/2/X Subtree 1/2/Y Subtree 1/2/Z Subtree 1/2/N
Database
Server Fail over
Database
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 7
8. Chapitre 1 – Stratégies de déploiement Multi-site
1 Installation d’eZ & 1 BD/var Pour chaque site web (pas de BD partagée)
Avantages :
Partage Facile de contenu : Contenu, media, …
Pour une usine à site : Modèle de stockage, génération de sous-
arbres
Problèmes communs & Solutions possible :
MySql SPOF : Basculement (Master / Slave and Load Balancer)
Multi servers frontaux : Clustering, accroissement des performances
en utilisant stalecache (mise-jour d’eZ 4.1+)
Questions développeurs (dans le Chapitre 2)
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 8
9. Chapitre 1 – Stratégies de déploiement Multi-site
1 Installation d’eZ & 1 BD/var Pour chaque site web (pas de BD partagée)
Comment faire un choix entre mono et multi base de données ?
Questions Mono BD Multi BD
Nombre de sites web à -100 +500
générer
Suite SPOF Low High
Contenu, media, +30% -10%
utilisateurs …
A savoir pour les solutions de mix, et de partage d'une «mise à jour» eZ Publish :
« Mono BD » pour partager vos sites web non stratégiques (entreprises)
et
« BD spécifiques» pour vos sites stratégiques (e-Business)
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 9
10. Montpellier le 25/06/2009
eZ Publish : Déploiement d’une plateforme multi-site
Introduction aux projets Multi-site
Chapitre 1 : Stratégies de déploiement Multi-site
Chapitre 2 : Etude de cas : Le générateur de site web
Chapitre 3 : Etude de cas : CRT Picardie
Gilles Guirand – Technical Director at Kaliop
11. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
« Modèles de site web» organisation :
• Root
• Shared content (content / media)
• Referential 1 Contenu partagé :
• « Object relations » use / « Add location » use
• Referential 2
• Utilisation fréquente : importations des datasources d'extranet
• Website models
• Model 1 (« website_model_1 » content class)
• Default content tree
• Model 2 (« website_model_2 » content class)
• Default content tree duplication de
• Websites sous-arbres
• Mywebsite 1 (« website_model_1 » content class)
• Content tree (initialized from default content tree)
• Mywebsite 2 (« website_model_1 » content class)
• Content tree (initialized from default content tree)
• Mywebsite 3 (« website_model_2 » content class)
• Content tree (initialized from default content tree)
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 11
12. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Modèle de type de contenu de classe :
• Nom du projet de site Web : « My Web site »
• Titre: « My Web site title »
• Baseline : « My baseline »
• META Description (Description de la page d'accueil) + concaténer des mots clés de pages aux sous-
arbres
• META Keywords (Mots clé de la page d’accueil)+ concaténer des mots clés de pages aux sous-arbres
• Top banner (relation d'objet pour projeter des media, ou des classes de diaporama client)
• Logos (Relation d'objets aux médias d'images)
• Etc.
Chaque classe de contenu pour chaque modèle de site Web
Créer une classe de contenu est plus évolutif pour :
• Paramétrer le webmastering ( que dois gérer votre webmaster ?)
• Gérer les polices (ParentClass)
• Gérer les Templates (oublier le « node_id »)
• Et plus…(vous avez besoin d’oublier « node_id » pour générer massivement)
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 12
13. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Modèle de site web évolutif :
2, 3 ou 4 colonnes ?
Paramètre de bloc fixes ou libres (gauche, droite, centre) ?
Fonctions optionnelles (sitemap, google sitemap, RSS) ?
Comme définir votre « modèle » évolutif ?
1 modèle (classes, templates) pour tous les prototypes de site Web ?
1 modèle (classes, templates) par prototype de site Web?
Pensez à gérer les paramètres, les polices et caractéristiques des modèles dans vos classes de contenu:
• « News_folder » class node : (title / top text / items per page / …,)
• « Block » class node : (position=left / related objects / …)
• « Block » class node : (position=right / related objects / …)
• « News » class node…
• « Article_folder » class node : (title / top text / show table of content / …,)
• « Media_folder » class node : (title / top text / items per page / display=thumbnail / …,)
Pensez à eZ Flow
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 13
14. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Front-End & Back-End Siteaccess
FRONT-END Siteaccess BACK-END Siteaccess
Root http://admin.mydomainname.com
• Website models
• Model 1 http://model1.mywebfactory.com
• Model 2 http://model2.mywebfactory.com
Model preview
• Websites
• Mywebsite 1 http://www.mywebsite1.com (french) http://admin.mywebsite1.com (fr)
• Mywebsite 2 http://www.mywebsite2.com (french) http://admin.mywebsite2.com (fr)
• Mywebsite 3
http://fr.mywebsite3.com (french) http://admin.mywebsite3.com
http://en.mywebsite3.com (english) Language settings (FR, EN, ES)
http://es.mywebsite3.com (spanish)
1 language = 1 siteaccess
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 14
15. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Extensions (design et paramètre) d’organisation dossier
1 « Generic Web site » Extension, for N siteaccess
CSS Design
CSS Design
Generic design (common
templates)
Hébergement des paramètres
Les paramètres peuvent changer selon
en-website1 le lieu, la version de test ou en ligne
(URL, Google map, courriels, …)
Fr-website1
www-website2
…
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 15
16. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Processus de génération étapes-par-étape, et problèmes communs
« Create New Website » Button
• Step-by-step generation PROCESS:
• Statics INPUT settings (INI) : • Static & dynamic settings loading
• Content subtree model selection
• ParentModelNodeID
• Content subtree model duplication
• ParentTargetNodeID • Set the new Rootnode site_name / URL_Alias
• WebmasterUserGroupID • Create new Media folder («site_name »)
• WebmasterRoleID • Create news siteaccess (1 per language)
• AnonymouseRoleID • EN-site_name
• FR-site_name
• DesignList [ ]
• Create Webmaster userGroup
• … • Set Webmaster role to the previous Webmaster
UserGoup
• Rootnode restriction
• Dynamic INPUT settings (from a custom • New Media Folder
form, or CLI parameters) :
• Common Folder
• ModelID • Set all siteaccess settings «Settings/siteaccess/ »
• SearchEngineActivation • EN-site_name/content.ini.append.php
• PageLimit • EN-site_name/site.ini.append.php
• Set override settings
• ContentMenuDetph «settings/override/site.ini.append.php»
• … • Clear specific caches (‘user’, ‘template’, ‘content’)
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 16
17. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Processus de génération étape-par-étape, et problèmes communs
Problèmes communs : gestion de contenu hors du sous-arbre de site web
• Contenu partagé (contentu/ media)
• Node 1
• Site web
• Mywebsite 1 (http://mydomain.com)
• Object 2 (object relation to node 1)
Comment afficher ses « out of subtree »?
• Use view_parameters : http://mydomain.com/(shared)/node_1
Comment gérer ses liens (avec URL) ?
• Use a custom ezURL() template operator
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 17
18. Chapitre 2 - Etude de cas:
"Le générateur de site web” « Modèle site de web»
organisation, « modèle » contenu de classe
Processus de génération étape-par-étape, et problèmes communs
Problèmes communs : gestion de contenu hors du sous-arbre de site web
• Contenu partagé (contentu/ media)
• Node 1
• Node 1.x
• Site web View :
Object 2
• Mywebsite 1 (http://mydomain.com)
Node
• Object 2 (object relation to node 1)
Node 1.x
Comment voir ses nœuds dans les résultats d’une recherche de contenu?
• eZ Find indexe toujours ses objets,
• On stock une liste d’objets à ajouter comme un filtre dans une requête (Fetch eZ Find). On Peuple les
IDs par l'opérateur ezURL personnalisé(or Workflow), et l’on stocke les ID à l'intérieur d'une table
personnalisée.
Demandez Paul B. pour améliorer eZ Find ?
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 18
19. Montpellier le 25/06/2009
eZ Publish : Déploiement d’une plateforme multi-site
Introduction aux projets Multi-site
Chapitre 1 : Stratégies de déploiement Multi-site
Chapitre 2 : Etude de cas : Le générateur de site web
Chapitre 3 : Etude de cas : CRT Picardie
Gilles Guirand – Technical Director at Kaliop
20. Chapitre 3 – Etude de cas : “CRT Picardie”
Générateur d’interface de site web – Liste des sites web existant
Liste des sites web existant et création d’un nouveau:
Gestion des sites web
… model N
Editer un site Créer un nouveau site Créer un nouveau site
web existant depuis un modèle de depuis un modèle de
contenu générique. contenu spécifique.
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 20
21. Chapitre 3 – Etude de cas : “CRT Picardie”
Générateur d’interface de site web – Liste des sites web existant
Créer un nouveau site web :
Choisir votre langue
Choisir votre CSS StyleSheet
Personnalisation
Contact email
Clé Google maps
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 21
22. Chapitre 3 – Etude de cas : “CRT Picardie”
Générateur d’interface de site web – Liste des sites web existant
Créer un nouveau site web : Ajouter une langue
Régler la confidentialité de votre site
Régler la langue de l’URL Access :
http://en.mydomain.com
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 22
23. Chapitre 3 – Etude de cas : “CRT Picardie”
Générateur d’interface de site web – Liste des sites web existant
Toutes les caractéristiques sont compatible avec
Front-end exemple : Default design Default CSS StyleSheet
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 23
24. Chapitre 3 – Etude de cas : “CRT Picardie”
Générateur d’interface de site web – Liste des sites web existant
Front-end exemple : http://jardinsenscene-picardie.com/
Custom CSS StyleSheet
Custom slideshow
Moteur de recherche
Block
Google maps
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 24
25. Montpellier le 25/06/2009
eZ Publish : Déploiement d’une plateforme multi-site
Introduction aux projets Multi-site
Chapitre 1 : Stratégies de déploiement Multi-site
Chapitre 2 : Etude de cas : Le générateur de site web
Chapitre 3 : Etude de cas : CRT Picardie
Gilles Guirand – Technical Director at Kaliop
26. KALIOP > 4 pôles d’expertise
Pôle Pôle Pôle Pôle
Agence Projets Support Hébergement
Vos projets web
•Sites internet / extranet / intranet )
•Sites accessibles (RGAA /Accessiweb)
•Plate-forme multi-sites
•Sites mobiles Sites e-commerces
•Applications web sur mesure
• Tierce Maintenance Applicative Hébergement
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 26
27. KALIOP > Données clés
Une expertise Pour le déploiement et
Agence pérenne; à reconnue à l’échelle l’exploitation des
nationale projets web
taille humaine
stratégiques
Capitalisation d’expérience
Année de fondation > 170 projets web
Envergure moyenne
2002 des projets
100 à 500 jours. hommes
Siège social Clientèle
Montpellier 85% Ille de France
Certifications
Platinum eZPublish
CMMI en cours
Equipe
30 collaborateurs
CA 2009
1 350 k€ (+26 % / an)
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 27
28. Kaliop : Principaux clients
Sciences &
Environnement Tourisme Industrie
recherche
Formation & Public & Assurance &
Média & b to c
enseignement collectivités finance
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 28
29. Contacts
Vos contacts commerciaux
– Emmanuel MARTIN, Responsable Commercial de Kaliop
• emartin@kaliop.com
• +33 4 99 13 68 60
– Marie SANZ, Chargée d’Affaires en charge de l’offre
Infrawan (hébergement)
• msanz@kaliop.com
• +33 4 99 13 68 60
eZ Publish : Déploiement d’une plateforme multi-site 25/06/2009 29