formations/developpement/plan_formation_logomotion.md

183 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Logomotion 2017 - Formations
## Sessions prévues
- Remise à niveau Symfony pour 3 personnes - 2 jours
- Introduction aux frameworks javascript pour le développement web - 1 jour
- Formation framework web (ex: Angular 2) - 3 jours
- Sécurité des applications web - 2 jours
- Démarche audit de sécurité des applications web - 2 jours
## Plans de formation
### Remise à niveau Symfony
#### Jour 1: Rappels des fonctionnalités
- Les principales nouveautés de Symfony 3
- Structure d'un projet, générateurs et "bundles"
- Notion de bundles
- Configuration d'un bundle
- Creation & utilisation des commandes
- Le générateur
- Le routage et les contrôleurs
- Filtrage des verbes HTTP
- Routage vers les actions de contrôleurs
- Authentification et autorisation
- Firewall & ACL
- Gestion des rôles utilisateur
- Méthode d'authentification personnalisée
- Les vues et le moteur de templating Twig
- Syntaxe Twig
- Notion d'héritage
- Gestion de la sécurité
- Étendre Twig
- Les formulaires
- Création et traitement de formulaires
- Validation des données
- Les évènements
- L'ORM Doctrine et le modèle de données
- Concept d'ORM
- Entité & Dépôt
- Les évènements
- Mise en production
- Gestion des environnements
- Cache applicatif
#### Jour 2: Mise en application
Le 2ème jour est dédié à la mise en pratique des concepts vus pendant le jour précédent.
Un cahier des charges d'une application prévue pour exploiter l'ensemble des éléments traités par la formation sera proposé aux apprenants.
Le formateur les accompagnera durant l'ensemble des travaux.
### Introduction aux frameworks javascript pour le développement web
#### Jour 1: Frontend
- Angular 2 (3 heures)
- Présentation générale et historique
- Structuration d'un projet et générateurs
- Concepts principaux
- Travaux pratiques
- React/Redux (3 heures)
- Présentation générale et historique
- Concepts généraux de React
- L'architecture "Flux" et Redux
- Travaux pratiques
#### Jour 2: Backend
- ExpressJS (3 heures)
- Présentation générale et historique
- Routage
- Intégration de moteurs de templates
- Gestion des formulaires
- Travaux pratiques
- Sails (3 heures)
- Présentation générale et historique
- Structuration d'un projet et générateurs
- Concepts principaux
- Travaux pratiques
### Formation framework web (plan généraliste)
### Jour 1: Concepts principaux et prise en main
- Présentation du framework et historique
- Structure d'un projet et générateurs
- Gestion du routage applicatif
- Modèle de données
- "Templating" et modèle de données
### Jour 2: Fonctionnalités avancées et communauté
- Création et gestion des "composants" et mutualisation
- Tests unitaires et fonctionnels
- Gestion de l'authentification
- Gestion de l'autorisation
- Mise en production
### Jour 3: Mise en application
Le 3ème jour est dédié à la mise en pratique des concepts vus pendant les deux jours précédents.
Un cahier des charges d'une application prévue pour exploiter l'ensemble des éléments traités par la formation sera proposé aux apprenants. Le formateur les accompagnera durant l'ensemble des travaux.
La réalisation nécessitera l'implémentation de fonctionnalités récurrentes dans le domaine applicatif web, notamment:
- Routage applicatif
- Authentification
- Gestion des autorisations
- Opérations CRUD sur des entités métier
- Téléversement de fichiers
- Communication AJAX/Websockets
### Sécurité des applications web
#### Jour 1: Sécurité de l'applicatif
- Présentation du collectif OWASP (15 minutes)
- Le "top 10" des failles des applicatifs Web (4 heures)
- Injections
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Authentification faillible et mauvaise gestion de la session
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Cross Site Scripting (XSS)
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Mauvaise contrôle des accès
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Problèmes de configuration
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Fuite d'informations sensibles
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Cross Site Request Forgery (CSRF)
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Mauvaise politique de maintenance des composants techniques
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Supervision applicative (2 heures 30)
- Installation et configuration de Prometheus
- Métrologie de l'applicatif et des processus métiers
- Création d'alertes
#### Jour 2: Sécurité de l'infrastructure
- Configuration des serveurs HTTP - Apache2 et Nginx (3 heures)
- Prévention de la fuite d'informations
- Configuration des connexion SSL/TLS
- Supervision et détection d'intrusion (3 heures)
- Supervision du systèmes avec Monit
- Installation
- Configuration et usage
- Détection et prévention des intrusions
- Apache2 - mod_security
- fail2ban - NIDS simplifié
### Démarche audit de sécurité des applications web
#### Jour 1: Principes et concepts de l'audit de sécurité
- Les différents types d'audit (30m)
- "Black Box"
- "Grey Box"
- "White Box"
- La démarche en mode "white box" avec le référentiel OWASP (5 heures 30)
- Identification du périmètre
- Récupération des informations d'amorçage de l'action
- Verrouillage de l'environnement
- Audit
- Création du rapport
- Accompagnement post-audit
#### Jour 2: Étude de cas
Mise en application des éléments vu le jour précédent sur une application Web sélectionnée pour illustrer les différentes problématiques de la procédure d'audit (6 heures)