SlideShare uma empresa Scribd logo
1 de 17
WEB 2/2
Olivier Rovellotti
Python
Pourquoi un “Template Engine”?
• Le code est plus clair : on sait où est le code HTML et on ne doit pas
chercher dans le code
• Si un jour vous voulez modifier l'affichage, vous savez quelle partie du
code éditer
• Si vous travaillez avec un graphiste, ou un intégrateur vous pouvez
leur fournir juste ces fichiers
CSS
Template HTML
Python
Exemple
{% extends "layout.html" %}
{% block body %}
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
{% endblock %}
pip install jinja2
Hello world
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')
'Hello John Doe!'
Plus fort !
>>> from jinja2 import Template
>>> template = Template(‘{% for user in users %} <li>{{ user }}</li> {% endfor %} ')
>>> template.render(users=['oli',‘momo',‘michmich'])
' <li>oli</li> <li>momo</li> <li>michmich</li> '
Transformer ce code
print("Content-type: text/html; charset=utf-8n")
liste={"Alban":"0688774455", "olivier":"0609576653", "AARON":"0688774455"}
print ("<ol>")
for cle, valeur in liste.items():
html = "<li><i>"+cle+"</i> " + "<b>" + valeur + "</b></br> </li>“
print(html)
print ("</ol>")
pip install Flask
Routeur.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
Lancer le serveur
Set FLASK_APP= Routeur.py
flask run
* Serving Flask app "flasktest"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [14/Nov/2017 23:19:40] "GET / HTTP/1.1" 200 -
Router
@app.route('/')
def index():
return 'Index Page'
@app.route('/hello')
def hello():
return 'Hello, World'
Router intelligent
@app.route('/user/<username>')
def show_user_profile(username): # show the user profile for that user
return 'User %s' % username
@app.route('/post/<int:post_id>')
def show_post(post_id): # show the post with the given id, the id is an integer
return 'Post %d' % post_id
Twitter: @orovellotti
www.natural-solutions.eu
Merci
Olivier_rovellotti@natural-solutions.eu

Mais conteúdo relacionado

Mais procurados

Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4🏁 Pierre-Henry Soria 💡
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPCommunications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPjulien pauli
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLDamien Seguy
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Kristen Le Liboux
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Mickael Perraud
 
Jquery - introduction au langage
Jquery - introduction au langageJquery - introduction au langage
Jquery - introduction au langageStrasWeb
 
PHP #1 : introduction
PHP #1 : introductionPHP #1 : introduction
PHP #1 : introductionJean Michel
 
Pratique de javascript KOUAMI DJOMO
Pratique de javascript KOUAMI DJOMOPratique de javascript KOUAMI DJOMO
Pratique de javascript KOUAMI DJOMOJulio Djomo
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3Eddy RICHARD
 
Pots de Miel, Honeypot informatique - Sécurité informatique
Pots de Miel, Honeypot informatique - Sécurité informatiquePots de Miel, Honeypot informatique - Sécurité informatique
Pots de Miel, Honeypot informatique - Sécurité informatique🏁 Pierre-Henry Soria 💡
 
Html5 2
Html5 2Html5 2
Html5 2TECOS
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1Régis Lutter
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 

Mais procurados (20)

Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPCommunications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHP
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5
 
Services rest & jersey
Services rest & jerseyServices rest & jersey
Services rest & jersey
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
 
Jquery - introduction au langage
Jquery - introduction au langageJquery - introduction au langage
Jquery - introduction au langage
 
PHP #1 : introduction
PHP #1 : introductionPHP #1 : introduction
PHP #1 : introduction
 
Pratique de javascript KOUAMI DJOMO
Pratique de javascript KOUAMI DJOMOPratique de javascript KOUAMI DJOMO
Pratique de javascript KOUAMI DJOMO
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3
 
Pots de Miel, Honeypot informatique - Sécurité informatique
Pots de Miel, Honeypot informatique - Sécurité informatiquePots de Miel, Honeypot informatique - Sécurité informatique
Pots de Miel, Honeypot informatique - Sécurité informatique
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
 
Html5 2
Html5 2Html5 2
Html5 2
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
 
Mpdf 10
Mpdf 10Mpdf 10
Mpdf 10
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 

Semelhante a Ns python-flask

ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016Tarik Zakaria Benmerar
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniterAtsé François-Xavier KOBON
 
1-Introduction JQuery.pptx
1-Introduction JQuery.pptx1-Introduction JQuery.pptx
1-Introduction JQuery.pptxlaabid1
 
Etendre le Web avec les Web Components
Etendre le Web avec les Web ComponentsEtendre le Web avec les Web Components
Etendre le Web avec les Web Componentscjolif
 
TechDays Montreal WebMatrix, voyez ce que la matrice peut faire pour vous!!
TechDays Montreal  WebMatrix, voyez ce que la matrice peut faire pour vous!!TechDays Montreal  WebMatrix, voyez ce que la matrice peut faire pour vous!!
TechDays Montreal WebMatrix, voyez ce que la matrice peut faire pour vous!!Frédéric Harper
 
Internationalisation du Front
Internationalisation du FrontInternationalisation du Front
Internationalisation du FrontYannick Croissant
 
Cours javascript
Cours javascriptCours javascript
Cours javascriptkrymo
 
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuXebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuPublicis Sapient Engineering
 
Comment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguerComment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguerDamien Seguy
 
Créer un site web moderne en 30 minutes
Créer un site web moderne en 30 minutesCréer un site web moderne en 30 minutes
Créer un site web moderne en 30 minutesValéry BERNARD
 
ISCOM::HTML/CSS::session1 (20140930)
ISCOM::HTML/CSS::session1 (20140930)ISCOM::HTML/CSS::session1 (20140930)
ISCOM::HTML/CSS::session1 (20140930)Nicolas Aguenot
 

Semelhante a Ns python-flask (20)

ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Atelier template
Atelier templateAtelier template
Atelier template
 
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
HTML5, le nouveau buzzword
HTML5, le nouveau buzzwordHTML5, le nouveau buzzword
HTML5, le nouveau buzzword
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
1-Introduction JQuery.pptx
1-Introduction JQuery.pptx1-Introduction JQuery.pptx
1-Introduction JQuery.pptx
 
Etendre le Web avec les Web Components
Etendre le Web avec les Web ComponentsEtendre le Web avec les Web Components
Etendre le Web avec les Web Components
 
Html5 & ie
Html5 & ieHtml5 & ie
Html5 & ie
 
TechDays Montreal WebMatrix, voyez ce que la matrice peut faire pour vous!!
TechDays Montreal  WebMatrix, voyez ce que la matrice peut faire pour vous!!TechDays Montreal  WebMatrix, voyez ce que la matrice peut faire pour vous!!
TechDays Montreal WebMatrix, voyez ce que la matrice peut faire pour vous!!
 
Internationalisation du Front
Internationalisation du FrontInternationalisation du Front
Internationalisation du Front
 
Cours javascript
Cours javascriptCours javascript
Cours javascript
 
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuXebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
 
js.pdf
js.pdfjs.pdf
js.pdf
 
Comment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguerComment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguer
 
jQuery mobile [Part1]
jQuery mobile [Part1]jQuery mobile [Part1]
jQuery mobile [Part1]
 
Créer un site web moderne en 30 minutes
Créer un site web moderne en 30 minutesCréer un site web moderne en 30 minutes
Créer un site web moderne en 30 minutes
 
hassclic284.ppt
hassclic284.ppthassclic284.ppt
hassclic284.ppt
 
ISCOM::HTML/CSS::session1 (20140930)
ISCOM::HTML/CSS::session1 (20140930)ISCOM::HTML/CSS::session1 (20140930)
ISCOM::HTML/CSS::session1 (20140930)
 

Mais de Olivier Rovellotti (20)

Hack4 nature Tree from satellite
Hack4 nature Tree from satelliteHack4 nature Tree from satellite
Hack4 nature Tree from satellite
 
Etoile du berger
Etoile du bergerEtoile du berger
Etoile du berger
 
Methode ux
Methode uxMethode ux
Methode ux
 
Opendata arles
Opendata arlesOpendata arles
Opendata arles
 
Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2
 
The quest for new empowered citizen scientists
The quest for new empowered citizen scientistsThe quest for new empowered citizen scientists
The quest for new empowered citizen scientists
 
A la découverte de l'ux design
A la découverte de l'ux designA la découverte de l'ux design
A la découverte de l'ux design
 
Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie
 
Le donut tour metropole
Le donut tour metropoleLe donut tour metropole
Le donut tour metropole
 
Ns ux-emotion
Ns ux-emotionNs ux-emotion
Ns ux-emotion
 
Ns ux-ethique
Ns ux-ethiqueNs ux-ethique
Ns ux-ethique
 
Datasud barcamp
Datasud barcampDatasud barcamp
Datasud barcamp
 
Datasud barcamp 2
Datasud barcamp 2Datasud barcamp 2
Datasud barcamp 2
 
Scapin et bastien
Scapin et bastienScapin et bastien
Scapin et bastien
 
Ns cleo lodel ux
Ns cleo lodel uxNs cleo lodel ux
Ns cleo lodel ux
 
Ns python flask 3
Ns python flask 3Ns python flask 3
Ns python flask 3
 
Ns python flask 2
Ns python flask 2Ns python flask 2
Ns python flask 2
 
Ns python-exercices
Ns python-exercicesNs python-exercices
Ns python-exercices
 
Ns python 2
Ns python 2Ns python 2
Ns python 2
 
Ns algo 3
Ns algo 3Ns algo 3
Ns algo 3
 

Ns python-flask