Framework php

Formation PHP - MySQL



S'inscrire Obtenir un devis

Durée :


05 Jours

Objectifs :


Savoir développer avec PHP des sites et applications Web, notamment utilisant des bases de données MySQL - Comprendre les différentes méthodes de gestion du contexte et mettre en oeuvre les sessions et les cookies - Savoir manipuler des fichiers quelconques en PHP

Public :


Tous

Pré-requis :


Connaissances de HTML

Programme :


Partie 1 : Tour d’horizon PHP


Principes de fonctionnement
Le contexte Web
Les variables
Les types de données en un clin d’œil
Les opérateurs
Les instructions conditionnelles
Un type particulier : les tableaux
Les boucles, parcourir les tableaux
Trier les tableaux par ordre alphabétique
Introduction aux superglobales
Récupération de données de formulaire
Envoyer un e-mail
Les constantes
Etude de cas : système de candidature en ligne

Partie 2 : Organiser des scripts PHP - les fonctions


Déclaration de fonctions
Les paramètres et l’instruction return
Création de bibliothèques de fonctions
Fonctions prédéfinies : exemples, organisation, documentation
Fonctions pour les tableaux, mathématiques, chaînes de caractères, dates
Autres exemples de fonctions
Comment identifier les types des variables ?
Upload de fichiers : la variable $_FILES et les fonctions associées
Etude de cas : amélioration du système de candidature en ligne

Partie 3 : Découvrir les méthodes de gestion du contexte applicatif


Principes de l'interaction avec l'utilisateur
Rappels des formulaires
Les champs cachés
Les URL longues
Introduction aux sessions
Sécuriser l’accès à l’administration des candidatures avec les sessions
Présentation des cookies
Afficher la date de dernier accès à la plate-forme d’administration des candidatures

Partie 4 : Les bases de données


Utilité des bases de données
Présentation de PHPMyAdmin
Construction d’une base avec PHPMyAdmin
SQL sous PHPMyAdmin :
- Les principales instructions
- Lecture de code SQL
- Génération de multiples requêtes
- Les bonnes habitudes : tester ses requêtes avec PHPMyAdmin
Fonctions d’accès aux bases de données
Formulation de requêtes dans un fichier PHP

Partie 5 : Pour aller plus loin avec PHP : création d'un CMS* (partie 1)


Spécifications et organisation du développement
Création des bibliothèques de génération de code HTML (sans connexion aux bases)
Génération de pages à partir des bibliothèques
Création de la base de données
Fonction d'insertion de pages et de stockages dans la base MySQL
Fonction de modification de pages
Fonction de suppression de pages
Modification des bibliothèques de génération de code HTML pour les coupler à la base

Partie 6 : Manipulation de fichiers


Ouvrir un fichier
Fermer un fichier
Lire le contenu d’un fichier
Lire le contenu d’un fichier par ligne
Ecrire dans un fichier

Partie 7 : Pour aller plus loin avec PHP : création d'un CMS* (partie 2)


Modification de la création de pages pour associer un fichier généré à la volée
Création d’une base d’auteurs
Introduction à la relation de table dans MySQL 5
Développement de la fonction d’ajout d’auteur
Modification de la création de pages pour associer un auteur
Fonctions d’affichage de pages créées par un auteur
Authentification des auteurs sur l’administration
Stockage de l’authentification dans des variables de session

Partie 8 : Lier les cookies aux bases : création d’un panier d’achat


Conception du site et des bases de données
Introduction à la manipulation d'image : redimensionner dynamiquement une image
Organisation de l'interface de consultation du catalogue par thèmes
Enregistrement du panier d'achat sur un cookie
Moteur de recherche classique et thématique et pagination des résultats (en fonction du temps restant)

Partie 9 : Conclusion et bilan


Formation PHP 5 Avancé : Programmation Orientée Objet,
PDO + AJAX/JQuery


S'inscrire Obtenir un devis

Durée :


05 Jours

Objectifs :


Maîtriser les fondamentaux de la programmation orientée objet en PHP - Savoir faire de l'AJAX avec PHP et éventuellement JQuery

Public :


Tous

Pré-requis :


Bonnes connaissances de PHP

Programme :


Partie 1 : Introduction


Rappels de PHP
Du procédural à l'objet
L'objet et PHP : présentation
Historique et comparaison
Cas d'utilisation

Partie 2 : La programmation orientée objet avec PHP


Déclaration
Instanciation
Attributs
Méthodes, constructeurs, destructeurs
Héritage : présentation et possibilité de réutilisation
Formes d'agrégation
Relations avancées entre objets
Atelier pratique 1 : déclarer des classes de clients, fournisseurs, marchandises, leur relations et interactions
Atelier pratique 2 : autres interactions

Partie 3 : Erreurs et Exceptions


Erreurs en PHP
Erreurs en PHP- Description d'une erreur
Erreurs en PHP- niveaux d'erreurs
Erreurs en PHP- Journalisation des erreurs(log)
Erreurs en PHP- Personnaliser le gestionnaire d'erreurs
Les exceptions:
Les exceptions- description d'une exception
Les exceptions- Lancement d'une exception
Les exceptions- Réception d'une exception
Conclusion: politiques de gestion d'erreurs

Partie 4 : PHP Data Objects ( PDO )


Structure des classes de PDO
Connexion au serveur de données
Effectuer des requêtes
Gestion des transactions
Les requêtes préparées
Gestion des erreurs
Atelier pratique: Ajout, modification et suppression de données via PDO

Partie 5 : AJAX


Rappel DOM
L'objet XMLHttpRequest
Propriétés et méthodes
Codes de retour des serveurs HTTP
Communication synchrone et asynchrone
Envoi de requêtes
Récuperer et traiter du texte
Récuperer et traiter du XML
Gestion des erreurs
Ajax et format XML
Ajax et format JSON
Fonction javascript eval
Atelier pratique: Réaliser un outil d'autocomplétion en AJAX-PHP

Partie 6 : Jquery


Introduction à Jquery
Atelier pratique: Ajax avec Jquery

PHP 5/6 Expert: Programmation Objet,XML,Webservices,PHP Unit, Cryptographie


S'inscrire Obtenir un devis

Durée :


05 Jours

Objectifs :


Maîtriser PHP 5.0, et le développement d'applications Objet en PHP - Comprendre l'utilité d'XML et ses enjeux - Savoir utiliser les Webservices - Connaitre la création de PDF en PHP

Public :


Tous

Pré-requis :


Bonne connaissance de PHP

Programme :


Partie 1 : PHP Expert


Rappels rapides de PHP
Gestion du contexte applicatif
Superglobales
PHP 5, 5.2, 5.3, 5.4, 6 : présentation des nouveautés et évolutions

Partie 2 : Programmation Orientée Objet


Principes et évolution de l'Objet dans PHP
Déclaration d'objets
Constructeur et destructeur
Portée des classes, des méthodes et des propriétés
Copie et référence, les problèmes de PHP 4
Accès statiques et le principe de services
Notion d'héritage et limite
Classes abstraites, interfaces et typage fort
Surcharges
Itérateurs
Atelier pratique : interactions entre classes, gestion de la cardinalité

Partie 3 : Modélisation UML pour PHP


Présentation de la méthode UML
Spécification des besoins
Scénarios
Définition des classes
Définition de l'architecture
Passer du modèle à l'implémentation

Partie 4 : Design Patterns


Présentation et principe ; intéret des Design Patterns
Motifs de création
Motifs de structuration
Motifs de comportements
Design Patterns spécifiques au Web - présentation de MVC

Partie 5 : L' objet FPDF pour créer vos propres PDF en PHP


Utilisation
Ajout de pages
Insertion d'images
Utilisation de polices de caractères
Atelier pratique : générer les données de la base en PDF

Partie 6 : Les bases de données


Rappels : fonctions d’accès aux bases de données
Fonctions avancées, bibliothèques spécifiques, dont PDO
Exemple de base NoSQL : MongoDB
Construction d’une base avec PHPMyAdmin
Atelier pratique : création d'une librairie de classes pour les connexions à une base de données MySQL

Partie 7 : Nouvelles extensions SQLite, Tidy, SOAP


Présentation rapide de SQLite
Gestion des flux, fonctions d’emailing
Autres bibliothèques utiles avec PHP 5
Atelier pratique : réalisation d'une application client-serveur SOAP en PHP

Partie 8 : Cryptographie


Principes et Notions de la cryptographie
Librairie Mcrypt
Atelier pratique : Exemple d'utilisation de Mcrypt

Partie 9 : Introduction aux tests unitaires avec PHPUnit


PHPUnit
Installation
Utilitaire de ligne de commande
Écriture des tests
Exécution des tests
Atelier pratique : chaine de tests complète

Partie 10 : Webservices


Présentation des services web et d'une architecture SOA
Atelier pratique : réalisation d'une application client-serveur SOAP en PHP

Partie 11 : Etude de cas : Création d'un CMS


Principe de fonctionnement d'un CMS
Présentation de CMS PHP : Joomla, Drupal
Spécification de l'application
Modèles de données et de traitements
Création d'un moteur de templates
Conclusion et bilan

Partie 12 : Déploiement d'applications PHP 5.0


Sécurité des scripts PHP : éviter les failles
Gestion des erreurs et des exceptions PHP
Tester et déboguer son application

Partie 13 : Zend Framework


Introduction à Zend Framework
Atelier pratique : utiliser Zend framework comme bibliothèque

Formation Symfony



S'inscrire Obtenir un devis

Durée :


05 Jours

Objectifs :


Maîtriser les fondamentaux pour réaliser un projet Symfony

Public :


Tous

Pré-requis :


Fondamentaux PHP, HTML, CSS, SQL

Programme :


Partie 1 : Présentation


Rappels: bibliothèques et frameworks
Architecture HTTP centrée, orientée objet et patron MVC
Résumé des évolution entre Symfony 1 et Symfony 2
Pile technologique Symfony 2

Partie 2 : Configuration du serveur Web


Configuration du serveur
Présentation de la Web Debug Toolbar et du Profiler
Outils de développement

Partie 3 : Projet


Application, bundles et arborescence des fichiers
Les environnements d'exécution Symfony 2
Configuration: YAML, XML, PHP et Annotations
Présentation de la console
Création d'un nouveau projet Symfony
Lancer un projet
Atelier : Créer un premier projet Symfony

Partie 4 : Le contrôleur (Processus applicatif)


Contrôleurs et FrontController
Le système de routage
Communication entre les autres composants
Données contextuelles
Gestion des droits

Partie 5 : La vue (Rendu)


Communication entre vue et contrôleur
Génération d'url
Moteur de template Twig
Extension, inclusion et surcharge de templates

Partie 6 : Le modèle (Processus Métier)


Outils ORM, Doctrine2
Génération de la base
Classes entité
Gestion des relations et jointures
DQL et QueryBuilder
Présentation de Propel
Atelier : Préparer une base pour un projet Symfony

Partie 7 : Formulaire


Form et FormBuilder
Composants de saisie avancés
Validation des données
Formulaires avancés (formulaire multiples, theming, CSRF...)
Atelier : contrôler les données saisies dans un formulaire

Formation Zend Framework 1



S'inscrire Obtenir un devis

Durée :


05 Jours

Objectifs :


Connaître les possibilités et alternatives au Zend Framework - Etre capable de prévoir, mettre en oeuvre, maintenir une application utilisant le Zend Framework

Public :


Développeurs PHP expérimentés

Pré-requis :


Maîtrise de PHP, de la syntaxe à la programmation orientée objet

Programme :


Partie 1 : Introduction


Présentation, version
Principe d'un Framework
Installation, organisation générale
Mise en œuvre et utilisation par rapport aux autres Frameworks

Partie 2 : Composants de base


Zend_Loader
Zend_Config
Zend_Log
Zend_Debug
Zend_Registry
Zend_Exceptions
Atelier1: Exemples d'utilisation de ces composants
Atelier2: un exemple hors du framework : Barcode

Partie 3 : Application Zend Framework


Architecture MVC
Utilisation de Zend tool
Communication controlleurs et vues
Les options et le Bootstrap
Atelier: création d'une application zend Framework

Partie 4 : Couche de présentation


Zend_view, Zend_Layout
Vues partielles
Utilisation de la navigation, fabrication de menus
Atelier : création de multiples pages

Partie 5 : Les Formulaires


Mise en place de formulaires (Zend_form et Zend_Form_Element_*)
Sécurité: Afficher et contrôler un Captcha, validateurs (Zend_Validate) et filtrage des données (Zend_Filter)
La sécurité
Atelier : mise en place d'un formulaire de candidature

Partie 6 : Base de donnée


L'accès aux données par Zend_DB_*
Utilisation de PDO
Base MySQL
CRUD de données
Atelier : Stocker, modifier et supprimer des données de la base à partir de l'interface.

Partie 7 : Internationalisation de l'application


Gestion des dates et des temps (Zend_Date)
Gestion de plusieurs langues (Zend_Translation)
Gestion et détection de l’environnement (Zend_Locale)

Partie 8 : Utilisation de bibliothèques javascript(Dojo, jquery) avec Zend


Rappel sur les formulaires
Vue et JavaScript avec Dojo
Mettre en place Jquery
Atelier : Amélioration du formulaire de candidature

Partie 9 : Fonctions avancées


Authentification, Session, Droit
Atelier pratique : mise en place d'une application complète
Requête Select Avancées
Création partie admin
Atelier : Création d'un Backoffice avec Zend Framework

Partie 10 : Bibliothèques additionnelles


Tour d'horizon des bibliothèques à disposition
La sécurité : authentification avec Auth, Openid
La sécurité : Afficher et contrôler un Captcha
Déclaration et utilisation de services web : REST et JSON
Services Web WS-* : DOM, SOAP
Atelier : création d'un ensemble de classes additionnelles

PHP 5, développement Web avec Symfony


S'inscrire Obtenir un devis

Durée :


05 Jours

Objectifs :


Vous apprendrez dans ce cours à développer des applications Web PHP 5 avec le framework Symfony 2. Vous verrez entre autres comment installer le Framework, créer des formulaires et des templates, organiser vos applications via une architecture MVC, manipuler des données persistantes et sécuriser les accès.

Public :


Développeurs PHP et chefs de projets.

Pré-requis :


Bonnes connaissances de PHP. Connaissances de base de la Programmation Orientée Objet.

Programme :


Partie 1 : Du PHP ? à plat ? à la structure MVC


Comprendre la séparation en couches.
Mettre la logique métier dans des classes.
Utiliser la syntaxe PHP alternative pour les templates.
Découper un projet en niveaux application, module, action.
L'arborescence des fichiers d'un projet Symfony.
Lier des pages entre elles.
Comprendre la théorie du design pattern MVC.

Partie 2 : Le Templating avec Symfony


Utiliser un helper et un helper group.
Construire un formulaire avec des helpers.
Concevoir des templates modulaires.
Utiliser le view.yml pour modifier la vue.

Partie 3 : L'environnement de travail Symfony


Utiliser plusieurs environnements de développement.
Comprendre le déroulement d'une requête avec la web debug toolbar.
analyser les requêtes avec les fichiers de log.
Apprendre la syntaxe YAML.
Comprendre le cache de la configuration et symfony cc.
Explorer les fichiers de configuration.
Utiliser la ligne de commande Symfony.
Déboguer une application Symfony.

Partie 4 : Le routing et le protocole HTTP


Comprendre ce qu'est une URL. Le get et le post.
Utiliser Apache et le rewriting d'URL.
Utiliser un helper pour formater les requêtes sortantes.
Comprendre le front controller.
Comprendre le routing bidirectionnel.
Distinguer un redirect et un forward.
Ajouter une extension à une page.
Utiliser le routing pour gérer une arborescence de navigation.

Partie 5 : L'abstraction Objet-Relationnel


Manipuler des objets métier.
Se protéger des injections SQL.
Abstraire le SQL pour pouvoir changer de base de données.
Ecrire un schéma relationnel pour Doctrine.
Connecter une application à une base de données.
Générer un modèle objet.
Utiliser les classes générées par Doctrine.
Utiliser l'objet Doctrine_Query pour requêter la base de données.
Traduire une requête SQL en requête objet.

Partie 6 : L'installation du framework


Installer Symfony depuis une sandbox, PEAR, SVN.
Initialiser un projet, un module, un suivi de version.
Configurer un serveur web.
Mettre à jour Symfony.
Installer Symfony sur un serveur de production. Synchroniser deux installations.

Partie 7 : L'admin generator


Générer ou initier un module.
Initier une administration.
Explorer le code généré.
Utiliser le generator.yml pour modifier le code généré.
Modifier la vue liste et la vue edit.
Personnaliser des templates. Utiliser des thèmes.
Comprendre les templates de templates.

Partie 8 : Les tests


Valider un élément de code avec un test unitaire.
Utiliser lime et la ligne de commande symfony test:unit, test:functional et test:all.
Valider une fonctionnalité avec un test fonctionnel.
Utiliser l'objet sfTestBrowser pour simuler une navigation entre des pages.
Vérifier un élément de page avec le Dom CSS Selector.
Automatiser les tests.

Partie 9 : Le cache


Mettre en cache le résultat de requête, une page avec ou sans layout, un composant de la vue.
Explorer l'arborescence des fichiers cachés.

Partie 10 : L'internationalisation et la localisation


Identifier les textes de l'interface à traduire (__()).
Traduire une interface avec un dictionnaire XLIFF.
Formater automatiquement une date, un nombre, un montant. Stocker des informations différentes selon la localisation.