» Introduction
Optimisation des développements par utilisation de briques logicielles.
Développement et réutilisabilité : stratégies et enjeux.
» Programmation Orientée Objet (POO)
■ Classes, propriétés, méthodes
Visibilité et protection.
■ Constructeur, destructeur
Appel implicite vs explicite.
■ Héritage et agrégation
Règles de propagation.
Polymorphisme.
■ Introduction aux concepts avancés de POO
Classe abstraite.
Interface.
Design Pattern.
■ PEAR
Utilisation de composants utilitaires.
■ PHPLib
Structure, conventions et paramètres.
Principales librairies.
Travaux pratiques
Réalisation d'une classe Formulaire. Mise en œuvre de plusieurs librairies Open Source pour la réalisation d'un mini-site.
» Gestion des erreurs
Gestion des exceptions avec PHP5.
Création d'un gestionnaire d'erreurs.
Bufferisation et fichiers log.
Travaux pratiques
Réalisation d'une classe d'exception personnalisée. Implémentation d'un affichage bufférisé et d'un fichier log dans la classe.
» Authentification LDAP
Introduction.
OpenLdap.
Configuration et démarrage (fichiers conf et ldif).
Lecture. Connexion anonyme. Interrogation et récupération de données.
Ecriture. Connexion administrateur. Formatage des données et insertion.
Travaux pratiques
Implémentation d'une classe d'authentification.
» Bases de données : manipulations avancées
■ Aspects avancés
Bases multitables et jointure : avantages et limites de la théorie.
Intégrité transactionnelle : assurer la cohérence des données dans un environnement internet.
Procédures stockées : réutilisation de l'existant lors de migrations technologiques.
Champs multidimensionnels.
Sécurité : formatage des entrées et requêtes paramétrées.
PDO (PHP Data Object/API abstraite d'accès aux bases de données).
ODBC : outil passe-partout win32.
Travaux pratiques
Oracle : commit/rolback et pointeurs abstraits pour procédure stockées. MySQL : conversion multitables et adaptation des requêtes DML. Postgres : utilisation de champs multidimensionnels et XML.
» XML/DOM/XSLT
XML. Format et validation.
DOM et XPath. Création, analyse.
Transformateurs XSL. Utilisation de XSLT.
Clients riches : SWF et Ajax. Principe et enjeux.
Travaux pratiques
Création d'états multipaginés en Ajax.
» Web Services et SOAP
Introduction.
Annuaires de services et accessibilité.
WSDL et SOAP.
Créer un Web Service et son fichier de description.
Utiliser un Web Service.
Travaux pratiques
Utilisation d'un Web Service.
» PDF pour AcrobatReader
Opérations de base. Texte et mise en page.
Opérations avancées. Images et tracés vectoriels.
Travaux pratiques
Implémentation d'une classe PDF pour la génération automatisée d'une facture.
» E-mail
MIME : pièces jointes et format HTML.
Les formats Mixed, Multipart, Alternative/Related.
Les encodages particuliers.
Paramétrage d'un serveur de test.
Travaux pratiques
Réalisation d'une fonction classe xMail pour l'envoi de mails au format mime. Utilisation de la classe créée pour l'envoi d'une facture PDF en pièce jointe.