1. Livres et vidéos
  2. HTML5 et PHP 5 - Développez des applications web performantes - Exploitez les dernières nouveautés des langages - Version en ligne

HTML5 et PHP 5 - Développez des applications web performantes Exploitez les dernières nouveautés des langages - Version en ligne

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre s'adresse à un public de développeurs souhaitant mettre à niveau et approfondir leurs connaissances sur HTML et PHP et tirer le meilleur parti des dernières nouveautés de ces langages pour réaliser des applications web solides et performantes.

Ces deux piliers du web ont connu de grandes évolutions ces dernières années : HTML se fait l'acteur d'une nouvelle génération d'applications web et mobiles, PHP s'est professionnalisé en intégrant notamment un modèle objet complet ; il est à présent le langage utilisé par l'immense majorité des gestionnaires de contenu (CMS) et des frameworks.

Vous découvrirez au fil des chapitres :

  • Les nouvelles possibilités offertes par HTML5 : comment intégrer facilement des éléments multimédia (vidéos, sons, images…), faire un pas en avant dans le web sémantique, comprendre les enjeux de l'accessibilité du web, construire des formulaires efficaces et user friendly, connaître la puissance des nouvelles API Javascript qu'offre HTML5.
  • Comment aller plus loin dans PHP : vous apprendrez à professionnaliser votre code avec un tour d'horizon des évolutions du langage depuis PHP4, notamment en exploitant le modèle objet, en utilisant des Design Patterns reconnus et en adoptant les bonnes pratiques pour de meilleurs développements.
  • Comment s'opèrent les échanges entre un serveur et un navigateur et leurs nouveaux modes d'échange : requêtes AJAX, communication par WebSockets, Server-Sent Events, comment se passer du serveur avec les applications déconnectées.
  • Et, en fin de lecture, toutes les clés et les apports méthodologiques essentiels pour construire une application fiable selon la méthode MVC, pour prendre en main la gestion des erreurs et pour vous prémunir des attaques afin de sécuriser vos développements.
  • Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Présentation - Les apports d'HTML5 - Le langage PHP avancé - Du serveur au navigateur : interactions - Concevoir un site web HTML5/PHP

Table des matières

  • Avant-propos
    • 1. HTML5
    • 2. PHP5
    • 3. Démarche de cet ouvrage
    • 4. Pré-requis
    • 5. Compatibilité des navigateurs
  • Les apports d'HTML5
    • 1. Introduction
    • 2. Améliorer la structure de son contenu
      • 2.1 Éléments structurant une page
        • 2.1.1 Menu de navigation : l'élément <nav>
        • 2.1.2 En-tête de page : l'élément <header>
        • 2.1.3 Pied de page : l'élément <footer>
        • 2.1.4 Contenu de la page : l'élément <main>
        • 2.1.5 Structure globale d'une page
      • 2.2 Éléments structurant le contenu
        • 2.2.1 Élément <aside>
        • 2.2.2 Élément <article>
        • 2.2.3 Élément <section>
        • 2.2.4 Éléments <details> et <summary>
    • 3. Intégrer une dimension sémantique à son site web
      • 3.1 Introduction au web sémantique
      • 3.2 Apporter une signification temporelle : l'élément <time>
      • 3.3 Microdonnées
        • 3.3.1 Écriture d'une microdonnée
        • 3.3.2 Héritage de microdonnées
        • 3.3.3 Types de données
        • 3.3.4 Exemple de microdonnée
        • 3.3.5 Microdata DOM API
      • 3.4 Microformats
        • 3.4.1 Apporter une signification géographique : la classe geo
        • 3.4.2 Apporter une signification évènementielle : la classe vevent
        • 3.4.3 Donner un sens personnel : la classe vCard
        • 3.4.4 Exemples d'autres microformats simples
        • 3.4.5 Exemples d'autres microformats composés
      • 3.5 Microformats ou microdonnées ?
      • 3.6 Librairies PHP
    • 4. Intégrer facilement des ressources multimédias
      • 4.1 Codecs supportés
      • 4.2 Balise <audio>
      • 4.3 Balise <video>
      • 4.4 Intégration des sous-titres grâce à la balise <track>
      • 4.5 Intégration des ressources streamées
      • 4.6 Capture du son et de l'image de l'utilisateur grâce à la fonction getUserMedia
      • 4.7 Dessins avec l'API Canvas
        • 4.7.1 Dessin de formes : les chemins
        • 4.7.2 Écriture de texte
        • 4.7.3 Méthodes de transformation
      • 4.8 Dessins avec l'API SVG
        • 4.8.1 Intégration d’une image SVG
        • 4.8.2 Dessin de formes géométriques de base
        • 4.8.3 Dessin d’un chemin : balise <path>
        • 4.8.4 Commandes de transformation
        • 4.8.5 Éditeurs d'images SVG
        • 4.8.6 Choisir entre Canvas et SVG
    • 5. Rendre son site web plus accessible
      • 5.1 Introduction à l'accessibilité
      • 5.2 WAI-ARIA
        • 5.2.1 Définition de la nature d'un élément
        • 5.2.2 Définition de l'état et des propriétés d'un élément
        • 5.2.3 Zones de mise à jour : l'attribut aria-live
    • 6. Rendre ses formulaires plus efficients
      • 6.1 Nouveaux champs de formulaire
        • 6.1.1 Champ meter
        • 6.1.2 Champ progress
        • 6.1.3 Champ datalist
        • 6.1.4 Champ output
      • 6.2 Nouveaux types d'input
        • 6.2.1 Type date
        • 6.2.2 Type time
        • 6.2.3 Types datetime et datetime-local
        • 6.2.4 Types week et month
        • 6.2.5 Type range
        • 6.2.6 Type number
        • 6.2.7 Type tel
        • 6.2.8 Type email
        • 6.2.9 Type url
        • 6.2.10 Type color
      • 6.3 Aide à la saisie
        • 6.3.1 Attribut placeholder
        • 6.3.2 Attribut autocomplete
        • 6.3.3 Attribut autofocus
      • 6.4 Contrôle des données
        • 6.4.1 Attribut required
        • 6.4.2 Attribut pattern
        • 6.4.3 Attributs min et max
        • 6.4.4 Attribut novalidate
        • 6.4.5 Attribut formnovalidate
      • 6.5 API de contrainte de validation
        • 6.5.1 Méthodes de l'API de contrainte de validation
        • 6.5.2 Attributs de l'API de contrainte de validation
      • 6.6 Personnalisation de la présentation de ses formulaires
      • 6.7 Attributs d'aide à la saisie
        • 6.7.1 Correction automatique : l'attribut spellcheck
        • 6.7.2 Rendre éditable une zone de texte : l'attribut contenteditable
      • 6.8 Exemple
    • 7. Améliorer les interactions avec le navigateur
      • 7.1 Géolocalisation
        • 7.1.1 Détermination de la position de l'utilisateur
        • 7.1.2 Suivi de l'utilisateur
      • 7.2 Stockage des données en local (local storage)
      • 7.3 Affichage d’un élément en mode plein écran : l'API fullscreen
      • 7.4 Autres API
    • 8. Éléments obsolètes en HTML5
      • 8.1 Balises obsolètes
      • 8.2 Attributs obsolètes
  • Le langage PHP avancé
    • 1. Présentation : les nouvelles fonctionnalités apportées depuis PHP 5.4
    • 2. Programmation orientée objet en PHP5
      • 2.1 Bases de la POO
        • 2.1.1 Définition et utilisation des objets
        • 2.1.2 Constantes de classe
        • 2.1.3 Accesseurs
        • 2.1.4 Hydratation d'objets
        • 2.1.5 Attributs et méthodes statiques
        • 2.1.6 Héritage
        • 2.1.7 Interfaces
      • 2.2 Limitation de la duplication de code en utilisant les traits
        • 2.2.1 Construction et utilisation d’un trait
        • 2.2.2 Utilisation d’un trait dans un trait
        • 2.2.3 Utilisation de plusieurs traits
        • 2.2.4 Priorités et conflits
      • 2.3 Inspection d’objets grâce à la réflexion de classe
      • 2.4 Isolation des objets dans des espaces de noms
        • 2.4.1 Déclaration
        • 2.4.2 Appel
      • 2.5 Pour aller plus loin en POO
        • 2.5.1 Parcours d’un objet
        • 2.5.2 Duplication d’un objet
        • 2.5.3 Comparaison des objets
        • 2.5.4 Sérialisation d’un objet
        • 2.5.5 Nom de classe variable
        • 2.5.6 Autochargement de classes
    • 3. Accès aux données et manipulation
      • 3.1 Accès et gestion de données MySQL : la classe PDO
        • 3.1.1 Connexion à une source de données
        • 3.1.2 Validation des transactions
        • 3.1.3 Construction et exécution de requêtes
        • 3.1.4 Gestion des résultats
        • 3.1.5 Gestion des erreurs
        • 3.1.6 Extension de la classe PDO
      • 3.2 Accès aux données externes en utilisant les services web (Webservices)
        • 3.2.1 Modèle REST
        • 3.2.2 Modèle SOAP
      • 3.3 Manipulation des chaînes grâce aux expressions régulières
        • 3.3.1 Bibliothèque PCRE
        • 3.3.2 Pattern
        • 3.3.3 Exemples de méthodes employant les expressions régulières
      • 3.4 Lecture et écriture des données au format JSON
      • 3.5 Gestion simple du contenu XML avec SimpleXML
        • 3.5.1 Lecture de données XML
        • 3.5.2 Objet SimpleXMLElement
        • 3.5.3 Pour aller plus loin
    • 4. Design patterns
      • 4.1 Design patterns incontournables
        • 4.1.1 Singleton
        • 4.1.2 Observer
        • 4.1.3 Iterator
        • 4.1.4 Factory
      • 4.2 D'autres design patterns
        • 4.2.1 Chaîne de responsabilité
        • 4.2.2 Proxy
    • 5. Bonnes pratiques en PHP
      • 5.1 Application de règles d'écriture définies
      • 5.2 Typage des paramètres (type hinting)
      • 5.3 Optimisation de son code
      • 5.4 Application de la méthode SOLID
        • 5.4.1 S : principe de responsabilité unique
        • 5.4.2 O : principe ouvert/fermé
        • 5.4.3 L : principe de substitution de Liskov
        • 5.4.4 I : principe de ségrégation des interfaces
        • 5.4.5 D : principe d'inversion de dépendance
  • Du serveur au navigateur : interactions
    • 1. Introduction : le flux de sortie
      • 1.1 Tampon de sortie utilisateur
      • 1.2 Tampon PHP (output buffering)
      • 1.3 Tampon SAPI
      • 1.4 Exemple concret
      • 1.5 Envoi implicite de données
    • 2. En-têtes HTTP
      • 2.1 Envoi d'un en-tête HTTP
      • 2.2 En-têtes courants
        • 2.2.1 Rediriger l'utilisateur : en-tête Location
        • 2.2.2 Préciser le type de contenu : en-tête Content-type
        • 2.2.3 Forcer le téléchargement d'un fichier : en-tête Content-Disposition
        • 2.2.4 Autres exemples
      • 2.3 Lecture des en-têtes
    • 3. Échanges asynchrones de données avec AJAX
      • 3.1 Objet XMLHttpRequest
      • 3.2 Déroulement d'une requête AJAX
      • 3.3 Requête AJAX avec jQuery
      • 3.4 Exemple : mise à jour de champs en direct avec contenteditable et AJAX
      • 3.5 Exemple de commande avec interrogation du stock en direct
    • 4. Échanges de données en temps réel avec WebSockets
      • 4.1 Implémentation du client
      • 4.2 Implémentation d'un serveur WebSocket en PHP
        • 4.2.1 Principe général
        • 4.2.2 Processus d'écoute et d'échange avec les clients
        • 4.2.3 Exemple : étude de la classe phpWebSocket
    • 5. API Server-Sent Events (SSE)
      • 5.1 SSE côté client
      • 5.2 SSE côté serveur
        • 5.2.1 En-tête de messages
        • 5.2.2 Format des messages
      • 5.3 Exemple simple
      • 5.4 Exemple : chat en SSE
    • 6. Mode déconnecté
      • 6.1 Principe de fonctionnement
      • 6.2 Fichier manifest
      • 6.3 Objet applicationCache
      • 6.4 Exemple d'application déconnectée
        • 6.4.1 Application
        • 6.4.2 Manifeste de l'application
        • 6.4.3 Mise en cache par le navigateur
  • Concevoir un site web HTML5/PHP
    • 1. Présentation : structurer son application web
    • 2. Adopter un schéma MVC
      • 2.1 Pourquoi mettre en œuvre le DP MVC ?
      • 2.2 Principes
      • 2.3 Premier exemple
      • 2.4 Modèle
        • 2.4.1 Active Record
        • 2.4.2 Couple DTO-DAO
        • 2.4.3 Abstraction des DTO et DAO
        • 2.4.4 ORM (Object-Relational Mapping)
      • 2.5 Vue
        • 2.5.1 Objet Vue
        • 2.5.2 Template
      • 2.6 Contrôleur
        • 2.6.1 Fonctionnement du contrôleur
        • 2.6.2 Dispatcher
        • 2.6.3 Écriture des URL
    • 3. Gérer les utilisateurs
      • 3.1 Stockage des utilisateurs
      • 3.2 Identification des utilisateurs
      • 3.3 Gestion des droits utilisateur
    • 4. Urbaniser la gestion des formulaires
      • 4.1 Construction du formulaire
      • 4.2 Validation des saisies utilisateur
      • 4.3 Routage au sein du contrôleur
      • 4.4 Conclusion
    • 5. Gérer les erreurs
      • 5.1 Afficher les erreurs
      • 5.2 Prendre soi-même en charge les erreurs
      • 5.3 Provoquer soi-même une erreur
      • 5.4 Gérer les exceptions
        • 5.4.1 Protection d’un bloc
        • 5.4.2 Classe Exception
        • 5.4.3 Lever une exception
        • 5.4.4 Personnalisation du gestionnaire d’exceptions
        • 5.4.5 Exception ou erreur ?
      • 5.5 Exemple d’un gestionnaire d’erreurs complet
    • 6. Assurer la sécurité d'une application
      • 6.1 Sécuriser ses formulaires
        • 6.1.1 Se méfier des données utilisateur
        • 6.1.2 Se méfier des robots
        • 6.1.3 Se prémunir des injections SQL
        • 6.1.4 Se prémunir des injections d’upload
        • 6.1.5 Se prémunir des attaques XSS
        • 6.1.6 Se prémunir des attaques CSRF
      • 6.2 Saler ses mots de passe
      • 6.3 Appliquer quelques règles de bon sens

Auteur

Yves GAUTHERONEn savoir plus

Caractéristiques

  • Niveau Confirmé à Expert
  • Parution octobre 2014
    • HTML
    • ISBN : 978-2-7460-0924-3
    • EAN : 9782746092433
    • Ref. ENI : LNEI5HT5PH

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (338 Ko)