Technologies avancées
|
|
- Marie-Françoise Lebel
- il y a 8 ans
- Total affichages :
Transcription
1
2 Objectif Connaître les bases Django Olivier Pons / 2015
3 1 Django Installation Etapes qui vont suivre 1. Installation de l'environnement 2. Installation de Django 3. Création d'un projet vide 4. Création d'une application monblog 3 / 71
4 1 Django Installation Création de l'environnement virtuel mkdir monenv cd monenv python3 -m venv myvenv myvenv/bin/activate source bin/activate myvenv/bin/pip install --upgrade pip myvenv/bin/pip install django 4 / 71
5 1 Django Installation Création de l'environnement virtuel Python 2.x mkdir monenv cd monenv virtualenv myvenv source myvenv/bin/activate myvenv/bin/pip install requests myvenv/bin/pip install --upgrade pip myvenv/bin/pip install django 5 / 71
6 Création du projet > myvenv/bin/django-admin.py startproject monprojet. > tree monprojet monprojet/ init.py settings.py urls.py wsgi.py Editez monprojet/settings.py Et mettez le en français, avec TIMEZONE à Europe/Paris 6 / 71
7 Les fichiers de base monprojet/ init.py settings.py urls.py wsgi.py Dossier racine monprojet est un module configuration du site Web résolution des routes (urlresolver) Web Server Gateway Interface = serveur 7 / 71
8 Création du projet Le fichier manage.py est une sorte d'enveloppe de django-admin L'interface d'administration n'existe pas car elle est générée automatiquement! En attendant il faut demander à générer la base de données dont se servent les modules de base Puis générer une application. En général : un projet, qui contient plusieurs applications 8 / 71
9 Création de la base de données myvenv/bin/python3 manage.py migrate 9 / 71
10 Lancement du serveur myvenv/bin/python3 manage.py runserver 10 / 71
11 Nouvelle application >> myvenv/bin/python3 manage.py startapp monblog >> tree monblog/ monblog/ init.py admin.py migrations init.py models.py tests.py views.py 11 / 71
12 Nouvelle application Ajouter dans monprojet/settings.py l'application 'monblog' INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'monblog', ) 12 / 71
13 Technologies avancées Modèle exemple Mettre dans monblog/models.py : from django.db import models from django.utils import timezone class Post(models.Model): author = models.foreignkey('auth.user') title = models.charfield(max_length=200) text = models.textfield() created_date = models.datetimefield( default=timezone.now) published_date = models.datetimefield( blank=true, null=true) def publish(self): self.published_date = timezone.now() self.save() def str (self): return self.title 13 / 71
14 Modèle exemple >> myvenv/bin/python3 manage.py makemigrations monblog >> myvenv/bin/python3 manage.py migrate monblog 14 / 71
15 QuerySet >> myvenv/bin/python3 manage.py shell >> from monblog.models import Post >> from django.contrib.auth.models import User >> User.objects.all() >> User.objects.create(username='olivier') >> User.objects.all() >> User.objects.get(username='olivier') >> moi = User.objects.get(username='olivier') >> Post.objects.create( author = moi, title = 'Mon titre', text = 'Test') >> Post.objects.filter(author=moi) 15 / 71
16 QuerySet >> post = Post.objects.get(id=1) >> post.publish() >> Post.objects.filter(published_date isnull=false) >> Post.objects.order_by('created_date') >> Post.objects.order_by('-created_date') >> exit 16 / 71
17 Administration Créer un superadmin : myvenv/bin/python3 manage.py createsuperuser Mettre dans monblog/admin.py : from django.contrib import admin from.models import Post admin.site.register(post) Relancer le serveur myvenv/bin/python3 manage.py runserver Aller sur : 17 / 71
18 18 / 71
19 Urls Ajouter l'url dans monprojet/urls.py : urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'', include('monblog.urls')), ] Créer le fichier en conséquence : monblog/urls.py from django.conf.urls import patterns, include, url from. import views urlpatterns = patterns('', url(r'^$', views.post_list), ) 19 / 71
20 Templating Ajouter l'url dans monblog/views.py : from django.shortcuts import render def post_list(request): return render(request, 'blog/post_list.html', {}) Créer les dossiers puis le fichier en conséquence : >>> mkdir monblog/templates >>> mkdir monblog/templates/blog >>> vim monblog/templates/blog/post_list.html 20 / 71
21 Comparaison Python / Php 21 / 71
22 Comparaison Python / Php Symfony : générer l'interface d'administration / Sonata - Installer le bundle - Rajouter / modifier le routing - Publier les assets - Décommenter le traducteur (multilangue) - Supprimer les routes inutiles - Générer toutes les classes d'admin. - Eventuellement, activer cmf_tree ( 3 actions en plus) Django : rien à faire. Si, si. Rien. 22 / 71
23 Templates / Données dynamiques Lancer python local : myvenv/bin/python3 Puis import os os.environ['django_settings_module']='monprojet.settings' from django.contrib.auth.models import User import monblog.models posts = monblog.models.post.objects\.filter(published_date isnull=false)\.order_by('published_date') posts 23 / 71
24 Templates / Données dynamiques Toutes les conditions possibles sont après : xxx.filter(nomchamp lte = xx) xxx.filter(nomchamp gt = xx) xxx.filter(nomchamp startwith = xx) xxx.filter(nomchamp endswith = xx) xxx.filter(nomchamp exact = xx) xxx.filter(nomchamp iexact = xx) xxx.filter(nomchamp contains = xx) xxx.get(id = xx) xxx.objects.all()[:5] 24 / 71
25 Templates / Données dynamiques Ajouter dans monblog/views.py : from django.shortcuts import render from.models import Post def post_list(request): posts = Post.objects\.filter(published_date isnull=false)\.order_by('published_date') return render( request, 'blog/post_list.html', {'posts': posts} ) Relancer le serveur Web 25 / 71
26 Templates / Données dynamiques Ajouter dans monblog/templates/blog/post_list.html : {% for post in posts %} <div> <p>publié le : {{ post.published_date }}</p> <h1><a href="">{{ post.title }}</a></h1> <p>{{ post.text linebreaks }}</p> </div> {% endfor %} Relancer le serveur Web 26 / 71
27 Templates / Données statiques Créez le dossier static à la racine puis css : mkdir static mkdir static/css Modifiez monprojet/settings.py : STATICFILES_DIRS = ( os.path.join(base_dir, "static"), ) Relancer le serveur Web 27 / 71
28 Templates / Données statiques Modifier première ligne de monblog/templates/blog/post_list.html : {% load staticfiles %} Puis dans le <head></head> ajouter : <link rel="stylesheet" href="{% static "css/blog.css" %}"> Relancer le serveur Web Intégrer totalement un boilerplate au choix (voir après) 28 / 71
29 Boilerplates Initializr 99lime Alsacreation / 71
30 Technologies avancées Templates / Héritage Fichier base.html contient toute la base avec des blocs vides : {% block content %} {% endblock %} Les fichiers qui héritent remplissent ces blocs : monblog/templates/blog/post_list.html : {% block content %} {% for post in posts %} {% endfor %} {% endblock content %} 30 / 71
31 Url + Template + QuerySet Editer monblog/urls.py y ajouter dans les patterns : url(r'^post/(?p<pk>[0-9]+)/$', views.post_detail), Editer monblog/views.py : from django.shortcuts import render, get_object_or_404 def post_detail(request, pk): post = get_object_or_404(post, pk=pk) return render( request, 'blog/post_detail.html', {'post': post} ) 31 / 71
32 Url + Template + QuerySet Editer monblog/templates/blog/post_detail.html : {% extends "blog/base.html" %} {% block content %} <div class="date"> {% if post.published_date %} Publié le : {{ post.published_date }} {% endif %} </div> <h1>{{ post.title }}</h1> <p>{{ post.text linebreaks }}</p> {% endblock %} 32 / 71
33 Formulaires Simples (pas liés à un modèle) Principe Déclarer une classe dérivée de forms.form dans forms.py Déclarer une vue de type FormView dans views.py Mettre la forme en visuel dans les templates (xxx.html) 33 / 71
34 forms.py Technologies avancées Formulaires Simples (pas liés à un modèle) class RegisterForm(forms.Form): username = forms.charfield() prenom = forms.charfield() etc. prenom = forms.charfield( label=u'entrez votre prénom', max_length=100) Ce ne sont que des définitions de champs = Fields 34 / 71
35 views.py Technologies avancées Formulaires Simples (pas liés à un modèle) class RegisterView(FormView): template_name = 'applancement/index.html' form_class = RegisterForm def form_valid(self, form): username = form.cleaned_data['username'] prenom = form.cleaned_data['prenom']... return HttpResponseRedirect(u'{0}{1}'.format( site_web, self.request.meta['path_info'] )) 35 / 71
36 Formulaires Simples (pas liés à un modèle) templates/index.html <form action="{% url 'register' %}" method="post"> {% csrf_token %} {% for field in form %} {{ field.label_tag }}<br />{{ field }}<br /> {% if field.errors %} {{ field.errors }} {% endif %} {{ field.help_text }} {% endfor %} {{ form.non_field_errors }} <input type="submit" value="register!"> </form> 36 / 71
37 Editer monblog/forms.py : from django import forms from.models import Post Technologies avancées Formulaires class PostForm(forms.ModelForm): formulaires Django notre modèle Classe dérivée class Meta: classe où définir : model = Post - la table fields = ('title', 'text',) - les champs 37 / 71
38 Formulaires Ajouter le lien vers le formulaire : <a href="{% url "blog.views.post_new" %}" class="top-menu"> <span class="glyphicon glyphicon-plus"></span> </a> 38 / 71
39 Authentification Autorisation Installation Droits Vérifie que l utilisateur est bien celui qu il prétend être Détermine ce qu un utilisateur authentifié est autorisé à faire Tout est déjà fait (settings.py) django.contrib.auth Authentification django.contrib.contenttypes Association modèles permissions 39 / 71
40 Décorateurs rom django.views.decorators.http import require_http_methods require_http_methods(["get", "POST"]) ef my_view(request): # arrivé ici = que GET ou POST! pass require_get(), require_post(), require_safe() rom django.contrib.auth.decorators import login_required login_required(login_url='/login/') ef my_view(request): / 71
41 Décorateurs rom django.contrib.auth.decorators import permission_required permission_required('polls.can_vote', login_url='/login/') ef my_view(request):... ans l'application polls : lass Poll(models.Model): def can_vote(self, user): return not self.vote_set.filter(user=user).exists() 41 / 71
42 Décorateurs from django.contrib.auth.decorators import user_passes_test def _ok(user): def my_view(request): / 71
43 ans urls.py Technologies avancées 2 Django Suppléments URLs paramétrées rlpatterns = [... rl(_(r'^vente-groupee/(?p<slug>[a-za-z0-9-_]+)/$'), p_views.detailview.as_view(), name='vente_groupee'),... ans un fichier de template : a href="{% url 'vente_groupee' monparam %}">Ici<a/> 43 / 71
44 2 Django Suppléments Sessions Dans settings.py vérifier que MIDDLEWARE_CLASSES contient django.contrib.sessions.middleware.sessionmiddlewarer Puis dans les vues : Le premier paramètre d'une vue est un objet HttpRequest Via cet objet, on accède à la propriété session requestion.session.['id']= exemple = requestion.session.get('id') del request.session['id'] Fonctions les plus utilisées de session : keys(), items(), setdefault(), clear(), flush() 44 / 71
45 2 Django Suppléments Namespace Définition du namespace dans la route principale Ajouter dans urls.py urlpatterns = [ url(_(r'^monapp/'), include('monapp.urls', namespace="produits")), url(r'^admin/', include(admin.site.urls)), ] 45 / 71
46 2 Django Suppléments Namespace éfinition des routes dans l'application même : blog/urls.py rom django.conf.urls import include, url rom django.contrib import admin rom. import views rlpatterns = [ url(r'^$', views.indexview.as_view(), name='index'), 46 / 71
47 Technologies avancées 2 Django Suppléments Modèles : choix multiple rom django.db import models rom django.utils.translation import gettext_lazy as _ IFFICULTY = (('easy', _('Easy')), ('medium', _('Medium')), ('hard', _('Hard'))) lass Exercise(models.Model): name = models.charfield(max_length=300, unique=true) level = models.charfield( max_length=15, choices=difficulty) 47 / 71
48 Technologies avancées 2 Django Suppléments Modèles : base abstraite class BaseModel(models.Model): date_creation = models.datetimefield( auto_now_add=true ) date_last_modif = models.datetimefield( auto_now=true ) class Meta: abstract = True 48 / 71
49 2 Django Suppléments Modèles : exemple de filtre ttps://docs.djangoproject.com/fr/1.8/topics/db/queries/ Dans le modèle : class Produit(BaseModel): tags = models.manytomanyfield( Tag, related_name='produits' ) Dans la vue : Tag.objects.filter( produits in=produit.objects.all() ).distinct() 49 / 71
50 Technologies avancées 2 Django Suppléments Administration : ManyToMany class ProduitTagsInline(admin.TabularInline): model = Produit.tags.through extra = 0 class ProduitDescriptionsInline(admin.TabularInline): model = Produit.descriptions.through extra = 0 class ProduitAdmin(admin.ModelAdmin): inlines = [ProduitTagsInline, ProduitDescriptionsInline] exclude = ('descriptions', 'tags') 50 / 71
51 2 Django Suppléments Administration : ManyToMany 51 / 71
52 Technologies avancées 2 Django Suppléments Administration : même clé étrangère models.py class LangueTraduction(BaseModel): src = models.foreignkey('langue', related_name='langue_src') dst = models.foreignkey('langue', related_name='langue_dst') nom = models.charfield(max_length=50) admin.py class LangueTraductionsInline(admin.TabularInline): #! fk_name = obligatoire sinon pas visible : fk_name = 'src' model = LangueTraduction extra = 0 class LangueAdmin(admin.ModelAdmin): inlines = [LangueTraductionsInline] 52 / 71
53 2 Django Suppléments Administration : même clé étrangère 53 / 71
54 Traduction Au moment où la fonction est appelée from django.utils.translation import ugettext as _ Au moment où la chaîne est réellement utilisée from django.utils.translation import ugettext_lazy as _ Créer un dosser locale dans le projet Avec manage.py shell : makemessages -l fr makemessages -l en compilemessages 2 Django Suppléments 54 / 71
55 2 Django Suppléments Traduction Pour qu'il charge ces chaines : Dans settings.py, ajouter : LOCALE_PATHS = ( os.path.join(base_dir, 'locale'), ) 55 / 71
56 Champs de type ImageField Répertoire des fichiers téléversés : Dans settings.py, ajouter : MEDIA_ROOT = os.path.join(base_dir, 'uploads') Puis dans urls.py, ajouter : urlpatterns = [... url(r'^public/(?p<path>.*)$', 'django.views.static.serve', {'document_root': settings.media_root}), ] 2 Django Suppléments 56 / 71
57 Technologies avancées 2 Django Suppléments Lancer des commandes SQL en direct Exemple ici pour simuler le DESC [table] de mysql : Lancer python en ligne de commande from django.db import connection cursor = connection.cursor() cursor.execute("pragma table_info(ventegroupee)") for row in cursor: print(row) Pour la note : cursor est une classe iterable, donc on peut faire un for dessus 57 / 71
58 2 Django Suppléments Outils Django déjà en production Allez ici : Installez le en suivant les instructions. 58 / 71
59 utre exemple models.py : Technologies avancées 3 Django Jeu de rôle Modèle exemple rom django.db import models rom django.utils import timezone rom django.utils.translation import ugettext_lazy as _ lass CharacterClass(models.Model): name = models.charfield(_(u'nom de la Classe'),max_length=80) playable = models.booleanfield(_(u'le joueur peut le choisir')) def str (self): return self.name 59 / 71
60 3 Django Jeu de rôle Modèle exemple Types existants : CharField BooleanField Field PositiveIntegerField TextField ForeignKey OneToOneField ManyToManyField 60 / 71
61 3 Django Jeu de rôle Modèle exemple class CharacterManager(models.Manager): def get_query_set(self): return super(charactermanager, self)\.get_query_set()\.filter(playable = True) class CharacterClass(models.Model):... objects = models.manager() # Manager par défaut playable_character = CharacterManager() # Playable Manager playable = CharacterClass.objects.filter(Playable = True) playable = CharacterClass.playable_character.all() 61 / 71
62 monblog/urls.py Technologies avancées 3 Django Jeu de rôle Vues génériques on peut y ajouter directement : from django.conf.urls import url from django.views.generic import TemplateView urlpatterns = [ url(r'^apropos/$', TemplateView.as_view( template_name='apropos.html' )) ] 62 / 71
63 3 Django Jeu de rôle Vues génériques : dérivation # monapp/views.py from django.views.generic import TemplateView class AproposView(TemplateView): template_name = "apropos.html" # urls.py from django.conf.urls import url from monapp.views import AproposView urlpatterns = [ url(r'^apropos/', AproposView.as_view()), ] 63 / 71
64 3 Django Jeu de rôle Vues génériques : listes class IndexView(generic.ListView): template_name = 'produits/index.html' context_object_name = 'liste_produits' def get_queryset(self): """ Dites ce que cela renvoie : """ return Produit.objects.order_by( '-date_v_fin', '-date_v_debut' )[:5] 64 / 71
65 3 Django Jeu de rôle Vues génériques : détail from django.views.generic.detail import DetailView from django.utils import timezone from.models import Produit class MaDetailView(DetailView): template_name = 'produits/detail.html' model = Produit def get_context_data(self, **kwargs): context = super(madetailview, self).get_context_data(**kwargs) context['now'] = timezone.now() return context 65 / 71
66 Technologies avancées 3 Django Sujet à faire Choisissez un site à faire parmi les suivants Réservation de places de concert Médiathèque Blog multi-utilisateurs multi rôles Vente de services (développement, formation) Rencontre entre professionnels ( à la LinkedIn ) SAAS de comptabilité basique Création communautaire de livres Présentation et statistiques détaillées d'un MMORPG Crowdfunding ( à la kickstarter / indiegogo ) Site d'apprentissage en ligne Réservation de tables d'un restaurant 66 / 71
67 4 Structure classique Varnish Configuration de varnish : /etc/varnish/default.vcl : backend apache {.host = " ";.port = "8080"; } backend nodejs {.host = " ";.port = "3000"; } / 71
68 4 Structure classique Varnish... sub vcl_recv { if (req.url ~ "(?i)\.(jpeg jpg... html htm)$") { unset req.http.cookie; } if ( (req.http.host ~ "olivierpons\.(.*)") (req.http.host ~ "krystallopolis\.(.*)") ) { set req.backend_hint = apache; set req.http.x-server = req.http.host; } / 71
69 ... }... Technologies avancées 4 Structure classique Varnish # Surcharge pour NodeJS if ( (req.http.host ~ "node\.wogwog\.(.*)") ) { set req.backend_hint = nodejs; set req.http.x-server = req.http.host; # "pass" = passer direct sans cache possible return(pass); } 69 / 71
70 4 Structure classique Varnish... sub vcl_deliver { set resp.http.server = "WTF Server"; # Supprimer toutes les signatures : unset resp.http.via; unset resp.http.x-powered-by; unset resp.http.x-varnish; } 70 / 71
71 Apache httpd.conf Listen 8080 Technologies avancées 4 Structure classique Apache / NodeJS / Python NodeJS bin/www var port = normalizeport(process.env.port '3000'); Python / Django python manage.py runserver / 71
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
Plus en détailDjango 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
Plus en détailGestion d identités PSL Exploitation IdP Authentic
Gestion d identités PSL Exploitation IdP Authentic Entr ouvert SCOP http ://www.entrouvert.com Table des matières 1 Arrêt et démarrage 2 2 Configuration 2 2.1 Intégration à la fédération............................
Plus en détailLes bonnes pratiques. de l hébergement d un CMS
Les bonnes pratiques de l hébergement d un CMS Welcome Sébastien Lucas @PoMM3 Responsable avant-vente Designer d infra Nicolas Silberman @nsilberman Directeur Technique Médiapart Oxalide & les CMS le vôtre
Plus en détailPHP 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.............................................
Plus en détailInstallation UpdatEngine serveur (CentOs apache2 / MySQL)
Installation UpdatEngine serveur (CentOs apache2 / MySQL) Christophe Geneste 2014/02/26 10:05 Table des matières Introduction... 3 Installation de l environnement et des dépendances nécessaires... 3 Environnement
Plus en détailSYSTÈ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.
Plus en détailSé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
Plus en détailTP 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
Plus en détailDevenez 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
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailSoon_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 herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1
Plus en détailBTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]
SISR3 TP 1-I Le service Web [1] Objectifs Comprendre la configuration d'un service Web Définir les principaux paramètres d'exécution du serveur Gérer les accès aux pages distribuées Mettre à disposition
Plus en détailMANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:
MANUEL WORDPRESS Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site: A/ Traitement de la base de données: Pour cette étape, vous aurez besoin au préalable
Plus en détailModule 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
Plus en détail«Cachez-moi cette page!»
«Cachez-moi cette page!» Atelier Pratique 1h30 Hugo Hamon (@hhamon) http://hugohamon.com Qui suis-je? Au menu de cet atelier 1. Introduction 2. Avantages 3. Expiration (Expires & Cache-Control) 4. Validation
Plus en détailNouveautés de Drupal 8. Léon Cros @chipway
Nouveautés de Drupal 8 Léon Cros @chipway.. Léon Cros Communauté Drupal Président de l'association Drupal France et Francophonie @chipway / chipway-drupal. JDLL 2014. Chipway : Spécialiste Formations Drupal
Plus en détailLa double authentification dans SharePoint 2007
La double authentification dans SharePoint 2007 Authentification NT et Forms sur un même site Dans de nombreux cas on souhaite pouvoir ouvrir un accès sur son serveur SharePoint à des partenaires qui ne
Plus en détailMagento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Plus en détailInstallation 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
Plus en détailMise 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
Plus en détailProgrammation 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
Plus en détail1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel
Guide débuter avec WHM 1 / Introduction WHM signifie Web Host Manager (ou gestionnaire d'hébergement web). WHM va donc vous permettre de gérer des comptes d'hébergement pour vos clients. (création de compte,
Plus en détailDRUPAL Réalisez des développements professionnels avec PHP (2ième édition)
Introduction 1. Les systèmes de gestion de contenu 11 2. Les avantages de Drupal 15 3. Le fonctionnement de Drupal 17 4. L'environnement de développement 20 5. L'installation de Drupal 25 6. Le passage
Plus en détailGérer une forte charge avec ez Publish Obtenir la meilleure réactivité de publication. Solutions natives ez. Solution spécifique.
Gérer une forte charge avec ez Publish Obtenir la meilleure réactivité de publication Solutions natives ez Classique Cluster ez DFS Cache statique Solution spécifique Publication statique spécifique Solution
Plus en détailInstallation d'un serveur sftp avec connexion par login et clé rsa.
Installation d'un serveur sftp avec connexion par login et clé rsa. 1- Installation d'openssh-server 2 2- Installation de Vim pour modifier plus facilement les fichiers 2 3- Installation et configuration
Plus en détailContent Switch ou routage de niveau HTTP
ALOHA Load-Balancer - Application Note Document version: v1.1 Last update: 19 juin 2014 EMEA Headquarters 3, rue du petit robinson ZAC des Metz 78350 Jouy-en-Josas France http://www.haproxy.com/ Objectif
Plus en détailMaster1 è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
Plus en détailHé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
Plus en détailBOUCHARD Nicolas. GENTILE Pierre
PPE ENT Installation d Esup Portail sous Windows De A à Z - Version du 19/04/2007 Page2 Table des Matières PRE REQUIS... 3 INSTALLATION DE L OUTIL ANT... 4 INSTALLATION DU SERVEUR APACHE TOMCAT... 5 PASSER
Plus en détailPréparation d un serveur Apache pour Zend Framework
Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine
Plus en détailPHP 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
Plus en détailPrincipales 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.
Plus en détailAttaques 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
Plus en détailéquipement radio Procédure
07/03/2014 GLPI / Inventaire équipement radio Procédure Anthony MANDRON SDIS 21 Table des matières Procédure d installation de GLPI sur une Debian Wheezy :... 2 Mise en place du plugin «Generic Object
Plus en détailConférence Développeurs Magento. 27 novembre 2013 mageconf.org
Conférence Développeurs Magento 27 novembre 2013 mageconf.org Montée de version de Magento : la préparation, les étapes, les pièges à éviter Par Sébastien Lepers (SeL) http://meliweb.fr Montée de version
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailModé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é
Plus en détailles 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
Plus en détailIntroduction 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
Plus en détailSTID 2ème année : TP Web/PHP
STID 2ème année : TP Web/PHP Plan de travail et aide mémoire jean.arnaud@inria.fr Ce document est composé de cinq parties : Un aide mémoire sur les aspects pratiques de la création de sites Une introduction
Plus en détailPLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4
PLUGINS Guide du Développeur STEPHANE FERRARI P l u X m l 5.4 Table des matières Présentation de PluXml...5 Principales caractéristiques...5 Pré-requis...6 Procédure d'installation...6 Procédure de mise
Plus en détailModule pour la solution e-commerce Magento
Module pour la solution e-commerce Magento sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Liste des documents de référence... 3 1.3. Avertissement... 3 1.4. Contacts... 3 1.5. Historique
Plus en détailEditer un script de configuration automatique du proxy
Editer un script de configuration automatique du proxy INTRODUCTION... 2 AVANTAGE D UN SCRIPT DE CONFIGURATION... 2 SYNTAXE DU SCRIPT DE CONFIGURATION AUTOMATIQUE... 2 MISE A DISPOSITION DU SCRIPT... 4
Plus en détailLa programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)
Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation
Plus en détailSé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
Plus en détailNouveautés joomla 3 1/14
Nouveautés joomla 3 1/14 Table des matières 1 Responsive... 1 2 Bootstrap... 1 3 LESS CSS intégré... 1 4. JUI (pour les développeurs d'extensions)... 1 5. Le Mambo days vs le Génial UX... 2 6. 7 étapes
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détail1. Installation du Module
1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de
Plus en détailGUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0
GUIDE D INSTALLATION Portaneo Enterprise Portal version 4.0 Novembre 2010 Guide d'installation Portaneo Enterprise Portaneo 1 / 8 Table des matières 1- Pré-requis...3 2- Installation de Portaneo...3 2.1-
Plus en détailDocumentation Technique
Documentation Technique TD8 Legendary Heroes La documentation technique a pour but de permettre à un développeur non familier avec le projet Legendary Heroes de comprendre les aspects techniques et prendre
Plus en détailDocumentation de conception
Documentation de conception La présente documentation précise les choix de modélisation, détaille les fonctionnalités (en sus de la documentation utilisateur), documente la conception de la base de donnes
Plus en détailFaire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp
Vous avez certainement déjà souhaiter gérer plusieurs projets symfony sur votre machine après avoir installé Wamp Server. Ce n'est pas simple en apparence, un seul dossier www et des sous répertoire en
Plus en détailIntroduction. 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
Plus en détailINF8007 Langages de script
INF8007 Langages de script Sockets et serveur 1/18 INF8007 Langages de script Sockets et serveur Michel Desmarais Génie informatique et génie logiciel École Polytechnique de Montréal Hiver, 2014 INF8007
Plus en détailSystème Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Centre de Recherche sur l Information Scientifique et Technique Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-
Plus en détailComparatif 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
Plus en détailSommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23
1 Introduction 19 1.1 À qui s adresse cet ouvrage?... 21 1.2 Comment est organisé cet ouvrage?... 22 1.3 À propos de l auteur... 22 1.4 Le site Web... 22 2 Présentation du logiciel de commerce électronique
Plus en détailPHP 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
Plus en détailL installation du module Webmail nécessite également quelques prérequis, à savoir :
INTRODUCTION : Ce document décrit l installation de la solution de messagerie Open Source hmailserver. En terme d accès client, hmailserver fournit de base le support des protocoles SMTP, POP3 et IMPA4.
Plus en détailPanel des technologies Web
Panel des technologies Web pierre.jean@mines-ales.fr version 0.14 Objectif Un panorama des technologies Web pour comprendre leurs positionnements et leurs utilisations Questions Evaluation Sommaire Avant
Plus en détailwww.evogue.fr SUPPORT DE COURS / PHP PARTIE 3
L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...
Plus en détailHTML, CSS, JS et CGI. Elanore Elessar Dimar
HTML, CSS, JS et CGI Elanore Elessar Dimar Viamen GPAs Formation, 13 avril 2006 Sommaire Qu est-ce que HTML? HTML : HyperText Marckup Language XML : extensible Marckup Language Qu est-ce que HTML? HTML
Plus en détailJoomla! 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
Plus en détailTechnologies du Web Master COMASIC Technologies côté serveur
Technologies du Web Master COMASIC Technologies côté serveur Antoine Amarilli 1 27 novembre 2014 1. Matériel de cours inspiré de notes par Pierre Senellart. Merci à Pierre Senellart pour sa relecture.
Plus en détailServeur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.
Serveur de partage de documents Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Table des matières Création de la machine virtuelle Debian... 3 Présentation
Plus en détailServeur 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
Plus en détailAuteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA
Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2
Plus en détailPrésentation du Framework BootstrapTwitter
COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...
Plus en détailFailles XSS : Principes, Catégories Démonstrations, Contre mesures
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,
Plus en détailDé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
Plus en détailECLIPSE ET PDT (Php development tools)
ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement
Plus en détailInstallation d un hébergement Web à domicile
Installation d un hébergement Web à domicile Wampserver Par Sébastien ZAMBON Version 1.0 11.07.2015 Table des matières Introduction... 3 Configuration du PC... 3 Configuration d une adresse IP statique...
Plus en détailNuxeo 5.4 : les nouveautés
Atelier GED - 30 mars 2011, Paris Consortium ESUP-Portail Nuxeo.conf et templates Depuis la version 5.3.2, nouvelle façon de configurer Nuxeo à l'aide du fichier nuxeo.conf et des templates. Les templates
Plus en détailDrupal (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
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailProcédure d'installation
07/11/2014 BTS SIO SISR 2ème année BRY Quentin Procédure d'installation Tableau d évolution Version Date Description Rédacteur Approbateur 0.0 25/01/2014 Ecriture du document Thierry MARTINS 1.0 06/11/2014
Plus en détailBases 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
Plus en détailTP réseaux 4 : Installation et configuration d'un serveur Web Apache
TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux
Plus en détailInternet. Web Sécurité Optimisation
Internet Web Sécurité Optimisation Objectif Survol Web / Optimisation / Sécurité Sommaire 1. Fondamentaux 2. Hotes virtuels 3. Règles de réécriture 4. Optimisations 1. Fondamentaux - DNS fsf.com => 208.73.210.29
Plus en détailUn serveur web léger et ouvert
Un serveur web léger et ouvert A propos de moi Nenad Rakocevic Programmeur depuis 25 ans: C/C++, *Basic, ASM, REBOL, Javascript, Co-fondateur de Softinnov, entreprise IT à Paris Auteur de plusieurs librairies
Plus en détailImprimantes et partage réseau sous Samba avec authentification Active Directory
Imprimantes et partage réseau sous Samba avec authentification Active Directory Sommaire 1- Pré requis Page 2 2- Configuration réseau Page 3 3- Installation de samba Page 4 à 5 4- Installation de kerberos
Plus en détailInstallation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS
Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS FOURNIER VINCENT 29/04/2015 1.2 Ce tutoriel est réalisé sous debian 7.7 avec une synchronisation
Plus en détailSavoir- Faire Offres mé1ers Offres technologiques
www.neuros.fr Savoir- Faire Offres mé1ers Offres technologiques! Audit et conseil (stratégie, organisation, urbanisation )! Assistance à maîtrise d'ouvrage! Développement d'applications métiers! Migration
Plus en détail1. La plate-forme LAMP
Servi ces pour intranet et Internet Ubuntu Linux - Création et gestion d un réseau local d entreprise 1. La plate-forme LAMP Services pour intranet et Internet La fourniture d'un site pour le réseau ou
Plus en détailHTML/CSS - Travaux Pratiques 2
HTML/CSS - Travaux Pratiques 2 Le but de ces séances de TP est de se familiariser avec le format HTML et les feuilles de style CSS pour la création de pages web. Pour cela, vous utiliserez emacs sous Linux
Plus en détailINSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X
INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X Par Sébastien Maisse MAC OS incorpore en son sein un serveur web apache, pour le lancer, il faut se rendre dans le Menu Pomme / Préférence Système...
Plus en détailSERVEUR WEB. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille
SERVEUR WEB Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) TP : Serveur WEB L ordinateur Raspberry Pi est connecté en réseau par un connecteur Ethernet et/ou
Plus en détailUtiliser un CMS: Wordpress
Utiliser un CMS: Wordpress Annie Danzart Annie.Danzart@telecom-paristech.fr Wordpress Concevoir un site web statique Concevoir un site web dynamique Choisir un hébergement Choix du CMS Wordpress: installation
Plus en détailInstallation FollowMe Q server
Installation FollowMe Q server FollowMe Rev 1.00 30 nov 2007 Pré requis FollowMe v5 est un service de Windows et s'installe sur tout poste fonctionnant sous XP Pro, 2000 server, 2003 server. Il utilise
Plus en détailUwAmp. Serveur d'evaluation
UwAmp Serveur d'evaluation Aide sur UwAmp From UwAmp Wiki Jump to: navigation, search Tous les tutoriaux et aide sur l'installation et l'utilisation de UwAmp sont référencé sur cette page. Vous pouvez
Plus en détailConstruire une application marketing Facebook sur la plateforme Windows Azure
Construire une application marketing Facebook sur la plateforme Windows Azure Lorsque le «Social Effect» est au rendez-vous, comment s assurer que votre application va supporter la montée en charge? Nous
Plus en détailINTERNET 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.
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailInstallation d'un serveur FTP géré par une base de données MySQL
BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation
Plus en détailPARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US
PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US Introduction Pourquoi utiliser DEL.ICIO.US? Cet outil permet à plusieurs personnes de partager la même liste de sites favoris et ce sur n importe
Plus en détail