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.

Slides:



Advertisements
Présentations similaires
Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Advertisements

Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
Open Days 2006 Le Web 2.0 demain: produits, technologies, outils.
Conception de Site Webs Interactifs Cours 3
Conception de Site Webs Interactifs Cours 4
Internet.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Copyright France Télécom, tous droits réservés Paris Web Ateliers Les bibliothèques JS jQuery Orange Labs Julien Wajsberg, Recherche & Développement.
Exposé de Système - Informatique et Réseau
Formation WIMS Jeudi 9 juillet 2009
APACHE HTTP SERVER Formation TRANSFER ALGER Mai 2002.
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
11:16:331 Programmation Web Programmation Web : Formulaires HTML Jérôme CUTRONA
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
Sécurité Informatique
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Intégrer IdRef dans les applications documentaires de votre université. Pourquoi ? Comment ? Atelier JABES2011.
Module 1 : Préparation de l'administration d'un serveur
Le langage ASP Les variables d'environnement HTTP avec Request.
Comprendre l’environnement Web
Lycée Louis Vincent Séance 1
Les instructions PHP pour l'accès à une base de données MySql
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Citrix® Presentation Server 4.0 : Administration
ISICIL SWEETDEKI Intégration du logiciel Mindtouch Core dans la plate-forme ISICIL Guillaume HUSSON.
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
PHP Géant Aurélien. PHP (Hypertext Preprocessor) Langage de scripts libre Permet produire des pages Web dynamiques dispose d'un très grand nombre d'API(Application.
Web dynamique PhP + MySQL AYARI Mejdi 2006
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Module 8 : Maintenance des logiciels à l'aide des services SUS
AJAX.
Module 5 : Publication de ressources dans Active Directory
Olivier Nocent Programmation Web Olivier Nocent
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.
Initiation au web dynamique
Hot Potatoes
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
PHP & My SQL.
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
PHP 5° PARTIE : LES COOKIES
AngularJS.
Les réseaux - Internet Historique Réseau local Internet Les protocoles
Cours de programmation web
Gestion à distance Netsh et rcmd.
Mise en place d’un Intranet
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Installation et Configuration Internet Information Server (IIS 6)
S'initier au HTML et aux feuilles de style CSS Cours 5.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
Développement d’application Web.  Internet  WWW  Client/Serveur  HTTP.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
G.KEMBELLEC - UP81 Master 2 THYP Cas pratique d’utilisation De simpleXML Un lecteur de RSS Novembre 2009.
Module : Pages Web Dynamiques (Production Électronique Avancée)
S'initier au HTML et aux feuilles de style CSS Cours 5.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
Deug 11 Systèmes d ’Information : 5a Michel de Rougemont Université Paris II Les Formulaires.
Séance /10/ Projet de site dynamique avec Dreamweaver : MyCMS
Séminaire de rentrée cours de programmation web & Wordpress
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
1 Web App Pourquoi une Web App au lieu d’une application native? 26 janvier 2012  Créer une application universelle  Durée de vie « infinie »  Plus.
Conception des Sites Web Enseignant : Pr Boubker Sbihi Année
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 Programmation Web Programmation WAMP/LAMP Premiers principes.
Transcription de la présentation:

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 utilisés côté client : HTML, CSS, JS,  Présenter les bases de PHP 5 (avec un focus sur la version 5.5),  Découvrir la POO et la mise en œuvre en PHP Introduction Fondamentaux PHP

1 Objectifs du jour 1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur PHP/Web Jour 1 Fondamentaux PHP Les fondamentaux d’une application PHP/Web Protocole HTTP, échange client serveur Mise en place d’un serveur WEB, présentation des logiciels nécessaires et de leur configuration (serveur HTTP, parser PHP) Exercice pratique Installation et configuration de l’environnement sur le poste de développement Où et comment sont exécutés les scripts (PHP, JS) Focus sur PHP Focus sur JS Le HTML et le DOM Explication de la structure HTML et représentation du DOM Exercice pratique Analyse du DOM en utilisant les outils de développement de google chrome. Décryptage des informations collectées Programme

2 Objectifs du jour 2  Découvrir l’ensemble des langages utilisés côté client : HTML, CSS, JS  Présenter les bases de PHP 5 Jour 2 Fondamentaux PHP Exercice pratique Analyse du HTML / CSS et découverte du DOM autour d’une application existante, Initiation à AJAX Présentation des frameworks JS et CSS actuels Présentation de JQUERY Présentation de bootstrap (twitter) Tour d’horizon des autres frameworks Présentation de la philosophie de plugins Jquery en javascript Jquery UI & Jquery Datatable Exercice pratique Utilisation d’ajax avec Jquery Utilisation de Jquery Datatable pour la mise en forme des données Présentation du langage PHP Historique du langage Focus sur la version 5.5 : structure, mots clés, mots réservés Exercice pratique Premier script PHP Programme

3 Objectifs du jour 3  Décrouvrir la POO et la mise en œuvre en PHP Jour 3 Fondamentaux PHP Présentation des bases de la POO Héritage, interface, classe abstraite, héritage multiple Mise en œuvre de la POO en PHP Scope et portée Syntaxe objet en PHP Initiation aux trait Présentation de quelques patrons de conception Singleton, factory, adapter Exercice pratique Création d’un singleton Exercice pratique Redéfinir les types primitifs en PHP Programme

4 Brief Mettre en place une application disponible depuis l’url « » qui permette à un utilisateur connecté de visualiser la liste d’ordinateurs d’un parc informatique. Pour chaque ordinateur, nous afficherons son identifiant, son IP, le nom et le prénom de son utilisateur. Ce mini projet servira de fil conducteur au cours de la session 1 de la formation. Le fil rouge Fondamentaux PHP

5 Quelques rappels Jour 1 – Fondamentaux d’une application WEB Fondamentaux PHP Protocole HTTP Hyper Text Transfer Protocol protocole requête/réponse basé sur du texte La première ligne de la requête contient 3 éléments : Verbe : POST/GET/HEAD/OPTIONS/PUT/… URI : /index.html Protocole : HTTP/1.0 - HTTP/1.1 La première ligne de la réponse contient 2 éléments :État : 200, 402 Phrase : OK, Unauthorized Les lignes suivantes contiennent un certain nombre d’entêtes. Le contenu suit une ligne d’entête vide

6 Quelques rappels Jour 1 – Fondamentaux d’une application WEB Fondamentaux PHP Echange client / serveur

7 Mise en place d’un serveur WEB Jour 1 – Fondamentaux d’une application WEB Fondamentaux PHP Serveur HTTP Apache Nginx – utilisé chez Fiducial Lighttpd – principalement utilisé pour délivrer du contenu statique IIS - windows PHP Avec apache : en tant que module, mod_php en utilisant fast_cgi et php-fpm Avec nginx en utilisant php-fpm

8 Apache 2.x Jour 1 – Serveur HTTP - Configuration Fondamentaux PHP

9 Nginx Jour 1 – Serveur HTTP - Configuration Fondamentaux PHP

10 PHP Un fichier de configuration qui contient les directives : php.ini Quelques directives utiles : error_reporting = E_ALL & ~E_NOTICE variables_order = EGPCS auto-prepend-file = [path/to/file] auto-append-file = [path/to/file] Description des directives : Jour 1 – PHP - Configuration Fondamentaux PHP

11 Jour 1 – Exercice pratique n°1 Estimation de projet Installer votre serveur Web en local Configurer et redémarrer Apache Ajouter la directive ServerAlias : formation.fiducial.fr Valider l’installation Créer le fichier phpinfo.php dans le répertoire « www » contenant Ouvrir votre navigateur et accéder <?php phpinfo();

12 Jour 1 – Exercice pratique n°1 - Résultat Estimation de projet Vous devriez voir ceci :

13 Jour 1 – Les bases des langages PHP et JS Fondamentaux PHP Où et comment sont exécutés les scripts PHP côté serveur, cela semble maintenant évident

14 Jour 1 – Les bases des langages PHP et JS Fondamentaux PHP A quoi ressemble un script PHP?

15 Jour 1 – Les bases des langages PHP et JS Fondamentaux PHP Où et comment sont exécutés les scripts JS côté client par le moteur javascript du navigateur

16 Jour 1 – Les bases des langages PHP et JS Fondamentaux PHP A quoi ressemble un script JS? premier-script

17 Jour 1 – Présentation du DOM Fondamentaux PHP Qu’est ce que le DOM? Le Document Object Model (ou DOM) est un standard du W3C qui décrit une interface indépendante de tout langage de programmation et de toute plate-forme, permettant à des programmes informatiques et à des scripts d'accéder ou de mettre à jour le contenu, la structure ou le style de documents XML et HTML1. Le document peut ensuite être traité et les résultats de ces traitements peuvent être réincorporés dans le document tel qu'il sera présenté.W3Clangage de programmationprogrammes informatiquesscriptsXMLHTML1

18 Jour 1 – Exercice pratique n°2 Fondamentaux PHP Utilisation des outils de développement et analyse Aller sur Analyser le DOM en utilisant les outils de développement de google chrome. Décrypter des informations collectées dans les outils de développement Répondre aux questions suivantes : Quel CMS est utilisé pour éditer le site Quel système de cache est utilisé pour pour éviter d’accéder au serveur php à chaque requête? Quel est le nom du cookie utilisé pour stocké la session du site? Faites quelques recherches A quoi sert un cookie? A quoi sert une session? Peut-on modifier un cookie en javascript? En php? Qu’est qu’une session et où est-elle stockée? Premiers pas en javascript Créer un fichier index.html à la racine du site Editer le fichier en créant une structure html valide (balises html, head, body) Créer un premier script javascript dans le code html qui va afficher la date du jour dans une boîte de dialogue Créer un fichier JS (inclusion.js) à la racine du site et inclure ce fichier en utilisant la balise Créer un premier formulaire (method="POST" action=".") contenant 2 champs (input type text et password) : login et password Soumettre le formulaire et analyser les headers envoyés par le formulaire

19 Rappel des objectifs du jour 2  Découvrir l’ensemble des langages utilisés côté client : HTML, CSS, JS  Présenter les bases de PHP 5 Jour 2 Fondamentaux PHP Présentation de la revue de code Qu’est ce que la revue de code? Quels sont les objectifs de la revue de code? Exercice pratique Revue de code du développement de la veille Présentation des frameworks JS et CSS actuels Présentation de JQUERY Présentation de bootstrap (twitter) Tour d’horizon des autres frameworks Présentation de la philosophie de plugins Jquery en javascript Jquery UI & Jquery Datatable Présentation du langage PHP Historique du langage Focus sur la version 5.5 : structure, mots clés, mots réservés Exercice pratique Utilisation d’ajax avec Jquery Utilisation de Jquery Datatable pour la mise en forme des données Programme

20 Jour 2 – Revue de code Fondamentaux PHP Qu’est ce que la revue de code Une revue de code s'appuie sur la vérification (manuelle ou automatisée) du respect d'un ensemble de règles de programmation. Objectif de la revue de code F avoriser la collaboration, le travail en équipe (’appropriation du code par l’équipe) Appliquer un standard Détecter et corriger les défauts (bugs mais aussi lisibilité) au plus tôt dans le cycle de vie du code pour économiser les coûts Formation des développeurs Comment intégrer la revue de code dans le workflow de développement? Grâce à des outils comme gitlab ou github en utilisant git flow

21 Jour 2 – Les frameworks JS Fondamentaux PHP Jquery jQuery est une bibliothèque JavaScript libre et multi-plateforme créée pour faciliter l'écriture de scripts côté client dans le code HTML des pages web. La bibliothèque contient notamment les fonctionnalités suivantes : Parcours et modification du DOM (y compris le support des sélecteurs CSS 1 à 3 et un support basique de XPath) ; Événements ; Effets visuels et animations ; Manipulations des feuilles de style en cascade (ajout/suppression des classes, d'attributs…) ; Ajax ; Plugins ; Utilitaires (version du navigateur web…).

22 Jour 2 – Les frameworks JS Fondamentaux PHP Jquery – les notions de base La syntaxe $(selecteur).action() Le signe $ est un alias de la fonction jquery Le (selecteur) permet de sélectionner des éléments HTML Une action() jQuery à exécuter sur les éléments

23 Jour 2 – Les frameworks JS Fondamentaux PHP Jquery – les notions de base Les sélecteurs classiques : Sélecteur d’éléments : $("p") Sélecteur d’identifiants : $("#test") Sélecteur de classe: $(".maclasse") Exemples : jquery/plus-loin-dans-la-selection-d-elements

24 Jour 2 – Les frameworks JS Fondamentaux PHP Jquery – les notions de base

25 Jour 2 – Les frameworks JS Fondamentaux PHP Les frameworks JS angularJS : backboneJS : ember.js : knockout : extjs : Faites vous votre avis et testez les.

26 Jour 2 – Un framework CSS Fondamentaux PHP Bootstrap Mettre en pratique Mettre en place une barre de navigation fixe Tester les exemples décrits dans la documentation

27 Jour 2 – utilisation de plugins existants Fondamentaux PHP La philosophie d’utilisation des plugins existants Réutiliser, c’est capitaliser Où trouver les plugins? Le nombre d’utilisateurs et de contributeurs est un bon indicateur quant à la qualité d’un plugin Le test d’un plugin a un coût très faible Quelques plugins jQuery Datatable : jQuery UI :

28 Jour 2 – utilisation de plugins existants Fondamentaux PHP Un exemple simple

29 Jour 2 – PHP Fondamentaux PHP PHP, l’historique La structure et les mots clés du langage Un focus sur les sessions Quelques éléments de POO Mots clés : Class, interface, abstract Accessibilité : public, protected, private

30 Jour 2 – PHP – les indispensables Fondamentaux PHP Les bases du langage sur php.net Les variables prédéfinies Les constantes prédéfinies var_dump($maVariable) Indispensable pour connaître le contenu et le type d’une variable : Gestion des erreurs Focus sur Savoir se situer __FILE__ $_SERVER[‘DOCUMENT_ROOT’] La gestion des dates Les fonctions date(), time(), mktime() Mais surtout : et Des fonctions bien utiles Récupérer la liste des fichiers incluent : Les fonctions pour les classes/objets La gestion des exceptions Des erreurs de mémoire Problème de mémoire allouée pour l’exécution de votre script. Pour contourner, ini_set(‘memory_limit’,’1G’); Ce qu’il faut retenir pour gagner du temps

31 Jour 2 – PHP – les indispensables Fondamentaux PHP Les normes de développement Ne pas utiliser les mots réservés Comme pour mysql, l’utilisation de mot réservés est interdit autant dans le nom de variable que pour les noms de méthodes. Les Normes PSR Pour faciliter la mise en place de projet PHP, une norme à été mise en place par le “PHP Framework Interoperability Group”. Découpé en niveau de 0 à 4. Cela permet un apprentissage rapide, utilisé conjointement avec un codeSniffer et permet de gagner en lisibilité et en qualité. Les niveaux les plus utilisés sont 0, 1 et 2. Les suivants sont des réponses précises à des cas d’utilisations précis

32 Jour 2 – Exercice pratique n°2 Fondamentaux PHP Continuer le projet

33 Objectifs du jour 3  Décrouvrir la POO et la mise en œuvre en PHP Jour 3 Fondamentaux PHP Présentation des bases de la POO Héritage, interface, classe abstraite, héritage multiple Mise en œuvre de la POO en PHP Scope et portée Syntaxe objet en PHP Exercice pratique Création d’un singleton Exercice pratique Redéfinir les types primitifs en PHP Programme

34 Jour 3 – Les bases de la POO Fondamentaux PHP Une classe En programmation orientée objet, une classe déclare des propriétés communes à un ensemble d'objets. La classe déclare des attributs représentant l'état des objets et des méthodes représentant leur comportement. Une classe représente donc une catégorie d'objets. Elle apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets. (c'est en quelque sorte une « boîte à outils » qui permet de fabriquer un objet). On parle alors d'un objet en tant qu'instance d'une classe (création d'un objet ayant les propriétés de la classe). En PHP

35 Jour 3 – Les bases de la POO Fondamentaux PHP Une interface C’est une classe ne possédant que des méthodes abstraites. Cela correspond à une structure qui devra être implémentée par toutes les classes qui l’implémenteront. En PHP

36 Jour 3 – Les bases de la POO Fondamentaux PHP Une classe abstraite Les classes possédant au moins une méthode abstraite sont aussi dites classes abstraites (ou virtuelles) et ne peuvent pas être instanciées directement — sauf en créant une sous-classe non abstraite En PHP

37 Jour 3 – Les bases de la POO Fondamentaux PHP L’héritage Il est possible de restreindre l'ensemble d'objets représenté par une classe A grâce à un mécanisme d'héritage. Dans ce cas, on crée une nouvelle classe B liée à la classe A et qui ajoute de nouvelles propriétés. Dans ce cas, différents termes sont utilisés : A est une généralisation de B et B est une spécialisation de A ; A est une super-classe de B et B est une sous-classe de A ; A est la classe mère de B et B est une classe fille de A. En PHP

38 Jour 3 – Design pattern Fondamentaux PHP Design pattern Un patron de conception est issu de l'expérience des concepteurs de logiciels. Il décrit sous forme de diagrammes un arrangement récurrent de rôles et d'actions joués par des modules d'un logiciel, et le nom du patron sert de vocabulaire commun entre le concepteur et le programmeur. D'une manière analogue à un patron de couture, le patron de conception décrit les grandes lignes d'une solution, qui peuvent ensuite être modifiées et adaptées en fonction des besoins. Les patrons de conception décrivent des procédés de conception généraux et permettent en conséquence de capitaliser l'expérience appliquée à la conception de logiciel. Ils ont une influence sur l'architecture logicielle d'un système informatique.

39 Jour 3 – Un design pattern simple Fondamentaux PHP Singleton le singleton est un patron de conception (design pattern) dont l'objet est de restreindre l'instanciation d'une classe à un seul objet (ou bien à quelques objets seulement). Il est utilisé lorsque l'on a besoin d'exactement un objet pour coordonner des opérations dans un système. Le modèle est parfois utilisé pour son efficacité, lorsque le système est plus rapide ou occupe moins de mémoire avec peu d'objets qu'avec beaucoup d'objets similaires.patron de conception

40 Jour 3 – Les bases de la POO Fondamentaux PHP Focus sur PDO L'extension PHP Data Objects (PDO) définit une excellente interface pour accéder à une base de données depuis PHP. Chaque pilote de base de données implémenté dans l'interface PDO peut utiliser des fonctionnalités spécifiques de chacune des bases de données en utilisant des extensions de fonctions. Notez que vous ne pouvez exécuter aucune fonction de base de données en utilisant l'extension PDO par elle-même ; vous devez utiliser un driver PDO spécifique à la base de données pour accéder au serveur de base de données. PDO fournit une interface d'abstraction à l'accès de données, ce qui signifie que vous utilisez les mêmes fonctions pour exécuter des requêtes ou récupérer les données quelque soit la base de données utilisée. PDO ne fournit pas une abstraction de base de données : il ne réécrit pas le SQL, n'émule pas des fonctionnalités manquantes. Vous devriez utiliser une interface d'abstraction complète si vous avez besoin de cela. <?php $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); ?>

41 Les enjeux de l’estimation Estimation de projet Définir les travaux à réaliser Déterminer comment réaliser la tache Déterminer la complexité de la tâche Partager la compréhension de la tâche Ré estimer pour affiner ou réagir à des évènements Déterminer le dimensionnement de l’équipe Lotir le projet

42 Le principe d’estimation Estimation de projet Définir la backlog des charges de réalisation Sur la base du cahier des charges. Découper logiquement le projet et définir les charges de développement Déterminer les charges annexes Tout ce qui n’est pas de la charge de développement Exemple : L’initialisation, La conception, les tests, le pilotage, … Déterminer le « poids » de chacune par rapport à la charge de réalisation Coéfficienter par rapport à la charge de développement est « logique » pour les tests ou le pilotage. Pas logique pour la rédaction d’un plan Qualité par ex. La forme et la granularité permettent de partager avec d’autres équipes La meilleure estimation est celle que l’on aura partagée