48
Meetup 17 décembre 2013

Meetup CMS Rubedo 12 décembre 2013

  • Upload
    rubedo

  • View
    478

  • Download
    2

Embed Size (px)

DESCRIPTION

Slides du meetup Rubedo du 17 décembre. Au programme : - Pourquoi Rubedo ? - Comment installer Rubedo ? - Créer votre premier site - Créer votre extension - Hébergement - Présentation de la roadmap du CMS Rubedo

Citation preview

Page 1: Meetup CMS Rubedo 12 décembre 2013

Meetup17 décembre 2013

Page 2: Meetup CMS Rubedo 12 décembre 2013

SOMMAIRE

� Pourquoi Rubedo ? (15' - Didier Fanchon)

� Comment installer Rubedo ? (20' - Gaël Demette)

� Créer votre premier site (30' - Nicolas Trenti)

- Pause pizzas -

� Créer votre extension (20' - Alexandru Dobre)

� Hébergement (10' - Didier Fanchon)

� Présentation de la roadmap produit (10' - Didier Fanchon)

� Echanges libres sur l'avenir de Rubedo & la communauté

Meetup Rubedo 17/12/2013

Page 3: Meetup CMS Rubedo 12 décembre 2013

Pourquoi Rubedo ?

Page 4: Meetup CMS Rubedo 12 décembre 2013

Pourquoi Rubedo ?

Premier CMS open-source

basé sur un socle NoSQL

Dans un monde où LAMP est LA Norme

NoSQL, mais pour quoi faire ?

+

Meetup Rubedo 17/12/2013

Page 5: Meetup CMS Rubedo 12 décembre 2013

NoSQL et gestion de contenus

� Les CMS gèrent des Contenus …

… structurés et classés

Meetup Rubedo 17/12/2013

Page 6: Meetup CMS Rubedo 12 décembre 2013

Approche Relationnelle VS NoSQL : modélisation

Approche relationnelletype MySQL

Pour un type de contenu : 1 collectionPour 10 types de contenus : 1 collection1 requête unitaire : 1 collection

Pour un type de contenu : 6 tablesPour 10 types de contenus : 29 tables1 requête unitaire = 6 tables et 2 jointures

Approche NoSQLdocumentairetype MongoDB

Meetup Rubedo 17/12/2013

Page 7: Meetup CMS Rubedo 12 décembre 2013

Approche Relationnelle VS NoSQL : scalabilité

« Scalabilité » verticale « Scalabilité » horizontale

Meetup Rubedo 17/12/2013

Page 8: Meetup CMS Rubedo 12 décembre 2013

Les atouts du NoSQL

� Atouts Techniques

� Performances en lecture/écriture

� Stockage de grands volumes

� Montée en charge linéaire

� Gestion des fichiers intégrée (MongoDB - GridFS)

� Sécurité centralisée

� Atouts Fonctionnels

� Souplesse de modélisation

� Evolutivité dans le temps

� Fonctionnalités de Recherche

� Limites & précautions• Pas de transactions

• Déport des règles métiers dans la couche applicative

• Framework de développement indispensable !

• Certaines typologies de projets peuvent nécessiter une architecture hybride (site de e-commerce complexe par exemple)

Meetup Rubedo 17/12/2013

Page 9: Meetup CMS Rubedo 12 décembre 2013

Rubedo, les cas d’usage

Recherche &GéolocalisationRecherche &Géolocalisation

Ouverture &ExtensibilitéOuverture &Extensibilité

SouplesseSouplesse ErgonomieErgonomie

� Portails à fort trafic ou volumétrie� Plateformes multi-sites� Sites mobiles

� Contenus géo-localisés & cartographie� Moteurs de recherche verticaux� Plateformes de contribution décentraliséesU

se c

ases

Performances &Volumétrie

Performances &Volumétrie

MobilitéMobilité

Meetup Rubedo 17/12/2013

Page 10: Meetup CMS Rubedo 12 décembre 2013

Installation

Page 11: Meetup CMS Rubedo 12 décembre 2013

Prérequis

� PHP >= 5.3 (https://www.zend.com/fr/products/server/free-edition)

� PHP MongoDB Driver >= 1.3.0 (php.ini)

� Intl (php.ini)

� MongoDB >= 2.2 (http://www.mongodb.org/downloads)

� ElasticSearch

– Nécessite java

– Dernière version compatible avec Elastica (https://github.com/ruflin/Elastica)

– Plugins

• Mapper Attachments type (https://github.com/elasticsearch/elasticsearch-mapper-attachments)

• ICU Analysis (https://github.com/elasticsearch/elasticsearch-analysis-icu)

Meetup Rubedo 17/12/2013

Page 12: Meetup CMS Rubedo 12 décembre 2013

Préinstallation

� Distribution linux utilisée : Debian 7.2

– Attention version mongoDB

� Etapes

– Téléverser Rubedo

– Préparer Rubedo

– Installer Rubedo

Meetup Rubedo 17/12/2013

Page 13: Meetup CMS Rubedo 12 décembre 2013

Téléverser Rubedo

� Wget

– Plus rapide et léger (72Mo deps inc)

� Git clone

– Plus malléable

– Installer git

Meetup Rubedo 17/12/2013

Page 14: Meetup CMS Rubedo 12 décembre 2013

Préparer Rubedo (1)

� Exécuter ./install.sh (ou .bat)

– Mets à jour le composer.phar

– Installe les dépendances

– Ajoute les droits sur les dossiers

� ./update.sh (ou .bat)

– Mets à jour le composer.phar

– Mets à jour les dépendances

– Remets les droits sur les dossiers

Meetup Rubedo 17/12/2013

Page 15: Meetup CMS Rubedo 12 décembre 2013

Préparer Rubedo (2)

Meetup Rubedo 17/12/2013

Page 16: Meetup CMS Rubedo 12 décembre 2013

Préparer Rubedo (3 : VHOST)

Meetup Rubedo 17/12/2013

Page 17: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (1)

Accéder à /install

Meetup Rubedo 17/12/2013

Page 18: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (2)

Meetup Rubedo 17/12/2013

Page 19: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (3)

Meetup Rubedo 17/12/2013

Page 20: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (4)

Meetup Rubedo 17/12/2013

Page 21: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (5.1)

Meetup Rubedo 17/12/2013

Page 22: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (5.2)

Meetup Rubedo 17/12/2013

Page 23: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (5.3)

Meetup Rubedo 17/12/2013

Page 24: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (5.4)

Meetup Rubedo 17/12/2013

Page 25: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (6.1)

Meetup Rubedo 17/12/2013

Page 26: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (6.2)

Meetup Rubedo 17/12/2013

Page 27: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (7)

Meetup Rubedo 17/12/2013

Page 28: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (8)

Meetup Rubedo 17/12/2013

Page 29: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (9.1)

Meetup Rubedo 17/12/2013

Page 30: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (9.2)

Meetup Rubedo 17/12/2013

Page 31: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (9.3)

Meetup Rubedo 17/12/2013

Page 32: Meetup CMS Rubedo 12 décembre 2013

Installer Rubedo (10)

Meetup Rubedo 17/12/2013

Page 33: Meetup CMS Rubedo 12 décembre 2013

Modifier l’installation

Meetup Rubedo 17/12/2013

Page 34: Meetup CMS Rubedo 12 décembre 2013

Mon premier site

Page 35: Meetup CMS Rubedo 12 décembre 2013

Pause

Page 36: Meetup CMS Rubedo 12 décembre 2013

Extension

L’essentiel pour débuter avec le développement sous Rubedo

Page 37: Meetup CMS Rubedo 12 décembre 2013

Rubedo et les extensions

� Repose sur la structure modulaire de Zend Framework 2

� 1 extension = 1 module

� 1 extension permet actuellement de :

– Créer un thème graphique ou surcharger un thème existant

– Surcharger un template existant

– Créer ou surcharger un block (en FO et BO)

– Créer ou surcharger un service

– Ajouter des types de contenus ou de médias

– Etendre le back-office

� A venir :

– Initialisation des données de l’extension

– Manager d’extensions dans le back-office

� Exemple de base auquel se référer : https://github.com/WebTales/Extension

Meetup Rubedo 17/12/2013

Page 38: Meetup CMS Rubedo 12 décembre 2013

Installer et mettre à jour des extensions

� Déclarer l’extension dans composer.extensions.json

� Installation ou maj : update.bat ou .sh

Meetup Rubedo 17/12/2013

Page 39: Meetup CMS Rubedo 12 décembre 2013

Poser les bases d’une extension

� VCS

� composer.json

� Module.php

� module.config.php

Meetup Rubedo 17/12/2013

Page 40: Meetup CMS Rubedo 12 décembre 2013

Poser les bases d’une extension

Module.php Module.php (dans src/MyExtension)

Meetup Rubedo 17/12/2013

Page 41: Meetup CMS Rubedo 12 décembre 2013

Poser les bases d’une extension

composer.json module.config.php

Meetup Rubedo 17/12/2013

Page 42: Meetup CMS Rubedo 12 décembre 2013

Intégrer un thème bootstrap

1. Intégrer le nouveau template, avec ses css, js, images, …etc.2. Surcharger la structure générique : page.html.twig3. Surcharger le menu de navigation : navbar.html.twig4. Surcharger les blocs génériques : contentlist.html.twig, singlecontent.html.twig, …5. Créer les nouveaux blocs6. …

Meetup Rubedo 17/12/2013

Page 43: Meetup CMS Rubedo 12 décembre 2013

Hébergement

Page 44: Meetup CMS Rubedo 12 décembre 2013

Ou héberger votre projet ?

� Hébergement mutualisé / sur VM dédiée

– www.rubedocloud.com

• Offres gratuites

• Offres payantes à venir

� Hébergeurs partenaires :

– Smile Hosting

– http://www.itsintegra.com/

– http://easyspeedy.com/

Meetup Rubedo 17/12/2013

Page 45: Meetup CMS Rubedo 12 décembre 2013

Roadmap

Page 46: Meetup CMS Rubedo 12 décembre 2013

Roadmap

� 2.1 : début Janvier

– Gestion des types d’utilisateurs

– Recherche des utilisateurs

– Nouveaux blocs :

• Annuaire

• Fiche profil

• Création de compte via le FO

– Nouveau module :

• Emailing : création des e-mails, gestion de mailing-list, envoi des mails

� Orientations 2.2 : réseau social & collaboratif

Meetup Rubedo 17/12/2013

Page 47: Meetup CMS Rubedo 12 décembre 2013

Ressources

www.rubedo-project.org

Tutoriels Téléchargement ForumNewsletter

Et aussi :

• Wiki• Mailing-list développeurs• GitHub• Crowdin

@Rubedo_project

Rubedo

Meetup Rubedo 17/12/2013

Page 48: Meetup CMS Rubedo 12 décembre 2013

Merci à tous pour votre participation

&

Bonnes fêtes de fin d’année