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
4. 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
+
5. NoSQL et gestion de contenus
Les CMS gèrent des Contenus …
… structurés
et
classés
Meetup Rubedo 17/12/2013
6. Approche Relationnelle VS NoSQL : modélisation
Approche relationnelle
type MySQL
Pour un type de contenu : 6 tables
Pour 10 types de contenus : 29 tables
1 requête unitaire = 6 tables et 2 jointures
Meetup Rubedo 17/12/2013
Approche NoSQL
documentaire
type MongoDB
Pour un type de contenu : 1 collection
Pour 10 types de contenus : 1 collection
1 requête unitaire : 1 collection
8. 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
Meetup Rubedo 17/12/2013
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)
•
9. Rubedo, les cas d’usage
Performances &
Volumétrie
Mobilité
Souplesse
Ergonomie
Use cases
Recherche &
Géolocalisation
Portails à fort trafic ou volumétrie
Plateformes multi-sites
Sites mobiles
Meetup Rubedo 17/12/2013
Ouverture &
Extensibilité
Contenus géo-localisés & cartographie
Moteurs de recherche verticaux
Plateformes de contribution décentralisées
12. 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
13. 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
14. 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
37. 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
38. 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
39. Poser les bases d’une extension
VCS
composer.json
Module.php
module.config.php
Meetup Rubedo 17/12/2013
40. Poser les bases d’une extension
Module.php
Meetup Rubedo 17/12/2013
Module.php (dans src/MyExtension)
41. Poser les bases d’une extension
composer.json
Meetup Rubedo 17/12/2013
module.config.php
42. Intégrer un thème bootstrap
1.
2.
3.
4.
5.
6.
Intégrer le nouveau template, avec ses css, js, images, …etc.
Surcharger la structure générique : page.html.twig
Surcharger le menu de navigation : navbar.html.twig
Surcharger les blocs génériques : contentlist.html.twig, singlecontent.html.twig, …
Créer les nouveaux blocs
…
Meetup Rubedo 17/12/2013
46. 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