Formation Django. Maxime Arthaud basé sur les slides de V. Angladon et V. Duvert. Jeudi 7 novembre 2013
|
|
|
- Zoé Crevier
- il y a 10 ans
- Total affichages :
Transcription
1 Maxime Arthaud basé sur les slides de V. Angladon et V. Duvert Jeudi 7 novembre supportformations/django/2013 Maxime Arthaud basé sur les slides de V. Angladon et V. Duvert Jeudi 7 novembre supportformations/django/2013
2 Bibliothèque =/= Framework : bibliothèque : collection de fonctions + classes spécialisées framework : ensemble de fonctions + classes + méthodologie. En général on ne peut pas changer de framework sans repartir à zéro.
3
4 Tout le monde sait ce qu est une base de donnée? BD = entité dans laquelle on peut stocker des données structurées selon un modèle prédéfini. Base = ensemble de tables. Table = tableau avec des colonnes prédéfinies (nom + type). permettent de faire des opérations complexes sur ces données : tri, sélection/filtrage à l aide d un langage,... permet accès concurrents, protection contre la corruption, récupération de données si requête interrompue, sécurité,... C est beaucoup mieux que de gérer des fichiers
5
6
7
8 CMS = gestionnaire de contenu (SPIP, Joomla, Drupal,...) site dynamique tout prêt (personnalisable) ou il suffit de rajouter du contenu via une interface d administration.
9 Attention Version actuelle : Django 1.6 (Python2 ou Python3) Utilisez Django 1.5 avec python 2 >> Architecture Attention Version actuelle : Django 1.6 (Python2 ou Python3)
10 Attention Version actuelle : Django 1.6 (Python2 ou Python3) Utilisez Django 1.5 avec python 2 >> Architecture Attention Version actuelle : Django 1.6 (Python2 ou Python3)
11 Architecture Architecture Architecture Requête URL Vue Modèle Template Réponse (HTML) Requête URL Vue Modèle Template Réponse (HTML) Fonctionnement de Django : slide le plus important de la formation. l utilisateur charge une page de votre serveur serveur HTTP a plusieurs instance de Django prêtes à traiter des requêtes Django créé un objet Requête représentant votre requête qui passe à travers divers couches d intergiciels modifiant éventuellement cet objet Maintenant j en viens à ce qui est important et figure sur le schéma Django parse l url et cherche la vue lui correspondant Toute l essences du site réside dans les vues qui peuvent récupérer des données de bases de données et effectuer un rendu HTML avec des templates éventuellement. La vue précédemment sélectionnée renvoie un objet RéponseHTTP Cet objet repasse à travers les couches d intergiciels. >> 1e projet
12 Créer un site Django Créer un site Django Créer un site Django $ django-admin.py startproject monsite $ tree monsite/ monsite +-- manage.py +-- monsite +-- init.py +-- settings.py +-- urls.py +-- wsgi.py $ cd monsite $ python2 manage.py runserver [...] $ django-admin.py startproject monsite $ tree monsite/ monsite +-- manage.py +-- monsite +-- init.py +-- settings.py +-- urls.py +-- wsgi.py $ cd monsite $ python2 manage.py runserver [...] >> 1e vue
13 Votre 1e vue! Votre 1e vue! Votre 1e vue! 1 Créez un fichier monsite/views.py 2 Copiez y le code suivant : # -*- coding: utf-8 -*- from django.http import HttpResponse def home(request): return HttpResponse("Hello") Vue renvoie un objet RéponseHTTP 1 Créez un fichier monsite/views.py 2 Copiez y le code suivant : Oui mais il faut dire quelque part qu il faut utiliser cette vue quand une url donnée est demandée. >> urls # -*- coding: utf-8 -*- from django.http import HttpResponse def home(request): return HttpResponse("Hello")
14 La gestion des URLs La gestion des URLs La gestion des URLs 1 Ouvrez le fichier monsite/urls.py 2 Modifiez le code pour avoir : from django.conf.urls.defaults import patterns, \ include, url urlpatterns = patterns(, url(r ^$, monsite.views.home ), ) 1 Ouvrez le fichier monsite/urls.py 2 Modifiez le code pour avoir : from django.conf.urls.defaults import patterns, \ include, url urlpatterns = patterns(, url(r ^$, monsite.views.home ), ) C est là qu on fait l aiguillage des urls (selon regexp matchée) vers une vue. Pas besoin de / a la fin des urls le r signifie que l on considere la chaine de l expression reguliere en mode "raw" ie \t n est pas interprete comme le caractere de tabulation mais comme \ suivi de t, permet d écrire \b au lieu de \\b (car \ doit être échappé en Python) M? signifie M est optionnel Formation ou ;. tout Django char sauf \n ; \w = mot alphanum La gestion des URLs M0,3 : on peut reconnaitre 0 ou 1 ou 2 ou 3 M consécutifs 1 Ouvrez le fichier monsite/urls.py 2 M3 : reconnaitre exactement 3 M consécutifs Modifiez le code pour avoir : M+ : 1 ou 2 ou... M consécutifs, M* : 0 ou 1 ou 2... urlpatterns = patterns(, La gestion des URLs from django.conf.urls.defaults import patterns, \ include, url ) url(r ^$, monsite.views.home ),
15 URLs et expressions régulières URLs et expressions régulières URLs et expressions régulières #... suite de l urlpattern dans urls.py (r ^annee/(\d{4})$, monsite.views.annee ), (r ^aff/(?p<texte>.+)/$, monsite.views.aff ), # vues associees dans views.py def annee(request, year): return HttpResponse("On est en "+year) def aff(request, texte): return HttpResponse("Bonjour "+texte) #... suite de l urlpattern dans urls.py (r ^annee/(\d{4})$, monsite.views.annee ), (r ^aff/(?p<texte>.+)/$, monsite.views.aff ), Si on continue comme ça : urls.py de 500 lignes. Donc découper projet en modules/apps >> 1e app # vues associees dans views.py def annee(request, year): return HttpResponse("On est en "+year) def aff(request, texte): return HttpResponse("Bonjour "+texte)
16 Première application Première application Première application $ python2 manage.py startapp monapp $ ls monapp init.py models.py tests.py views.py 1 ajouter l application dans le tuple INSTALLED_APPS de settings.py 2 bonne pratique : monapp/urls.py >> config des urls $ python2 manage.py startapp monapp $ ls monapp init.py models.py tests.py views.py 1 ajouter l application dans le tuple INSTALLED_APPS de settings.py 2 bonne pratique : monapp/urls.py
17 Découplage des URLs Découplage des URLs Découplage des URLs # Rajouter cet urlpattern dans monsite/urls.py url(r ^monapp/, include( monapp.urls )) # monapp/urls.py from django.conf.urls import patterns, include, url urlpatterns = patterns( monapp.views, url(r ^$, index ), url(r ^info$, info ), ) # Rajouter cet urlpattern dans monsite/urls.py url(r ^monapp/, include( monapp.urls )) # monapp/urls.py from django.conf.urls import patterns, include, url Le premier paramètre de patterns est un prefix pour les noms des vues. Pour le moment on sait afficher des chaines de caractère et gérer des urls. Avant de passer aux templates, regardons les modèles. >> modèle urlpatterns = patterns( monapp.views, url(r ^$, index ), url(r ^info$, info ), )
18 Création d un modèle Création d un modèle Création d un modèle 1 Configurer la base de donnée dans settings.py 2 Créer les modèles 3 Générer les tables à partir du modèle Page de référence sur la configuration des bases de données : Page de référence sur les champs des modèles : 1 Configurer la base de donnée dans settings.py 2 Créer les modèles 3 Générer les tables à partir du modèle Je saute la configuration de settings.py car bien commenté possibilité configuration plusieurs DB. Modèle = classe qui définie une table. les instances de cette classe sont des lignes de la table. La génération des tables est automatique. >> 1e modèle Page de référence sur la configuration des bases de données : Page de référence sur les champs des modèles :
19 Premier modèle Premier modèle Premier modèle # monapp/models.py from django.db import models class Article(models.Model): nom = models.charfield(verbose_name="nom de l article"\, max_length=128) description = models.textfield(max_length=512) prix = models.decimalfield(decimal_places=2, max_digits=6) couleurs = models.textfield(default="blue") ecole = models.foreignkey(ecole, editable=false) def unicode (self): return self.nom # monapp/models.py from django.db import models class Article(models.Model): nom = models.charfield(verbose_name="nom de l article"\, max_length=128) description = models.textfield(max_length=512) prix = models.decimalfield(decimal_places=2, max_digits=6) couleurs = models.textfield(default="blue") ecole = models.foreignkey(ecole, editable=false) def unicode (self): return self.nom Tiré du code du portail (modifié) CharField, TextField, DecimalField, ForeignKey max_length, default verbose_name : nom utilisé pour le formulaire blank : peut être laissé vide/null ou pas editable : pas apparaître dans le formulaire généré, ni dans l interface d admin Méthode unicode () : gérer comment afficher l objet, ex dans un print(). Idem que str () mais renvoie une chaîne utf-8. Les chaînes des DB sont converties en unicode par Django. >> création de la db
20 Création de la base de donnée Création de la base de donnée Création de la base de donnée Création de la base : $ python2 manage.py syncdb Voir les commandes SQL exécutées : $ python2 manage.py sql monapp Visualiser une base de donnée sqlite : $ sqliteman mabase.sqlite Création de la base : >> 1e requete $ python2 manage.py syncdb Voir les commandes SQL exécutées : $ python2 manage.py sql monapp Visualiser une base de donnée sqlite : $ sqliteman mabase.sqlite
21 Premières requêtes Premières requêtes Premières requêtes $ python2 manage.py shell Manipuler les modèles : Modele.objects.all() Modele.objects.get() Modele.objects.filter() entree.delete() entree.save() Pages de référence : $ python2 manage.py shell Manipuler les modèles : En va faire ça ensemble. Lançons un shell particulier qui va mettre en place l environnement. >> template Modele.objects.all() Modele.objects.get() Modele.objects.filter() entree.delete() entree.save() Pages de référence :
22 Template = page html liée à une vue 1 configurer TEMPLATE_DIRS dans settings.py 2 définir les variables affichées/utilisées par le template et les regrouper dans un dictionnaire 3 changer la vue pour quelle renvoie render(request, montemplate.html, dictionnaire) Pages de référence : Template = page html liée à une vue >> exemple 1 configurer TEMPLATE_DIRS dans settings.py 2 définir les variables affichées/utilisées par le template et les regrouper dans un dictionnaire 3 changer la vue pour quelle renvoie render(request, montemplate.html, dictionnaire) Pages de référence :
23 Exemple d utilisation Exemple d utilisation Exemple d utilisation La vue from monapp.models import Article from django.shortcuts import render def index(request): c = { articles : Article.objects.all()} return render(request, index.html, c) Le template index.html <h1>liste des articles</h1> <ul> {% for a in articles %} <li>{{ a.nom }}</li> {% endfor %} </ul> La vue from monapp.models import Article from django.shortcuts import render def index(request): c = { articles : Article.objects.all()} return render(request, index.html, c) Le template index.html <h1>liste des articles</h1> <ul> {% for a in articles %} <li>{{ a.nom }}</li> {% endfor %} </ul> {{ }} : accès variables {% %} : commande de template Remarquez le for comme si on était en Python Notez la syntaxe objet.attribut (f.id), idem pour accès liste/tuple : f.0, f.1... balise url, if ou else possibilité d appliquer des fonctions (filtres) à des variables via >> blocs
24 Etendre des blocs Etendre des blocs Etendre des blocs Page principale, main.html <html lang="fr"> <head><title>{% block title %}{% endblock %}</title></head> <body> <h1>bienvenue!</h1> {% block content %}{% endblock %} </body> </html> Page affichage.html qui va étendre main.html {% extends "main.html" %} {% block title %}Le titre de ma page{% endblock %} {% block content %} Du contenu ici. {% endblock %} Page principale, main.html <html lang="fr"> <head><title>{% block title %}{% endblock %}</title></head> <body> <h1>bienvenue!</h1> {% block content %}{% endblock %} </body> </html> Page affichage.html qui va étendre main.html {% extends "main.html" %} {% block title %}Le titre de ma page{% endblock %} {% block content %} Du contenu ici. {% endblock %} le contenu de affichage.html va etre inséré dans main.html >> formulaires
25 A la main A la main A la main Définition du formulaire, forms.py from django import forms class InscriptionForm(ModelForm): login = forms.charfield(required=true) password = forms.charfield(label= Mot de passe, required=t code = forms.integerfield() Son template, edit.html <form action="" method="post"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="submit" /> </form> Définition du formulaire, forms.py from django import forms class InscriptionForm(ModelForm): login = forms.charfield(required=true) >> vue du formulaire password = forms.charfield(label= Mot de passe, required=true, widget=forms.passwordinput) code = forms.integerfield() Son template, edit.html <form action="" method="post"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="submit" /> </form> On peut utiliser request.get et request.post, mais ce n est pas propre. Form = Même chose que les modèles. form.as_table, form.as_ul,..
26 Vue d un formulaire Vue d un formulaire Vue d un formulaire from django.shortcuts import redirect def inscription(request): if request.method == POST : form = InscriptionForm(request.POST) if form.is_valid(): # Faire qqch avec les donnees.. return redirect( monapp.views.merci ) else: form = InscriptionForm() return render(request, inscription.html, { form : form}) form.cleaned_data est un dictionnaire avec la valeur des champs from django.shortcuts import redirect >> formulaire généré à partir d un modèle def inscription(request): if request.method == POST : form = InscriptionForm(request.POST) if form.is_valid(): # Faire qqch avec les donnees.. return redirect( monapp.views.merci ) else: form = InscriptionForm() return render(request, inscription.html, { form : form})
27 A partir d un modèle A partir d un modèle A partir d un modèle Formulaire, forms.py class ArticleForm(models.ModelForm): class Meta: model = Article fields = ( login, password, code ) Vue, views.py objet = get_object_or_404(article, pk=1) if request.method == POST : form = ArticleForm(request.POST, instance=objet) if form.is_valid(): form.save() return redirect(objet) else: form = ArticleForm(instance=objet) return render(request, edit.html, { form : form}) Formulaire, forms.py class ArticleForm(models.ModelForm): class Meta: model = Article fields = ( login, password, code ) Vue, views.py objet = get_object_or_404(article, pk=1) if request.method == POST : form = ArticleForm(request.POST, instance=objet) if form.is_valid(): form.save() return redirect(objet) else: form = ArticleForm(instance=objet) return render(request, edit.html, { form : form}) Formulaire généré automatiquement, customisable Dans le cas de l ajout, ne pas passer en paramètre un objet get_object_or_404 permet de retourner un objet, ou erreur 404 code-snippet, pas à retenir! >> admin
28 1 Décommenter les lignes concernant l interface d administration dans settings.py et urls.py 2 Mettre à jour les tables (syncdb) 3 Pour chaque application, indiquer les modèles pris en charge par l interface d administration via un fichier admin.py comme suit : from monapp.models import Modele1, Modele2 from django.contrib import admin admin.site.register(modele1) admin.site.register(modele2) 1 Décommenter les lignes concernant l interface d administration dans settings.py et urls.py 2 Mettre à jour les tables (syncdb) Générée automatiquement, customisable :) >> exo 3 Pour chaque application, indiquer les modèles pris en charge par l interface d administration via un fichier admin.py comme suit : from monapp.models import Modele1, Modele2 from django.contrib import admin admin.site.register(modele1) admin.site.register(modele2)
29 Exercice : FaceMash Exercice : FaceMash Exercice : FaceMash Cahier des charges, fonctions à implémenter : ajouter/éditer un utilisateur (Nom, adresse mail, photo) via un formulaire visualiser une liste des utilisateurs triée selon leur score visualiser le profil d un utilisateur enregistrer les votes : date, vote, ip du votant (on est méchant) afficher la liste des votes vote : afficher les photos de 2 utilisateurs choisis aléatoirement, le vote s effectue en cliquant sur l une des photos interface d administration Cahier des charges, fonctions à implémenter : ajouter/éditer un utilisateur (Nom, adresse mail, photo) via un formulaire visualiser une liste des utilisateurs triée selon leur score visualiser le profil d un utilisateur enregistrer les votes : date, vote, ip du votant (on est méchant) afficher la liste des votes vote : afficher les photos de 2 utilisateurs choisis aléatoirement, le vote s effectue en cliquant sur l une des photos interface d administration Vous pouvez partir si vous voulez, vous avez la correction. L intérêt de faire l exo ici est qu on peut vous aider... FaceMash consiste à... Une partie du code vous est donnée. environ 200 lignes de code Python Attention, settings.py à compléter! script init.sh pour peupler votre base de donnée
Django. Framework de développement Web
Django Framework de développement Web Disclaimer Je ne suis pas un expert Python Je ne suis pas un expert Django Expérience basée sur le développement de deux petits sites en Django Trivialibre MapOSMatic
Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin
Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse
les techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP
Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Bases de Données et Internet
Informatique S6 3A Bases de Données et Internet Python: SGBD et CGI Alexis NEDELEC LISYC EA 3883 UBO-ENIB-ENSIETA Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2008
SYSTÈMES D INFORMATIONS
SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.
Guide d implémentation. Réussir l intégration de Systempay
Guide d implémentation - Interface avec la plateforme de paiement - Réussir l intégration de Systempay Version 1.4b Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa
Gestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
Attaques applicatives
Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
Projet en nouvelles technologies de l information et de la communication
Projet en nouvelles technologies de l information et de la communication Site Web universitaire du Prof. Jacques Moeschler. Nono Steeve Semestre de printemps 2013 Sous la direction du Prof Luka Nerima
Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement
Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.
Drupal (V7) : principes et petite expérience
Drupal (V7) : principes et petite expérience Jean-Luc Archimbaud CNRS/Mathdoc http://jl.archimbaud.free.fr/ Présentation journées Mathrice 10 oct 2012 V1.2 Corrigez mon discours ou complétez... Licence
Initiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test?
Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC Qui contacter pour commencer la mise en place d une configuration de test? CyberMUT Paiement - Paiement CIC Commerce Electronique mailto:[email protected]
INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Créer une base de données vidéo sans programmation (avec Drupal)
Créer une base de données vidéo sans programmation (avec Drupal) 10.10.2013 Nicolas Bugnon ([email protected]) Centre de documentation Alliance Sud www.alliancesud.ch Résultat de l atelier
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
PHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Sécurité des applications web. Daniel Boteanu
I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet
Soyez accessible. Manuel d utilisation du CMS
Soyez accessible. Manuel d utilisation du CMS Nameo : mode d emploi Nameo est une agence web basée en Alsace, à Strasbourg. Son champ d action : création ou refonte de sites internet, stratégie et mise
Hébergement de site web Damien Nouvel
Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture
Administration du site (Back Office)
Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface
BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.
25 mars Tutoriel sur Laravel Préparé par : Lydiane Beaulne-Bélisle Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel. Créé pour le cours de Projet de fin d étude Collège de
STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage
STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage m invite à faire une étude sur les outils qui seraient utilisés. Sites
Déploiement des manuels numériques sur tablette. Mode d emploi intégrateur / administrateur
Déploiement des manuels numériques sur tablette Mode d emploi intégrateur / administrateur Table des matières Introduction... 3 Etape 1 : récupération de l application sur les stores... 3 Etape 2 : création
Par KENFACK Patrick MIF30 19 Mai 2009
Par KENFACK Patrick MIF30 19 Mai 2009 1 Introduction II. Qu est ce qu un OpenId? III. Acteurs IV. Principe V. Implémentation VI. Sécurité VII. conclusion I. 2 Vue le nombre croissant de sites web nous
Refonte des sites internet du SIEDS
Refonte des sites internet du SIEDS Formation à la rédaction de contenu 31 juin 2005 09 h 00 Salle du CA, rue Notre Dame, à NIORT Déroulement Un CMS à quoi çà sert? La gestion de contenu selon SPIP Agora
e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365
e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365 1 e-obs - Plan i. A quoi sert e-obs ii. Positionnement d e-obs dans la chaine de production iii. Description générale des modules iv. Démonstration
BES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Maarch Framework 3 - Maarch. Tests de charge. Professional Services. http://www.maarch.fr. 11, bd du Sud Est 92000 Nanterre
Maarch Professional Services 11, bd du Sud Est 92000 Nanterre Tel : +33 1 47 24 51 59 Fax : +33 1 47 24 54 08 Maarch Framework 3 - Maarch PS anime le développement d un produit d archivage open source
PLATEFORME DE GESTION DE CONGRÈS SCIENTIFIQUES. 12 mars 2015
PLATEFORME DE GESTION DE CONGRÈS SCIENTIFIQUES 12 mars 2015 Sommaire La plateforme Sciencesconf.org Le portail L espace conférence Site web Gestion scientifique Dépôt, sélection, envoi de mails, édition
Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8
Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré
Django et PostgreSQL sous la charge
Django et PostgreSQL sous la charge Rodolphe Quiédeville Pourquoi couper la queue du poulet? RMLL - Beauvais 8 juillet 2015 Rodolphe Quiédeville (PeopleDoc) Django et PostgreSQL sous la charge 8 juillet
Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)
Introduction PHP = Personal Home Pages ou PHP Hypertext Preprocessor Langage de script interprété (non compilé) Plan Avantages Fonctionnement interne Bases du langage Formulaires Envoi d un email Avantages
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Les outils de création de sites web
Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site
Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6
Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description
Spétechs Mobile. Octobre 2013
Spétechs Mobile Octobre 2013 Appli ios Appli Android Site Mobile Les clicks URL Appli ios Créa en dur HTML5 Créa en dur Banner Interstitiel Interstitiel Vidéo Bouncing / traveling Image Bouncing / traveling
Serveur d Applications Web : WebObjects
Serveur d Applications Web : WebObjects Nicolas Roard 29 avril 2004 Table des matières 1 Introduction 1 2 Historique 1 2.1 Implémentation WebObjects....... 2 2.2 Différences et manques?......... 3 3 Principes
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Manuel : Comment faire sa newsletter
Manuel : Comment faire sa newsletter Adresse : www.yestravel.be/acymailing Se connecter - Login (identifiant) = l adresse mail - Mot de Passe = mot de passe qui vous a été donné par. Cliquer sur [connexion]
Automatisation de l administration système
Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
4. Personnalisation du site web de la conférence
RTUTORIEL Prise en main de la plateforme 1. Création de l espace conférence Connectez- vous sur le portail http://test- www.sciencesconf.org avec le compte : - Identifiant : «admin1» - Mot de passe «1234»
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG
Master1 ère année Réseaux avancés I TP nº5 filière ISICG Utilisation de la microplateforme Bottle et du framework AngularJS La «micro web-framework» Bottle pour Python Les principales caractèristiques
Cursus 2013 Déployer un Content Management System
Cursus 2013 Déployer un Content Management System Les critères d évaluation d un CMS Les utilisateurs, après examen de la taille de la base d utilisateurs en France. La communauté, selon son dynamisme
PHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
GUIDE D INSTALLATION DE L APPLICATION GECOL SUR
GUIDE D INSTALLATION DE L APPLICATION GECOL SUR SERVEUR WINDOWS INTRODUCTION Le guide d installation qui va suivre va tenter d amener de la simplicité et de centraliser toutes les informations nécessaires
S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet
Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012
Un site web collaboratif avec Drupal Judith Hannoun - Journées INSHS 16 Octobre 2012 Site web Ensemble de pages en html Des liens hypertextes Une base de données si site dynamique Une interface graphique
L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248
L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations
Vulnérabilités et solutions de sécurisation des applications Web
Vulnérabilités et solutions de sécurisation des applications Web Patrick CHAMBET EdelWeb ON-X Consulting [email protected] http://www.edelweb.fr http://www.chambet.com Eric Larcher RSSI Accor
PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward
PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP
Formation. Module WEB 4.1. Support de cours
Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,
WIMS. Découvrir et utiliser
WIMS Découvrir et utiliser (version préliminaire - 3 janvier 2011) Copyright c 2009 WIMS EDU GNU FDL Copyleft 2009 http://wimsedu.info 1 Découverte 1. Découvrir WIMS (I) Un internaute désire découvrir
Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013
Exemple d utilisation du gestionnaire de conception Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 6, rue de l Etang, L-5326
TP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.
Failles des applications Web Ce document est extrait du travail de diplôme de M. DIZON dans l état. 1 Introduction...1 2 Contournement de validation javascript...2 2.1 Introduction...2 2.2 Principe de
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE
Formulaire pour envoyer un mail
Formulaire pour envoyer un mail AVERTISSEMENT : Ce tuto est une compilation de plusieurs sources trouvées sur internet, dont les références sont données à la fin de cet article. Le but de ce tutoriel n'est
Guide d utilisation. Version 1.1
Guide d utilisation Version 1.1 Guide d utilisation Version 1.1 OBJECTIF LUNE Inc. 2030 boulevard Pie-IX, bureau 500 Montréal (QC) Canada H1V 2C8 +1 514-875-5863 [email protected] http://captureonthego.objectiflune.com
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
SQL MAP. Etude d un logiciel SQL Injection
Introduction Ce TP a pour but d analyser un outil d injection SQL, comprendre les vulnérabilités d une BD et de mettre en œuvre une attaque par injection SQL. Prise en main du logiciel SQLMap est un outil
Présentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Guide d utilisation 2012
Guide d utilisation 2012 Tout ce dont vous avez besoin pour bien démarrer REACOM La performance marketing SOMMAIRE Démarrez avec reagiciel Accédez à votre console d administration 4 Gestion internet Aperçu
Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques
Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux
Utiliser un tableau de données
Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Stockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Chapitre 1 Qu est-ce qu une expression régulière?
Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en
Mise en place d un serveur Proxy sous Ubuntu / Debian
BTS INFORMATIQUE DE GESTION Option Administrateur Réseaux Benoît VERRON Activité n 1 Mise en place d un serveur Proxy sous Ubuntu / Debian Présentation d un Proxy Un proxy (serveur mandataire) est un serveur
Manuel utilisateur du logiciel PrestaConnect.
Manuel utilisateur du logiciel. Ce document permet d effectuer l installation et la configuration de, mais également d en apprendre l utilisation des diverses fonctionnalités. Table des matières Prérequis
Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre [email protected]
Cours Linux Cours en ligne Administrateur Systèmes Linux Académie Libre [email protected] Programme général du cours Linux MODULE 1 - Fondamentaux Introduction à Linux La procédure de Login et Logout
Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA
Comparatif CMS Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Sommaire Introduction : Dans le cadre de notre projet de master première année, il nous a été demandé de développer un moteur de recherche
ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque
1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie
PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions
Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento [email protected] AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1
CAHIER DES CHARGES D IMPLANTATION
CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création
MYXTRACTION. 2009 La Business Intelligence en temps réel
MYXTRACTION 2009 La Business Intelligence en temps réel Administration Qui sommes nous? Administration et management des profils Connecteurs Base des données Gestion des variables et catégories de variables
Découvrir le CMS. et l utiliser dans une approche pro!
Découvrir le CMS et l utiliser dans une approche pro! Cyril THIBOUT Pulsar Informatique SARL créée en 2005 12 personnes www.pulsar-informatique.com Qu est-ce que Joomla? Un des meilleurs CMS opensource
CMS Open Source : état de l'art et méthodologie de choix
CMS Open Source : état de l'art et méthodologie de choix Définition d'un CMS (wikipedia) Les CMS sont une famille de logiciel de conception et de mise à jour dynamique de sites web partageant les fonctionnalités
webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09
AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et
Joomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
Note de synthèse. Développement web sur le CMS Prestashop. Stage du 17 mai au 25 juin 2010. Entreprise decoratzia.com 15 rue Erlanger 75016 - Paris
BENCHETRIT Michaël BTS IG 2 ème année Brevet de Technicien Supérieur Informatique de Gestion Option : Développeur d applications Session 2011 Note de synthèse Développement web sur le CMS Prestashop Stage
Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables
GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS
Ajout du code de suivi Google Analytics Page 1 / 7 I. Création du compte sur Google Analytics 1. Connectez-vous à www.google.fr 2. Entrez «Google Analytics» dans la barre de recherche. 3. Cliquez sur le
