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
Meetup17 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
Pourquoi Rubedo ?
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
NoSQL et gestion de contenus
� Les CMS gèrent des Contenus …
… structurés et classés
Meetup Rubedo 17/12/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
Approche Relationnelle VS NoSQL : scalabilité
« Scalabilité » verticale « Scalabilité » horizontale
Meetup Rubedo 17/12/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
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
Installation
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
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
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
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
Préparer Rubedo (2)
Meetup Rubedo 17/12/2013
Préparer Rubedo (3 : VHOST)
Meetup Rubedo 17/12/2013
Installer Rubedo (1)
Accéder à /install
Meetup Rubedo 17/12/2013
Installer Rubedo (2)
Meetup Rubedo 17/12/2013
Installer Rubedo (3)
Meetup Rubedo 17/12/2013
Installer Rubedo (4)
Meetup Rubedo 17/12/2013
Installer Rubedo (5.1)
Meetup Rubedo 17/12/2013
Installer Rubedo (5.2)
Meetup Rubedo 17/12/2013
Installer Rubedo (5.3)
Meetup Rubedo 17/12/2013
Installer Rubedo (5.4)
Meetup Rubedo 17/12/2013
Installer Rubedo (6.1)
Meetup Rubedo 17/12/2013
Installer Rubedo (6.2)
Meetup Rubedo 17/12/2013
Installer Rubedo (7)
Meetup Rubedo 17/12/2013
Installer Rubedo (8)
Meetup Rubedo 17/12/2013
Installer Rubedo (9.1)
Meetup Rubedo 17/12/2013
Installer Rubedo (9.2)
Meetup Rubedo 17/12/2013
Installer Rubedo (9.3)
Meetup Rubedo 17/12/2013
Installer Rubedo (10)
Meetup Rubedo 17/12/2013
Modifier l’installation
Meetup Rubedo 17/12/2013
Mon premier site
Pause
Extension
L’essentiel pour débuter avec le développement sous Rubedo
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
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
Poser les bases d’une extension
� VCS
� composer.json
� Module.php
� module.config.php
Meetup Rubedo 17/12/2013
Poser les bases d’une extension
Module.php Module.php (dans src/MyExtension)
Meetup Rubedo 17/12/2013
Poser les bases d’une extension
composer.json module.config.php
Meetup Rubedo 17/12/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
Hébergement
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
Roadmap
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
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
Merci à tous pour votre participation
&
Bonnes fêtes de fin d’année