Architecture et programmation d'applications Web en PHP

ESIEE Paris : 1ère année d’école de management, dans le cadre d'un cours sur l’architecture et la programmation du web dynamique, avec une introduction au langage PHP. Ce cours a été initialement développé par Alain Lacombe pour la première année de la filière Système d’Information.

Considérée comme la seconde vague dans le développement du web, le web dynamique (ayant amené le web 2.0) a permis de :

  • reconsidérer la place des contenus, devenus plus flexibles, riches et interactifs
  • rapprocher contenus et interfaces des utilisateurs en offrant plus de personnalisation entre autres par le biais d’un contexte d’utilisation pouvant varier

Ce mouvement s’est appuyé sur des communautés fortes souvent open source. Elles ont donné lieu à des aventures réussies telles que par exemple : le langage Php, le serveur http Apache, ou encore le système de gestion de base de données MySQL.

Dans le cadre de ce cours nous aborderons les points suivants :

  • Architecture générale des applications Web
  • Echanges entre client et serveur
  • Structure générale du langage HTML et formulaire
  • Bases du langage PHP
  • Cookies, variables et sessions
  • Accès aux bases de données

 

Retrouver ci-dessous une présentation rapide des séances ainsi que les contenus et supports utilisés (nécessite un login). Vous pouvez également accéder à une présentation des projets de développement de sites web dynamiques réalisés par groupe ainsi qu'au classement de ceux-ci.

01 - Introduction et architecture générale des applications Web

  • Architecture générale des applications Web
    • Statique
    • Dynamique
    • Fonctions des processeurs dynamiques
    • Chargement des pages HTML
  • Echanges Client et Serveur
    • URL et syntaxe
    • Protocole http
    • Méthodes (lignes d’introduction d’un message http)
  • Présentation de l’environnement d’un serveur Apache

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

02 - Structure générale du HTML

Généralités sur le HTML

  • Caractéristiques générales
  • Comparaison HTML/XML
  • Les variantes du DTD HTML

Structure du HTML

  • Notion de flux
  • HTML Hiérarchies des éléments
  • Ossature d’une page HTML
  • Les différents types d’éléments
  • Balises HTML

Passer de HTML à XHTML

Eléments HTML

  • Balises propres au texte
  • Les listes
  • Les images
  • Les tableaux
  • Les liens hypertextes
  • Les liens mail
  • Les éléments d’en-tête
  • Metadata et référencement

Les formulaires HTML

  • Rôle
  • Structure
  • Exemples

HTML 5

  • Vers la 5ème version du langage HTML

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

03 - Présentation du PHP et bases du langage

Qu’est-ce que le Php ?

  • Généralités
  • Historique
  • Architecture
  • PHP en France et dans le monde

Structures de base

  • PHP et HTML : balises d’ouverture et de fermeture, commentaires…
  • Les variables
  • Les constantes
  • Types de données

Traitements de base

  • Opérateurs arithmétiques
  • Opérateurs d’incrémentation et concaténation
  • Opérateurs logiques
  • Structure de contrôle (conditions et boucles)
  • Fonctions

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

04 – Web dynamique, cookies et sessions

Personnaliser et sécuriser le contenu :

Web dynamique, cookies et sessions

  • Objectifs ?
  • Utilisation des sessions et cookies

Les cookies

  • Présentation
  • Ecriture d’un cookie
  • Validité et date d’expiration
  • Exemples
  • Lecture

Les sessions

  • Généralités
  • Création
  • Lecture et écriture
  • Durée de vie d’une session

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

05 – PHP et les bases de données : l’API PEAR DB

Assurer la persistance des informations : PHP et les bases de données

PHP et les bases de données

  • Généralités
  • Présentation de l’API PEAR BD

PEAR BD : opérations de base

  • Connexion aux bases de données
  • Création d’une table
  • Insertion, mise à jour et suppression de données
  • Sélection de données

PEAR DB : traitements des données

  • La gestion des erreurs
  • Récupération et affichage des résultats
  • Compter le nombre de lignes
  • Alternative pour récupérer et afficher les résultats
  • Récupérer une seule ligne et/ou colonne

PEAR DB : fonctions complémentaires

  • Changement de mode
  • Mode tableau associatif
  • Mode « objet »
  • Déconnexion de la base de données

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

06 – Environnement de développement

Objectif : déployer localement un environnement de développement comprenant Apache, Php et MySQL. Vous vous appuierez sur les contenus des séances précédentes, et plus particulièrement la séance sur l’architecture générale des applications Web, ainsi que sur le guide téléchargeable plus bas.

Cette environnement recevra vos travaux et les différents développements que vous allez effectuer dans le cadre des projets. Pensez à déposer vos scripts et vos données sur le serveur dans le dossier et dans la base de données de votre groupe où de la séance. Cela présente deux avantages :

  • Sauvegarder vos informations (scripts et données)
  • Effectuer un test, en situation, sur un serveur distant

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

07 – Modèle vue contrôleur, puis introduction au CSS

Présentation rapide du modèle vue contrôleur, puis introduction au CSS.

Présentation rapide du MVC

  • Définition du MVC
  • Intérêts pour le web dynamique
  • Exemple

Introduction au CSS

  • Présentation du CSS
  • Notion de héritage
  • Classes et Id
  • Balises DIV et SPAN
  • Margin et padding
  • Structure d’une page CSS

Veuillez vous identifier, ou vous inscrire, pour lire la suite...

08 – Projet de développement d’une application web dynamique

Cette page a pour objectif de vous guider dans la conception et le développement d’une application Web dynamique. En vous appuyant sur les supports de cours, votre infrastructure Xampp ou celle déployée sur le serveur, vous devrez (par groupe de 4 à 5 personnes) concevoir et programmer une application dynamique originale, respectant certaines contraintes (présentées en partie 2), que vous êtes libres de décliner en vous appuyant sur les propositions d’application (partie 1).

Veuillez vous identifier, ou vous inscrire, pour lire la suite...