Développement WEB: PHP, Symfony, HTML5, HTML, CSS, accessibilité...

Introduction

  • Evolution du langage script
  • Langage interprété et interpréteur
  • Python: différentes version & Installation

Langage Python

  • Types de bases et types dynamique
  • Syntaxe
  • Conditions, boucles, fonctions...
  • Structures de données
  • Itérateurs

Programmation orientée objet

  • Classe, objets
  • Méthodes & instances
  • Encapsulation
  • Héritage simple et multiple
  • Polymorphisme

Les modules

  • Les principes des modules Python
  • Re, Os, Csv, Sql...
  • Les modules système

Qualité du code

  • Documentation
  • Analyse statistique
  • Extraction automatique
  • Débogueur
  • Les tests

Interface Graphique

  • Principes
  • GTK
  • TKinter

Le langage PHP

  • Les possibilités de PHP
  • Les ressources (logiciels, bibliothèques, informations...)
  • Architecture et fonctionnement
  • Forces et les faiblesses de PHP
  • Perspectives

Installation de PHP

  • Installation de LAMP
  • Les différents mode d'installation

Les bases de PHP

  • Utilisation de PHP dans des fichiers HTML
  • Les variables et les opérateurs
  • Les structures de contrôle (if, while, switch case..)
  • Les fonctions PHP et les fonctions utilisateur
  • La gestion des fichiers

Les formulaires

  • Créer ses formulaires en HTML
  • Récupérer les données avec PHP
  • Mettre en place un upload de fichier
  • Mettre en place une politique de sécurité pour les formulaires

Authentification, sessions et cookies

  • Création / lecture / modification d'une variable de session
  • Création / lecture / modification d'un cookie
  • Utilisation et sécurité des sessions

Bases de données (MySQL)

  • Architecture et présentation d'un SGBD
  • Rappel des principales commandes SQL
  • Les caractéristiques de MySQL 5

Communiquer entre PHP et MySQL

  • Accéder à MySQL avec PHP
  • Gestion des erreurs MySQL

Techniques avancées

  • Génération et manipulation d'images
  • Création de graphiques (diagrammes, barres, camemberts...)
  • Génération de fichiers PDF
  • Les concepts de sécurité, les aspects à surveiller

Mettre en place un système de gestion de contenu (CMS)

  • Les concepts du CMS
  • Les CMS existants

Introduction

  • Ecosystème XML
  • Points forts de XML 
  • Les échanges de données

Parseurs XML

  • Les différents acteurs
  • Role
  • Accélérateurs et parseurs

Concevoir un document XML

  • Structure
  • Conception
  • Dialectes et espace de nommage

Créer et mettre à jour

  • Modèles de traitement
  • Communication avec des bases de donéees
  • Traiter l'information
  • Echange de données

Message et échange XML

  • Les serveurs d'applications
  • Service Web
  • Portail d'entreprise
  • Transfert et sérialisation de messages
  • Sécurité

Base de données

  • Stockage
  • Data Island
  • Xindice, Tamino
  • Langages d'interrogations

Bureautique et XML

  • RDF
  • ODF
  • Open XML
  • OpenDocument

Introduction

  • Rappel XML
  • Processeur XSL 
  • XSL via des navigateurs

Requetes

  • XPath
  • Modélisation 
  • Les noeuds
  • Les fonctions prédéfinies

XSLT

  • Template
  • Règles du XSL
  • Parcours 
  • Administration
  • Convertir en HTML
  • Types de données
  • Transformation générique
  • Variables
  • Les modes
  • XSL Key

Ecriture d'une feuille XSL

  • Séparation
  • Transformation
  • Design patterns

XSL-FO

  • Jumeler à XSLT
  • Les données
  • Modèles
  • Table de Matières
  • Contenu
  • Tableau
  • Formatage
  • XML: SVG

HTML

  • Définition
  • Historique
  • Outils
  • Principe des balises
  • Structure du document HTML
  • Indentation du code
  • Attributs de balises
  • Balises d'en-tête
  • Balises paragraphe
  • Balises sans fermeture
  • Flux HTML
  • Balises de formatage de texte
  • Balises spécifiques
  • Balises de commentaires
  • Balises de lien
  • Balises d'images
  • Balises de listes, tableaux et formulaires
  • Ressources

CSS

  • Définition
  • Historique
  • Outils
  • Où mettre le CSS dans le HTML ?
  • Principe de la syntaxe CSS
  • Classes et identifiants
  • Indentation du code
  • Propriété background
  • Propriété de texte et de police
  • Tableaux
  • Les tailles des blocs
  • Pseudo-classes
  • Les valeurs numériques en écriture condensée
  • Couleurs
  • Positionnement
  • Sélecteurs
  • Priorités et ordre de la « cascade »
  • Ressources

Présentation de SPIP

  • Parcours d'un site SPIP
  • Possibilités et limites d'un site SPIP
  • Parcours rapide de l'interface d'administration

Prise en main de l'interface d'administration

  • Parcours de l'interface
  • Présentation de chaque onglet
  • Création d'auteurs

Édition de contenus

  • Présentation d'une page rubrique
  • Présentation d'un article
  • Édition d'un article
  • Édition de texte
  • Mise en forme de texte (gras, italique, titre, etc.)
  • Les puces
  • Les tableaux
  • Les liens hypertexte

Édition de medias

  • Insertion d'images
  • Insertion de documents
  • Insertion d'images zoomables
  • Les différents types de documents
  • Les vignettes
  • Les logos

Mise en forme avancée

  • Alignement des images et documents dans un texte
  • Les sauts de lignes
  • Faire une photothèque
  • Les documents en bas de page

Fonctions supplémentaires

  • Les news
  • L'annuaire de site
  • Les forums
  • Les pétitions
  • Les mots clefs
  • L'édition de sites multilingues

Mise en place d'un site en local

  • Installation et configuration d'easyPHP, de SPIP

Les boucles

  • Théorie des boucles et des squelettes dans SPIP
  • Les boucles, critères et balises
  • Les boucles incluses
  • Affichage de contenus, d'une liste cliquable, triée, de la navigation
  • Finition de la page d'accueil complète

Création d'un squelette

  • Les inclusions
  • Traitement des images
  • Création d'une page rubrique et article
  • Le multilingue
  • Les pages recherche et plan du site

Mise en place d'un squelette

  • Mise en place d'un squelette
  • Mise en place de plusieurs squelettes sur un site
  • Mise en place d'un squelette pour une page

Modication du squelette

  • Retouches sur un squelette existant
  • Ajout de PHP
  • Mise en place d'un formulaire PHP

Apprentissage des CSS

  • Conception et fonctionnement des CSS
  • HTML
  • Apprentissage des balises, classes
  • La hiérarchie des styles
  • Le positionnement des blocs

Habillage en CSS du modèle

  • Parcours de la CSS du squelette, modification
  • Ajout de classes dans le squelette
  • Création d'un nouveau squelette par les CSS

Ergonomie et conception de l'habillage d'un site SPIP

  • Réflexions et organisation avant création d'un site SPIP
  • Habillage, navigation
  • Ergonomie et lisibilité

Objectif de la formation

Qu'est-ce que SPIP ?

Les fichiers qui composent SPIP

Le dossier /squelettes-dist

Le système de squelettes

Les boucles et les balises

Les boucles rubriques

Les balises de rubriques

Les boucles articles

Les balises d'articles

Les boucles documents

Les balises de documents

Les parties optionnelles dans les boucles

Les parties optionnelles dans les balises

Utilisation des mots clefs

Inclure des squelettes

Affecter des squelettes à des rubriques spécifiques

La notion de plugins/extensions

Le traitement automatisé des images

Références utiles

Définir son besoin

  • Objectifs d'un contenu de site
  • Comment trouver les mots clefs de chaque contenu
  • Trouver des sites web cibles/modèles
  • Analyser la sémantique de sites web cibles/modèles

Rédiger pour le média web

  • Contraintes du média web
  • Avantages du média web
  • Portée d'un contenu web (téléphones, impressions, aggregateurs RSS, TV...)

Rédiger efficacement

  • Choisir le bon lexique
  • Rédiger efficace
  • Utiliser la sémantique web
  • Rédiger ses titres
  • Rédiger ses descriptions
  • Les hyperliens
  • Les images

Rédiger pour améliorer le référencement

  • Définition du référencement
  • Fonctionnement du référencement
  • Le PageRank Google
  • Site compréhensible
  • Site de confiance
  • Site honnête
  • Site à jour

Rédiger accessible

  • Contenu perceptible
  • Contenu utilisable
  • Contenu compréhensible
  • Contenu robuste

Traiter les formulaires avec Symphony 2

  • Découverte du framework de gestion de formulaires
  • Créer et traiter des formulaires simples
  • Définir des règles de validation sur les données saisies par l'utilisateur
  • Prototyper le rendu du formulaire avec Twig
  • Récupérer les données saisies par l'utilisateur et validées par Symfony2
  • Appliquer des règles de validation sur les formulaires

Contracter une assurance qualité avec les tests automatisés

  • Introduction à PHPUnit
  • Installer PHPUnit
  • Comprendre les enjeux de tester unitairement son code
  • Configurer une nouvelle suite de tests unitaires avec PHPUnit
  • Ecrire des tests unitaires
  • Exécuter une suite de tests unitaires
  • Générer et comprendre les rapports de couverture de code
  • Ecrire et exécuter un scénario de test fonctionnel

Mettre en place une politique de droits d'accès

  • Configurer un nouvel hôte virtuel Apache pour un projet Symfony2
  • Introduction aux principes d'authentification et d'autorisation
  • Mettre en place une authentification par formulaire web
  • Mettre en place une authentification HTTP
  • Restreindre des actions en fonction des permissions de l'utilisateur
  • Tester les permissions de l'utilisateur depuis les contrôleurs et la vue

Optimisation des performances avec le cache HTTP et les ESI

  • Introduction au cache HTTP
  • Modifier la réponse avant de l'envoyer au client
  • Appliquer des règles de validation et d'expiration des pages grâce aux entêtes HTTP
  • Découvrir et mettre en pratique les ESI (« Edge Side Includes »)
  • Installer et configurer le Reverse Proxy Cache de Symfony2

Injection de dépendance et conteneur de services

  • Comprendre le principe de l’injection de dépendance
  • Introduction au conteneur de services
  • Lister la liste des services existants de Symfony
  • Enregistrer de nouveaux services dans le conteneur
  • Récupérer un service depuis le conteneur
  • Créer et lire des paramètres de configuration globaux
  • Exposer et valider une configuration sémantique d’un module

 

Programmation orientée objet

  • Les classes et objets
  • Constructeur
  • Propriétés et méthodes
  • L'héritage
  • Visibilité
  • Exceptions
  • Espaces de nommage (namespaces)

Découvrir Symphony 2

  • Présentation générale du framework et des outils
  • Installation d’une sandbox
  • Architecture d’un projet Symfony2 (application, bundles, librairies)
  • Traitement d’une requête HTTP avec Symfony2
  • Comprendre la notion d’environnement
  • Conventions de codage

Déboguer son code

  • La barre de débogage (web debug toolbar)
  • Les logs
  • Le profiler

Configuration d'une application

  • Comparatif des formats supportés : XML, YAML et PHP
  • Configuration globale de l’application
  • Configuration globale des urls
  • Surcharge de la configuration dans un Bundle

Générer des pages pour l'utilisateur final

  • Les gabarits
  • Introduction au moteur de gabarits Twig
  • Twig versus PHP
  • Héritage de gabarits
  • Inclusion de gabarits
  • Inclusion d’actions
  • Déclarer et inclure des slots
  • Générer des urls à l’aide des aides de vue

Créer des actions et analyser la requête de l'utilisateur

  • Définition d’une classe de contrôleur et des méthodes d’action
  • Relation avec le routage
  • Générer une réponse brute ou à partir d’un gabarit
  • Lire la requête de l’utilisateur
  • Lire et écrire des données dans la session de l’utilisateur
  • Lire et écrire dans un cookie
  • Inclure un fichier de configuration dans un autre
  • Déclencher une page 404
  • Rediriger l’utilisateur sur une autre page

Intéragir avec une base de données relationnelle

  • Introduction à PDO (DSN, requêtes préparées, transactions…)
  • Obtenir une connexion SQLite ou MySQL
  • Exécuter une requête SQL sur la base de données
  • Sécuriser ses requêtes SQL d’écriture dans une transaction
  • Savoir factoriser la logique métier dans des classes de modèle

Intéragir avec l'utilisateur final grâce aux formulaires

  • Découvrir le composant de formulaires
  • Créer et traiter des formulaires simples
  • Appliquer des règles de validation sur les champs
  • Prototyper le rendu d’un formulaire avec Twig
  • Récolter les données validées d’un formulaire

 

Niveau 1

  • Qu'est-ce que l'accessibilité ? Pour qui, pour quoi faire ?
  • Comment évaluer l'accessibilité d'un site web ?
    • Principe 1 : perceptible
    • Principe 2 : utilisables
    • Principe 3 : compréhensible
    • Principe 4 : robuste
  • Étude des critères du niveau RGAA Bronze (82 critères)
  • Méthodologie et outils de tests pour la mise en conformité
  • Études de cas, exercices, exceptions

Niveau 2

  • Pourquoi faire de l'accessibilité élevée ?
  • Étude des critères du niveau RGAA Argent (20 critères)
  • Étude des critères du niveau RGAA Or (31 critères)
  • Méthodologie et outils de tests pour la mise en conformité
  • Études de cas, exercices, exceptions
Subscribe to Notre catalogue de formations