À qui s'adresse cette formation?
Elle se destine en premier lieu aux professionnels du développement d'applications web désirant consolider leurs bases en PHP et approfondir, voire découvrir, des aspects complémentaires. Elle est également d'un grand intérêt pour tous ceux qui désirent mettre en place des applications accessibles à partir de plates-formes hétérogènes sans installation d'applications spécifiques (intranet, extranet, internet).
Une expérience d'un langage comme C, C++, C#, Perl, Java ou Visual Basic est supposée acquise. Une expérience du niveau de la formation 519, "Développement Web avec PHP", est utile.
Présentation et installation de PHP
Présentation
- Historique
- Licence
- Comparaison avec d'autres langages
Installation et fonctionnement de PHP
- Installation à partir des sources
- Binaires pour GNU/Linux et Microsoft Windows
- Intégration aux serveurs Web Apache et IIS
- Solution LAMP
Introduction et rappels
Architecture d'une application Web
- Modèle client/serveur
- Protocole HTTP
- HTML et formulaires
- Bases du Web dynamique (formulaires, cookies, etc.)
Types de données et syntaxe de base
- Scalaires, tableaux, tableaux associatifs
- Instructions de base et contrôle de flux
- Fonctions et librairies
Programmation PHP modulaire
Structuration du code
- Fonctions et sous-routines
- Bibliothèques et utilisation d'objets
Structuration d'une application Web
- Séparation traitement/affichage
- Scripts auto-appelants
- Gestion des erreurs de saisie et redirection
Traitement de données textuelles
Gestion de fichiers
- Accès à des fichiers côté serveur
- Fichiers de configuration
- Accès à des ressources réseau
- Upload à partir de formulaires
Traitement des chaînes de caractères
- Formats de dates
- Traitement des chaînes de caractères
Expressions régulières
- Définition et intérêt
- Métacaractères
- Classes
- Spécificateurs
- Ancres
- Modificateurs
- Étiquetage
- Identification et remplacement de motifs
Accès à des bases de données
Bases de données relationnelles
- Langage SQL
- Connexion à un SGBDR
- Cas de SQLLite, MySQL et PostgreSQL
- Interrogation et récupération des résultats
Accès à un annuaire LDAP
- Structure d'un annuaire LDAP
- Association à un annuaire
- Interrogation et récupération des résultats
Présentation enrichie de documents
Modèles HTML
- Séparation du contenu et de la présentation
- Modèles HTML proposés par PEAR
- Smarty
Génération de documents PDF
- Bibliothèques PDFLib et FPDF
- Polices, images et mise en page
- Personnalisation des documents
Génération et traitement d'images
- Bibliothèques GD et JpGraph
- Dessins vectoriels
- Intégration et traitement d'images
- Construction de graphes
- Bibliothèque ImageMagick
Manipulation de données XML
Analyse et traitement de XML
- Définition et usages de XML
- Analyse d'un document XML
- SAX, DOM et SimpleXML
- Feuilles de styles XLST
Flux RSS
- Intégration dans une page PHP
- Génération d'un flux RSS
Sessions et authentification
Sessions
- Absence d'état du protocole HTTP
- Configuration de l'expiration
- Transmission et stockage des informations de session
Authentification des utilisateurs
- Stockage des identifiants et mots de passes
- Authentification par formulaire
- Authentification HTTP
Programmation orientée objet
Principes de la programmation objet
- Classes, méthodes et héritage
- Interfaces
Programmation objet en PHP
- PHP4 et PHP5
- Constructeurs
- Visibilité des membres
- Héritage
- Exceptions
- Sérialisation
Sécurité et optimisation
Sécurisation d'un site dynamique
- Valider des données
- HTTPS
- Prévention des injections SQL/HTML
Optimisation et mise au point
- Solutions de cache
- Techniques de mise au point