Slides de mon talk sur l'utilisation du générateur de site statique Middleman dans un contexte client.
Talk donné à l'occasion d'un apéro Ruby avec @ruby_nord
3. RUBY NORD Apéro Ruby février 2016
UTILISER MIDDLEMAN
AVEC DES CLIENTS
(qui veulent gérer leurs contenus…)
4. RUBY NORD Apéro Ruby février 2016
MIDDLEMANUN GENERATEUR DE SITE STATIQUE
???
5. RUBY NORD Apéro Ruby février 2016
Que dit le web
sur le sujet ?
6. RUBY NORD Apéro Ruby février 2016
NON
http://bit.ly/1PMCktV
The joy and pain of using
a static site generator for
private and client work
http://bit.ly/1O1YlPO
Static vs. CMS,
what's the best
solution for clients?
7. RUBY NORD Apéro Ruby février 2016
NONLES CLIENTS VEULENT DES CMS
• Edition facile
• Publication instantanée
• Des formulaires
• Des sliders
• Des commentaires
• Des plugins partout
• Données dynamiques
• Evolutions
• Encore des plugins
8. RUBY NORD Apéro Ruby février 2016
OUISTATIC IS THE NEW DYNAMIC
http://bit.ly/1mqYBS7
VOX MEDIA
Site statique Middleman dont le contenu
est géré par des éditeurs externes
9. RUBY NORD Apéro Ruby février 2016
OUISTATIC IS THE NEW DYNAMIC
HEALTHCARE.GOV
Site gouvernemental US buildé avec
Jekyll
http://bit.ly/1mqYBS7
10. RUBY NORD Apéro Ruby février 2016
Des dizaines de services
pour « dynamiser » un site statique
11. RUBY NORD Apéro Ruby février 2016
LES AVANTAGEScôté développeur
• Rapidité de développement
• Coût
• Versionning aisé
• Centralisation du code
• Pas de jonglage avec les bases de données
• Environnements séparés: dev / staging / production
• Déploiement rapide
• Stricte séparation du développement et de l'édition
• Maintenance quasi nulle
• Hébergement peu gourmand
• Sécurité
12. RUBY NORD Apéro Ruby février 2016
LES INCONVENIENTS
côté client
• Pas d'interface d'administration
• Pas de mise à jour par les utilisateurs
• Pas de publications immédiates
• Pas de banque de plugins utilisables en un clic
• Gestion des images non user friendly
• Dépendance à un prestataire pour les mises à jours
13. RUBY NORD Apéro Ruby février 2016
CAS D’UTILISATION
• Sites de news aux nombreuses publications
• Sites aux structures complexes et modifiables
• Sites avec gestion des utilisateurs*
• Sites nécessitant des manipulations de BDD
• Pas de services tiers répondant aux besoins
• Sites type vitrine / brochure
• Sites institutionnels au contenu important
• Sites de documentation
• Le classique blog / portfolio
• Site promotionnel produit / service
• Landing pages
• Sites évènementiels
• Panneau d’affichage
• Et nombre d’autres…
14. RUBY NORD Apéro Ruby février 2016
OK MAIS COMMENT ON GÈRE
LE CONTENU ?
15. RUBY NORD Apéro Ruby février 2016
L’EMAIL
• Un petit parfum du web des 90’s
• Simple pour l’utilisateur
• Viable pour les sites aux mises à jour peu féquentes
16. RUBY NORD Apéro Ruby février 2016
L’EMAIL
QUEL FORMAT DE FICHIERS ?
EXCEL
WORD
YAML / JSON
MARKDOWN
Des outils pour nous aider
MR Data Converter / convertcsv.com /
Des gems : csv2json / word-to-markdown
17. RUBY NORD Apéro Ruby février 2016
GOOGLE DRIVE
• Contenu éditable en ligne
• Toujours simple pour les utilisateurs
• Travail collaboratif possible
• Versionning des fichiers
• Partage d’images / documents
18. RUBY NORD Apéro Ruby février 2016
GOOGLE DRIVE
gems spécifiques
Middle_drive
github.com/zigomir/middle_drive
2
• Données dans des spreadsheets
• Chaque feuille correspond à une page
• Simple suite de clés / valeurs
• $ middle_drive pour la synchro locale
19. RUBY NORD Apéro Ruby février 2016
GOOGLE DRIVE
gems spécifiques
Middleman-google-drive
https://github.com/voxmedia/middleman-google_drive
2
• Système utilisé par Vox Media
• Système d’authentification
• Multi-documents, multi-pages
• Simple suite de clés / valeurs
• Plain text / HTML / ArchieML
• activate :google_drive
20. RUBY NORD Apéro Ruby février 2016
GOOGLE DRIVE
Mais aussi
Google Drive Ruby
https://github.com/gimite/google-drive-ruby
https://github.com/landonmarder/google_drive_ruby
Sheestu
https://sheetsu.com/
RESTful API pour Google Spreadsheet : GET / POST
PUT / PATCH / DELETE dans la current beta
21. RUBY NORD Apéro Ruby février 2016
PROSE.IO
L’éditeur de GitHub
22. RUBY NORD Apéro Ruby février 2016
PROSE.IO
L’éditeur de GitHub
• Sources sur GitHub
• Versionning
• Accès restreint des fichiers
• Editeur Markdown
• Prévisualisation
• Charger des images
• Edition des meta données
• Commit on save
• Build & Deploy
C’est plus simple d’apprendre
un peu de Markdown que de
cliquer partout dans un
editeur…
23. RUBY NORD Apéro Ruby février 2016
CONTENTFUL
Cms en mode SaaS
• Découpler totalement le contenu
• Multi-utilisateurs
• Flexibilité
• User friendly
• Gestion avancée des assets
• Webhooks
• Gem pour middleman
• $ middleman contentful —rebuild
• Free pour les petits projets
24. RUBY NORD Apéro Ruby février 2016
PRISMIC.IO
Cms en mode SaaS
• Similaire à Contenful
• Création de CT en JSON
• Différents types de contenus
• Gem pour middleman
• $ middleman prismic
• Gem officielle : Ruby-kit
• Free en mono-utilisateur
25. RUBY NORD Apéro Ruby février 2016
WORDPRESS
Cms as a back end
• Copier Contentful / Prismic
• Ne garder que l’édition
• Gestion des publications
• Le client connait WP
• Refonte d’un site existant
• Management des assets
• Gems :
• middlemanWordpress-import
• middleman-data-source
26. RUBY NORD Apéro Ruby février 2016
RUBY ON RAILS
Roll your own solution
• Simple CRUD
• Pages / posts / galeries
• Fonctionnalités sur mesure
• JSON pour tous
• Gems pour l’admin
• Hébergée sur heroku
• App réutilisable
Une app par site
27. RUBY NORD Apéro Ruby février 2016
RUBY ON RAILS
Roll your own solution
• Simple CRUD
• Pages / posts / galeries
• Fonctionnalités sur mesure
• JSON pour tous
• Gems pour l’admin
• Hébergée sur heroku
• App réutilisable
Une app par site
• Une app multi-sites
• Collection de modules
• Activables site par site
• Ajout de nouveaux sites
• Soyez créatifs :)
Une app pour les
gouverner tous
28. RUBY NORD Apéro Ruby février 2016
D’AUTRES SOLUTIONS ?
Oui ! il y en a encore…