Description
Ce cours de perfectionnement est axé sur trois thèmes : l'optimisation du code au niveau algorithmique, l'adaptation de l'architecture logicielle aux nécessités du travail en équipes pluridisciplinaires ou multisites, et la rationalisation des développements orientés maintenabilité et réutilisabilité.
À qui s'adresse cette formation ?
Pour qui ?
Développeurs désirant améliorer la pérennité et la maintenabilité de leurs développements.
Prérequis
Les objectifs de la formation
Programme de la formation
- Introduction
- Problèmes classiques rencontrés en développement.
- Culture d'entreprise : impacts à long et moyen termes.
- Inflation non contrôlée du code et théorie de l'avalanche.
- Réutilisabilité : stratégies et enjeux.
- Optimisation de code
- Outils : de mesure (Pear), de simulation de charge client/serveur, d'optimisation.
- Compression à la volée.
- Principe de la compression/décompression des pages.
- Précautions et limites.
- Optimisation des algorithmes.
- Optimisation des boucles, des requêtes SQL.
- Fichiers texte et bases de données.
- Gestion des flux de sortie.
- Cache serveur.
- Réalisation d'un cache.
- Les classes existantes.
- Travaux pratiques Optimisation graduelle d'une page type, avec mesures comparées des performances obtenues.
- Productivité
- La POO : bienfaits et limites.
- Etude de cas, pertinence de l'approche POO vs procédurale.
- La solution mixte.
- IDE et documentation.
- Les principaux IDE du marché.
- Outils de documentation et conventions.
- Configuration.
- Serveurs à balancement de charge.
- Approche matérielle.
- Impact sur le développement.
- Travaux pratiques Analyse de performances et consommation mémoire.
- Utilisation d'un IDE et d'un générateur de documentation.
- Etude d'une classe "session" pour la conservation des données en environnement multiserveurs.
- Rationalisation des développements
- Architecture multicouche.
- Programmation " spaghetti " et maintenabilité.
- Approche pluridisciplinaire et sous-traitance.
- MVC : diviser pour mieux régner.
- MVC sans l'objet.
- Concepts avancés de la POO : classes abstraites, interfaces.
- Méthodes automatiques, surcharge, sauvegarde, clonage.
- Frameworks (cadres).
- Philosophie.
- Etude d'un framework " maison ".
- Principaux frameworks du marché.
- Design patterns (motifs de conception).
- Principe de base et avantages.
- Structure des patterns Usine.
- Singleton.
- Chaîne de commande.
- Observateur.
- Stratégie.
- Encapsulation des concepts variables.
- Travaux pratiques Passage d'une page " spaghetti " à un modèle MVC.
- Réalisation d'un moteur de recherche avec un framework.
- Implémentation d'une classe de connexion pour la conservation des ressources.