Soutenance Stage L3 INFO Guillaume Ansel

Slides:



Advertisements
Présentations similaires
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Advertisements

Projets Dossier de conception Logiciel
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Conception de Site Webs dynamiques Cours 6
Internet : serveurs Web
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
Connecter des données métier à Office SharePoint Server 2007 via le Business Data Catalog.
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Design Pattern MVC En PHP5.
TP 3-4 BD21.
Servlet JAVA.
Introduction aux CMS.
Soutenance de stage · Par : Guillaume Prévost · Entreprise : Cynetic
Sécurité Informatique
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Etude des Technologies du Web services
Nouveau blog. WordPress connexion Nommez votre blog.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
JAVASERVER FACES Un framework Java pour le développement Web.
N. Le Gall A. Jaouën E. Morin C. Coelo Cuzon D. Le Toux
Comprendre l’environnement Web
Développement Rapide dApplications Web avec.NET « Mon premier site »
Lycée Louis Vincent Séance 1
Symfony2.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Modèle, Méthode et Conception
Développement d’un réseau social professionnel
Atelier « Créations de sites » : Les techniques de réalisation de sites EPN :...
ISICIL SWEETDEKI Intégration du logiciel Mindtouch Core dans la plate-forme ISICIL Guillaume HUSSON.
Développement d’applications web
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
JSP (Java Server Pages)
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
PHP & My SQL.
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
09/11/2006 CMS Content Management System Système de Gestion de Contenu.
Cours de programmation web
Internet : serveurs Web  Clients et serveurs : le navigateur  Sites Web et urls  Fichier source d’une page  Langage HTML 1.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Application de gestion des retards
Le projet Gestion Commerciale
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
© WYNIWYG / Communication, reproduction interdite sauf autorisation.
Struts.
Module 3 : Création d'un domaine Windows 2000
4/13/2017 3:41 PM Intégration Visio SharePoint 2010 Application à la création de Workflows Genève -15 Avril 2010 Michel LAPLANE MVP Visio - WGroupe.
LOGO 2010/2011 Encadré par: Mr Chaouech Helmi Elaborée par: Galloussi Ons Université de Carthage Faculté des Sciences économique et de Gestion de Nabeul.
L’enseignement de spécialité SLAM
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
Automate pour sites web Yannick Bensacq Stage Uranie 2005.
Gestion d’un espace communautaire
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
1 La Semaine des Arts Site Web du festival organisé par le lycée Le Grand Chênois du 07 au 12 Avril 2003.
Julien Lamure - Réunion des CI du 15/11/2006 Quelques utilitaires de création de comptes pour Windows 2003 server - GUNT - Gestion - PowerAD - Magret -
Mise en forme avancée et Publication. Le CSS Avertissement : vous ne devez pas maitriser le CSS juste savoir qu’il existe et à quoi il sert ! CSS signifie.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
Dreamweaver (2) ● les calques (layers) ● les comportements
CMS : SPIP Formation PBC – Septembre SPIP = Système de publication Internet SPIP = Système de publication Internet SPIP = CMS = Content Management.
Création d’un site WEB 1 – Un site WEB c’est quoi ? 2 – Questions à se poser avant la construction d’un site WEB 3 – Principes de fonctionnement d’un site.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
DWR Jean-Jacques LE COZ. Introduction Projet DWR Framework AJAX Projet Open Source commencé en 2004 Licence GPL (Apache Software License v2) Sponsorisé.
Transcription de la présentation:

Soutenance Stage L3 INFO Guillaume Ansel Création d’un site Internet dynamique avec le framework Django

Plan Introduction Présentation du sujet choisi Conception Générale Conception Détaillée Synthèse Conclusion Guillaume Ansel

1. Introduction Guillaume Ansel

1. Introduction Stage de Licence Informatique Durée : 10 semaines Sujet : « Création d’un site Internet dynamique pour la société Studio Odyssée » Entreprise d’accueil : Studio Odyssée Encadrement : Virginie MARION-POTY Guillaume Ansel

2. Présentation du sujet Guillaume Ansel

2. Présentation du sujet « Création d’un site Internet pour la société Studio Odyssée » Guillaume Ansel

2. Présentation du sujet Présentation des activités de la société Logiciel Internet Infographie Marketing & Communication Site dynamique Contenu dynamique Espace client Guillaume Ansel

3. Conception Générale Guillaume Ansel

3. Conception Générale 3.1 Les outils Développement du site avec le langage Python Utilisation du framework web Django (pre-1.0) Gestion des sources avec Subversion Codage des pages en XHTML 1.0 Mise en page avec les feuilles de style CSS (Cascading Style Sheets) Guillaume Ansel

3. Conception Générale 3.2 Le framework Le développement du site s’appuie sur l’utilisation du framework django. Nombreux avantages : Inclus un ORM (Object-Relational Mapping) Interface d’administration générée automatiquement Gestion des URL propre Système de template puissant (Système de mise en cache) (Internationalisation) Guillaume Ansel

3. Conception Générale 3.3 Le principe Conception proche du système MVC (Modèle Vue Contrôleur) Guillaume Ansel

3. Conception Générale 3.3 Le principe Modèle Couche de données Encapsulées dans des objets grâce à l’ORM Abstraction par rapport au support de stockage Gestion des liaisons de type : Un à Un Un à Plusieurs Plusieurs à Plusieurs Gestion des contraintes d’intégrités Django créé la BDD à partir des modèles Guillaume Ansel

3. Conception Générale 3.3 Le principe Vue Correspond à une page Web offrant un service spécifique Définit quelle données doit être affichées et renvoie une réponse HTTP. Différente réponse HTTP selon les cas : 200: requête valide contenant la page demandée 403: requête non autorisée 404: la page demandée n’existe pas 500: erreur dans l’exécution du code de la vue D’autres type de réponses si besoin Guillaume Ansel

3. Conception Générale 3.3 Le principe Contrôleur N’apparait pas explicitement du point de vue du développeur Peut-être considéré comme étant le framework lui-même Redirige les URL vers la vue correspondante Django utilise une interprétation différente du patron de conception original MVC, plus proche des besoins des auteurs du framework. Guillaume Ansel

3. Conception Générale 3.3 Le principe Template Présentation des données Langage de template puissant Structure conditionnelle Boucle Héritage Filtres Sortie en format texte HTML CSV Texte Guillaume Ansel

4. Conception Détaillée Guillaume Ansel

4. Conception Détaillée 4.1 Les applications Projet vs Application Un projet regroupe un ensemble de fonctionnalités Les fonctionnalités peuvent être regroupées dans des applications Une application peut-être partagée par plusieurs projets différents Nom du projet: studioodyssee Guillaume Ansel

4. Conception Détaillée 4.1 Les applications Liste des applications Index Pages statiques Contact Syndication Actualite Derniers billets Archives Projet Liste des projets Détail d’un projet Membres Espace personnel Contrib Regroupe les fonctions utilitaires Guillaume Ansel

4. Conception Détaillée 4.2 Diagramme de classe UML Guillaume Ansel

4. Conception Détaillée 4.3 Fonctionnement nominal Le visiteur envoie une requête Lien FastCGI entre le serveur Web et processus django Le framework traite la requête (session, identification, …) Redirection vers la vue correspondante La vue réalise les opérations demandées Charge les données des modèles Traite les formulaires si besoin Renvoie une réponse HTTP Réponse HTTP (200, 403, 404, 500, …) contenant la page demandée par le visiteur Guillaume Ansel

4. Conception Détaillée 4.4 Exemple Modèle: Billet class Billet(models.Model): titre = models.CharField(u’Titre’, max_length=128) contenu = models.TextField(u’Contenu’) contenu_html = models.TextField(editable=False) auteur = models.ForeignKey(User) publication_date = models.DateField(u’Date de publication’, auto_now_add=True) def save(self): self.contenu_html = textile(self.contenu) super(Billet, self).save() Guillaume Ansel

4. Conception Détaillée 4.4 Exemple Vue: liste_billet def liste_billet(request): try: billets = Billet.objects.all().order_by(‘-publication_date’) except: raise Http404 return render_to_response(‘liste_billet.html’, {‘billets’:billets,}, \ context_instance = RequestContext(request)) Guillaume Ansel

4. Conception Détaillée 4.4 Exemple Template: liste_billet.html <!DOCTYPE html> <html lang="fr"> <head> <title>Studio Odyssée - Un Projet</title> </head> <body> <div id="liste-billet">{% for billet in billets %} <h2>{{ billet.titre }}</h2> <span class="auteur">{{ billet.auteur }}</span> {{ billet.contenu_html|safe }} {% endfor %}</div> </body> </html> Guillaume Ansel

4. Conception Détaillée 4.4 Exemple Résultat: <!DOCTYPE html> <html lang="fr"> <head> <title>Studio Odyssée - Un Projet</title> </head> <body> <div id="liste-billet"> <h2>Billet 1</h2> <span class="auteur">Guillaume</span> <p>contenu premier billet.</p> <h2>Billet 2</h2> <p>contenu deuxième billet.</p> </div> </body> </html> Guillaume Ansel

4. Conception Détaillée 4.5 Déploiement En cours de développement Serveur web Python fournit par le framework Pas besoin de serveur Web dédié (Apache, LighTPD) Configuration automatique (d’après le fichier settings.py) Interface sur 127.0.0.1:8000 par défaut Mais pas utilisable en production Guillaume Ansel

4. Conception Détaillée 4.5 Déploiement En production Méthode recommandée : Apache + mod_python Django est compatible avec les protocoles WSGI (CGI, FastCGI, SCGI) Hébergement djangohosting.ch Mise en place du site sur un serveur Web LighTPD Interface FastCGI entre LighTPD et le processus django Guillaume Ansel

4. Conception Détaillée 4.5 Déploiement En production Requête HTTP Processus django FastCGI LighTPD socket Réponse HTTP Guillaume Ansel

5. Synthèse Guillaume Ansel

5. Synthèse Préparation Installation des composants Développement Découpage en applications Choix des URL Création des modèles de données Ecriture des vues Rédaction des templates associées Déploiement Apache + mod_python LighTPD + FastCGI Guillaume Ansel

6. Conclusion Guillaume Ansel

6. Conclusion Projet intéressant car s’inscrivant dans le cadre d’une création d’entreprise Cadre de travail intéressant, participation active dans les choix techniques Apprentissage d’un nouveau langage de programmation (Python) Nouvelle technique de développement basé sur l’utilisation du framework django (DRY « Don’t Repeat Yourself ») Guillaume Ansel

Questions ? Guillaume Ansel