IronHoster Academy
Programme de la Formation : Développeur Web (Full Stack)
Partie 1: Front End
Contenu du cours HTML5 CSS3
Présentation des technologies ( HTML5 )
HTML5, standards et (rétro-)compatibilité
Navigateurs et outils de travail
HTML5 vs Flash
Applications HTML5 vs applications natives
Sémantique, référencement et accessibilité en HTML5
DOCTYPE, encodage, règles de syntaxe
Les nouvelles balises sémantiques
Relations, micro-formats et micro-données
HTML5 Forms ( Web Forms )
Vue d’ensemble des formulaires nouvelle génération
Les nouveaux éléments : progress, meter, datalist, keygen, output
Nouveaux types de champs : tel, url, email, search, number, etc.
Nouveaux attributs : autofocus, placeholder, form, required, etc.
Validation par le navigateur : required, pattern, formnovalidate
Suggestions automatiques
Exemple récapitulatif
JavaScript nouvelle génération
Mode strict et chargement asynchrone
DOM Level 3 : agir sur la page
Gestion dynamique des évènements
Debug et détection du support du HTML5
JSON et initiation au modèle objet
Initiation à jQuery
Vidéo et audio
Codecs et formats (H264/MP4, OGG/theora, WebM/VP8)
Compatibilité et navigateurs
Les outils de conversion (rapide)
Savoir utiliser les services existants : Dailymotion, Youtube, Viemo
Les balises video, audio
Proposer plusieurs sources dans plusieurs formats
Pré-requis (type MIME et .htaccess)
Les attributs : controls, preload, autoplay, poster
Test de téléchargement d’une vidéo selon plusieurs formats depuis plusieurs navigateurs
Traitements en JavaScript
Les nouveaux sélecteurs CSS3
IronHoster
TUNIPAGESAcademy
2020 - 2022 1
Les pseudo-classes et pseudo-éléments
Les sélecteurs d’attributs (^, $, *)
Exemple d’application de style « intelligente » combinant les nouveautés
Mise en page et box model
Les positionnements (absolu, fixe, naturel)
Mise en page avec float
Mise en page avec Flex : box-sizing, border box, etc.
Système de grid
Disposition en colonnes
Régions et exclusions
Limites et apports des frameworks (bootstrap, etc.)
CSS Grid
Limites des tableaux et apports des CSS Grid
Positionnement explicite et implicite des objets sur une grille CSS
Alignement des boîtes avec les grilles CSS
Utiliser les lignes ou les zones de la grille ?
Complémentarité Flexbox et Grid
Compatibilité avec les anciens navigateurs
Bootstrap:
Design
Graphisme avancé Pré-requis pour faire du Responsive
Polices de caractères personnalisées Design
Couleurs avancées et dégradés Media-queries : s'adapter à la résolution
Ombres et opacité d'écran et à l'orientation
Bordures et arrière-plans avancés Viewport
Déterminer la valeur d’une propriété CSS
(calc)
Responsive design Positionnement colonnes, tailles fluides et
Problèmes techniques posés par media queries
l’hétérogénéité (PC, téléphone, tablette) Disposition adaptative des grilles CSS
Solutions apportées par le Responsive (grid-template-areas)
Compatibilité des navigateurs avec HTML5/CSS3
Etat des lieux
La détection des capacités des navigateurs
Recommandations
Les outils et les méthodes du développeur WEB
Quels outils pour développer et debugguer ?
Les outils pour améliorer la productivité et la rapidité de codage
Les outils d’une bonne veille technique
Les méthodes de codage moderne pour un code maintenable
Les tendances à venir
AJAX nouvelle génération
IronHoster
TUNIPAGESAcademy
2020 - 2022 2
XMLHttpRequest 2
Fichiers joints et progression
Requêtes cross-domain
Historique et navigation
AJAX avec historique
Navigation par ancres
Communication entre onglets
Géolocalisation
Obtenir et suivre la position de l'utilisateur
Images : canvas et SVG
Images vectorielles
Création dynamique d'images en JavaScript
2ème Partie: Back end
Les Bases de la programmation adaptée à PHP
Qu'est-ce qu'un programme ?
Modes d'exécution : Programme interprétés, compilés et semi-compilés.
Les différents éléments d'un programme et leurs rôles.
Les différents langages du Web et leurs raisons d'être.
La place de PHP.
Mon premier programme.
Contextes d'Exécution des programmes PHP
Client/Serveur
L'utilisation de PHP dans le cadre des applications Web.
Requêtes HTTP et entêtes spécifiques
Les bases du langage : aspects syntaxiques et articulation
Les types de variables
Pourquoi typer une variable ?
Typage faible.
Entiers, chaînes de caractères, nombres réels, autres.
Les types évolués
Les fonctions
Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité, ...)
Exemple de modification de programme "mal écrit" .
Le passage d'argument.
Le code retour d'une fonction
Contrôle de flux
La sélection alternative (si ... alors ... sinon ...)
Les boucles (tant que ...)
IronHoster
TUNIPAGESAcademy
2020 - 2022 3
Aspects complémentaires
Les expressions et les opérateurs, comment les combiner
Les commentaires
Inclusions
Comprendre les messages d'erreur
Premières applications WEB en PHP
Automatisation d'une page Web
Les principes client serveur
Intégration de PHP dans une page HTML
Librairies
Fonctions de base, variables serveur et variable PHP
Les formulaires simples
Passage et transmission de variables (GET/POST).
Lecture écriture de fichier
Vérification de login/mot de passe
Redirection
Les variables complexes : tableaux
Constructeur array
Fonctions associées aux tableaux
Fonctions d'extraction
Fonctions de navigation dans un tableau
Utilisation d'une base de données MySql
Présentation de MySql.
Concepts fondamentaux: Bases, tables, champs, enregistrements.
Création d'une base multi-tables.
Introduction au langage SQL (sélection, modification, suppression).
Fonctions PHP Mysql
Traitement des résultats des requêtes
Initiation au Langage SQL
Requêtes LDD
Requêtes LMD
Initiation au Framework Symfony5
Les principes de base de Smfony
Le modèle MVC
Installation de Symfony5
Prise en main et réalisation des premières actions de CRUD
IronHoster
TUNIPAGESAcademy
2020 - 2022 4