SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Site statique avec Templer, Bootstrap
et Git
Clément OUDOT
coudot@linagora.com
2
Qui suis-je ?
Logiciel libre
LDAP
LINAGORA
SSO
Web
3
Anticuisine
● L'anticuisine n'est ni un courant, ni
un dogme encore moins un choix.
● Elle est une forme élaborée de
déchéance moderne dans laquelle
beaucoup se reconnaîtront.
● Elle est une imposture d'esprit
reliant toute une somme de
performances périphériques.
● Elle est au final un pavé dans la
soupe, une vaste blague bien
décalée.
4
Encore un site à faire !
● Cahier des charges :
– Quelques pages avec photos, pour commencer
– J'ai pas trop le temps
– Mon copain a une tablette Pomme
– Mise en ligne sur un serveur perso
– Mon IDE c'est vi
– C'est pas moi qui m'occupe du contenu
5
Un site en HTML pur ?Un site en HTML pur ?
6
Sécurité
● Pas de script coté serveur
● Pas d'injection de
formulaire
● Pas de mot de passe ni
de données bancaires
7
Performances
● Pas de calcul côté serveur
● Big data / cluster
● No SQL, et rien d'autre
non plus
● Utilisation optimale du
cache HTTP
8
Accessibilité
● Utilisation des dernières
normes du Web
● Framework CSS et JS
● Référencement naturel
9
Hébergement
● « Host everywhere »
● Fichiers dans un
répertoire
● Serveur web basique
● Fonctionne même sur des
systèmes d'exploitation
propriétaires !
10
TemplerTempler
11
Présentation
● Logiciel libre de génération
de sites statiques
● Écrit en Perl, utilisation de
HTML::Template
● https://github.com/skx/tem
pler
● Support de Markdown,
Redis, Flux RSS, ...
12
Structure du site
● Génération de la
structure :
$ templer-generate mon-site
mon-site/
├── include
├── input
│ ├── about.wgn
│ ├── index.wgn
│ └── robots.txt
├── layouts
│ └── default.layout
├── output
└── templer.cfg
13
Création d'un menu de navigation
● Créer le fichier
input/menu.inc
● Charger ce fichier dans
une variable de page
« menu » :
menu: read_file('menu.inc')
● Inclure dans les pages :
<!-- tmpl_var name="menu"-->
14
Mais aussi
● Gestion de plusieurs
modèles (layouts)
● Boucle d'inclusion
d'autres fichiers
● Système de greffons
● Exécution de commande
Shell
15
BootstrapBootstrap
16
Présentation
● Le framework tendance pour
faire une interface Web
● Système de grille pour le
« responsive design »
● Bibliothèque JS basée sur
Jquery
● Gestion des différents
navigateurs (même les
moisis)
17
Des composants
● Carrousel
● Icônes
● Boutons
● Éléments de formulaire
● Menu de navigation
● Badges
18
Grille
<div class="row">
<div class="col-md-4">
<img src="images/anticuisine.fr_boutique1.jpg" class="img-thumbnail img-
responsive" />
</div>
<div class="col-md-4">
<img src="images/anticuisine.fr_boutique2.jpg" class="img-thumbnail img-
responsive" />
</div>
<div class="col-md-4">
<img src="images/anticuisine.fr_boutique3.jpg" class="img-thumbnail img-
responsive" />
</div>
</div>
19
Grille
20
GitGit
21
Présentation
● Si tu connais pas Git à 50 ans, tu as raté ta vie de
développeur
● Si tu es nul comme moi, il y a Github
● Dépôt du site Anticuisine :
https://github.com/coudot/anticuisine
22
Utilisation
● Travail individuel
– Sauvegarde régulière des
travaux
– Historisation des
changements
– Des carrés verts dans
mon profil
● Travail collectif
– Soumission de nouveaux
contenus
23
ConclusionConclusion
24
Pas besoin de matérielPas besoin de matériel
compliqué pour fairecompliqué pour faire
une bonne recetteune bonne recette
25
Crédits
Auteur
Guilhem
http://guilhem0.free.fr/
Images et photos appartiennent au projet Anticuisine
Les sources du site sont libres de droit
Merci de votre attention
http://www.anticuisine.fr

Contenu connexe

Tendances

Créez votre site web vous-même 2/2
Créez votre site web vous-même 2/2Créez votre site web vous-même 2/2
Créez votre site web vous-même 2/2pro-info.be
 
Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.Anthony Faucogney
 
10 Slides à lire avant de commencer le développement Android
10 Slides à lire avant de commencer le développement Android10 Slides à lire avant de commencer le développement Android
10 Slides à lire avant de commencer le développement AndroidAnthony Faucogney
 
[#1] Qu’est ce que php?
[#1] Qu’est ce que php?[#1] Qu’est ce que php?
[#1] Qu’est ce que php?opentuto
 
Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019
Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019
Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019Laurent Tulpan
 
Les écrans animés dans les navigateurs
Les écrans animés dans les navigateursLes écrans animés dans les navigateurs
Les écrans animés dans les navigateursChristophe Villeneuve
 

Tendances (8)

Créez votre site web vous-même 2/2
Créez votre site web vous-même 2/2Créez votre site web vous-même 2/2
Créez votre site web vous-même 2/2
 
Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.
 
Les performances Web mobile
Les performances Web mobileLes performances Web mobile
Les performances Web mobile
 
10 Slides à lire avant de commencer le développement Android
10 Slides à lire avant de commencer le développement Android10 Slides à lire avant de commencer le développement Android
10 Slides à lire avant de commencer le développement Android
 
[#1] Qu’est ce que php?
[#1] Qu’est ce que php?[#1] Qu’est ce que php?
[#1] Qu’est ce que php?
 
Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019
Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019
Donner un turbo seo pour joomla. Conférence au JoomlaDay 2019
 
Les écrans animés dans les navigateurs
Les écrans animés dans les navigateursLes écrans animés dans les navigateurs
Les écrans animés dans les navigateurs
 
Introduction webextensions
Introduction webextensionsIntroduction webextensions
Introduction webextensions
 

En vedette

RMLL 2014 - LemonLDAP::NG - What's new under the SSOn
RMLL 2014 - LemonLDAP::NG - What's new under the SSOnRMLL 2014 - LemonLDAP::NG - What's new under the SSOn
RMLL 2014 - LemonLDAP::NG - What's new under the SSOnClément OUDOT
 
Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...
Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...
Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...Clément OUDOT
 
Matinée Pour Comprendre LinID - Retour d'expérience de l'AFNIC
Matinée Pour Comprendre LinID - Retour d'expérience de l'AFNICMatinée Pour Comprendre LinID - Retour d'expérience de l'AFNIC
Matinée Pour Comprendre LinID - Retour d'expérience de l'AFNICClément OUDOT
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security JerkClément OUDOT
 
The OpenID Connect Protocol
The OpenID Connect ProtocolThe OpenID Connect Protocol
The OpenID Connect ProtocolClément OUDOT
 
Le Guide du Connard du Logiciel Libre
Le Guide du Connard du Logiciel LibreLe Guide du Connard du Logiciel Libre
Le Guide du Connard du Logiciel LibreClément OUDOT
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Clément OUDOT
 
RMLL 2014 - LDAP Synchronization Connector
RMLL 2014 - LDAP Synchronization ConnectorRMLL 2014 - LDAP Synchronization Connector
RMLL 2014 - LDAP Synchronization ConnectorClément OUDOT
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideClément OUDOT
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overviewClément OUDOT
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGClément OUDOT
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect ProtocolClément OUDOT
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnClément OUDOT
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnectClément OUDOT
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect ProtocolClément OUDOT
 
Analyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELKAnalyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELKClément OUDOT
 
Matinée Pour Comprendre LinID - Mise en place de la fédération des identités...
Matinée Pour Comprendre LinID -  Mise en place de la fédération des identités...Matinée Pour Comprendre LinID -  Mise en place de la fédération des identités...
Matinée Pour Comprendre LinID - Mise en place de la fédération des identités...Clément OUDOT
 
RMLL 2014 - OpenLDAP - Manage password policy
RMLL 2014 - OpenLDAP - Manage password policyRMLL 2014 - OpenLDAP - Manage password policy
RMLL 2014 - OpenLDAP - Manage password policyClément OUDOT
 
JDLL 2014 - Introduction aux annuaires LDAP
JDLL 2014 - Introduction aux annuaires LDAPJDLL 2014 - Introduction aux annuaires LDAP
JDLL 2014 - Introduction aux annuaires LDAPClément OUDOT
 

En vedette (19)

RMLL 2014 - LemonLDAP::NG - What's new under the SSOn
RMLL 2014 - LemonLDAP::NG - What's new under the SSOnRMLL 2014 - LemonLDAP::NG - What's new under the SSOn
RMLL 2014 - LemonLDAP::NG - What's new under the SSOn
 
Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...
Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...
Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec ...
 
Matinée Pour Comprendre LinID - Retour d'expérience de l'AFNIC
Matinée Pour Comprendre LinID - Retour d'expérience de l'AFNICMatinée Pour Comprendre LinID - Retour d'expérience de l'AFNIC
Matinée Pour Comprendre LinID - Retour d'expérience de l'AFNIC
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security Jerk
 
The OpenID Connect Protocol
The OpenID Connect ProtocolThe OpenID Connect Protocol
The OpenID Connect Protocol
 
Le Guide du Connard du Logiciel Libre
Le Guide du Connard du Logiciel LibreLe Guide du Connard du Logiciel Libre
Le Guide du Connard du Logiciel Libre
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016
 
RMLL 2014 - LDAP Synchronization Connector
RMLL 2014 - LDAP Synchronization ConnectorRMLL 2014 - LDAP Synchronization Connector
RMLL 2014 - LDAP Synchronization Connector
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard Guide
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign On
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol
 
Analyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELKAnalyse OpenLDAP logs with ELK
Analyse OpenLDAP logs with ELK
 
Matinée Pour Comprendre LinID - Mise en place de la fédération des identités...
Matinée Pour Comprendre LinID -  Mise en place de la fédération des identités...Matinée Pour Comprendre LinID -  Mise en place de la fédération des identités...
Matinée Pour Comprendre LinID - Mise en place de la fédération des identités...
 
RMLL 2014 - OpenLDAP - Manage password policy
RMLL 2014 - OpenLDAP - Manage password policyRMLL 2014 - OpenLDAP - Manage password policy
RMLL 2014 - OpenLDAP - Manage password policy
 
JDLL 2014 - Introduction aux annuaires LDAP
JDLL 2014 - Introduction aux annuaires LDAPJDLL 2014 - Introduction aux annuaires LDAP
JDLL 2014 - Introduction aux annuaires LDAP
 

Similaire à RMLL 2014 - Site statique avec Templer, Bootstrap et Git

[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...Clément OUDOT
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleJean-Pierre Vincent
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxChristophe Villeneuve
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
 
Electron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDElectron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDLa Cuisine du Web
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Julien Deneuville
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ? haricot
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidemaru.maru
 
Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages webJean-Pierre Vincent
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsChristophe Villeneuve
 
Cocoaheads Rennes #3 : Bien coder sur iOS
Cocoaheads Rennes #3 : Bien coder sur iOSCocoaheads Rennes #3 : Bien coder sur iOS
Cocoaheads Rennes #3 : Bien coder sur iOSCocoaHeadsRNS
 
Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014François CRETON
 
Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014François CRETON
 
Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014François CRETON
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousjwajsberg
 
Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Jean-Baptiste Claramonte
 
Méthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketMéthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketmichael_bailly
 

Similaire à RMLL 2014 - Site statique avec Templer, Bootstrap et Git (20)

[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
 
Pas possible en drupal, c'est faux
Pas possible en drupal, c'est fauxPas possible en drupal, c'est faux
Pas possible en drupal, c'est faux
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exemple
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans Firefox
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
Electron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDElectron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARD
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-side
 
Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages web
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 
Cocoaheads Rennes #3 : Bien coder sur iOS
Cocoaheads Rennes #3 : Bien coder sur iOSCocoaheads Rennes #3 : Bien coder sur iOS
Cocoaheads Rennes #3 : Bien coder sur iOS
 
Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014
 
Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014
 
Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 
Polymer
PolymerPolymer
Polymer
 
Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
 
Méthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketMéthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to market
 

Plus de Clément OUDOT

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0Clément OUDOT
 
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...Clément OUDOT
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM projectClément OUDOT
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libreClément OUDOT
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libreClément OUDOT
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017Clément OUDOT
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NGClément OUDOT
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel LibreClément OUDOT
 

Plus de Clément OUDOT (10)

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0
 
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre
 

RMLL 2014 - Site statique avec Templer, Bootstrap et Git

  • 1. Site statique avec Templer, Bootstrap et Git Clément OUDOT coudot@linagora.com
  • 3. 3 Anticuisine ● L'anticuisine n'est ni un courant, ni un dogme encore moins un choix. ● Elle est une forme élaborée de déchéance moderne dans laquelle beaucoup se reconnaîtront. ● Elle est une imposture d'esprit reliant toute une somme de performances périphériques. ● Elle est au final un pavé dans la soupe, une vaste blague bien décalée.
  • 4. 4 Encore un site à faire ! ● Cahier des charges : – Quelques pages avec photos, pour commencer – J'ai pas trop le temps – Mon copain a une tablette Pomme – Mise en ligne sur un serveur perso – Mon IDE c'est vi – C'est pas moi qui m'occupe du contenu
  • 5. 5 Un site en HTML pur ?Un site en HTML pur ?
  • 6. 6 Sécurité ● Pas de script coté serveur ● Pas d'injection de formulaire ● Pas de mot de passe ni de données bancaires
  • 7. 7 Performances ● Pas de calcul côté serveur ● Big data / cluster ● No SQL, et rien d'autre non plus ● Utilisation optimale du cache HTTP
  • 8. 8 Accessibilité ● Utilisation des dernières normes du Web ● Framework CSS et JS ● Référencement naturel
  • 9. 9 Hébergement ● « Host everywhere » ● Fichiers dans un répertoire ● Serveur web basique ● Fonctionne même sur des systèmes d'exploitation propriétaires !
  • 11. 11 Présentation ● Logiciel libre de génération de sites statiques ● Écrit en Perl, utilisation de HTML::Template ● https://github.com/skx/tem pler ● Support de Markdown, Redis, Flux RSS, ...
  • 12. 12 Structure du site ● Génération de la structure : $ templer-generate mon-site mon-site/ ├── include ├── input │ ├── about.wgn │ ├── index.wgn │ └── robots.txt ├── layouts │ └── default.layout ├── output └── templer.cfg
  • 13. 13 Création d'un menu de navigation ● Créer le fichier input/menu.inc ● Charger ce fichier dans une variable de page « menu » : menu: read_file('menu.inc') ● Inclure dans les pages : <!-- tmpl_var name="menu"-->
  • 14. 14 Mais aussi ● Gestion de plusieurs modèles (layouts) ● Boucle d'inclusion d'autres fichiers ● Système de greffons ● Exécution de commande Shell
  • 16. 16 Présentation ● Le framework tendance pour faire une interface Web ● Système de grille pour le « responsive design » ● Bibliothèque JS basée sur Jquery ● Gestion des différents navigateurs (même les moisis)
  • 17. 17 Des composants ● Carrousel ● Icônes ● Boutons ● Éléments de formulaire ● Menu de navigation ● Badges
  • 18. 18 Grille <div class="row"> <div class="col-md-4"> <img src="images/anticuisine.fr_boutique1.jpg" class="img-thumbnail img- responsive" /> </div> <div class="col-md-4"> <img src="images/anticuisine.fr_boutique2.jpg" class="img-thumbnail img- responsive" /> </div> <div class="col-md-4"> <img src="images/anticuisine.fr_boutique3.jpg" class="img-thumbnail img- responsive" /> </div> </div>
  • 21. 21 Présentation ● Si tu connais pas Git à 50 ans, tu as raté ta vie de développeur ● Si tu es nul comme moi, il y a Github ● Dépôt du site Anticuisine : https://github.com/coudot/anticuisine
  • 22. 22 Utilisation ● Travail individuel – Sauvegarde régulière des travaux – Historisation des changements – Des carrés verts dans mon profil ● Travail collectif – Soumission de nouveaux contenus
  • 24. 24 Pas besoin de matérielPas besoin de matériel compliqué pour fairecompliqué pour faire une bonne recetteune bonne recette
  • 25. 25 Crédits Auteur Guilhem http://guilhem0.free.fr/ Images et photos appartiennent au projet Anticuisine Les sources du site sont libres de droit
  • 26. Merci de votre attention http://www.anticuisine.fr