La sécurité des applications commence dès la phase de développement. En suivant cette formation, vous apprendrez à appliquer les bonnes pratiques de codage pour créer un code à la fois propre, sécurisé et évolutif. Cette approche contribue à réduire les risques de vulnérabilités dans vos applications Web et améliore la maintenabilité et la fiabilité de vos projets logiciels. Le développement sécurisé est essentiel pour anticiper et contrer les menaces potentielles, garantissant ainsi des applications robustes et sécurisées.
Objectifs de la formation
Objectif opérationnel
Acquérir les compétences nécessaires pour mettre en œuvre les bonnes pratiques SOLID et object calisthenics en développement sécurisé.
Objectifs pédagogiques
À la fin de cette formation, vous serez capable de :
- Identifier et corriger les risques liés à un code non sécurisé.
- Appliquer les principes SOLID pour améliorer la qualité de votre code.
- Implémenter les pratiques d’object calisthenics pour garantir un code facile à maintenir et sécurisé.
À qui s’adresse cette formation ?
Public
Cette formation est destinée aux développeurs et chefs de projets souhaitant améliorer la sécurité de leurs applications en suivant les meilleures pratiques de codage.
Prérequis
Connaissances de base en programmation orientée objet (Java, Python, C#, etc.).
Programme détaillé de la formation
Cycle de vie d’une application
- Création et maintenance d’applications sécurisées.
- Gestion de la testabilité et de l’évolutivité du code.
- Approches pour la révision du legacy code.
Les bonnes pratiques de codage sécurisé
- Règles de base génériques : gestion de la syntaxe, utilisation des types numériques et des initialisations.
- Sérialisation des objets et gestion sécurisée des logs.
- Frameworks de sécurité et comparaison entre SQL et ORM.
Principes SOLID pour le développement sécurisé
- Single Responsibility Principle : garantir une responsabilité unique pour chaque module.
- Open/Closed Principle : ouverture aux extensions, fermeture aux modifications.
- Liskov Substitution Principle : garantir que les objets dérivés peuvent être substitués sans altérer les fonctionnalités.
- Interface Segregation Principle : minimiser l’impact des changements.
- Dependency Inversion Principle : minimiser les dépendances directes.
Object Calisthenics pour un code propre et sécurisé
- Règles de base pour améliorer la qualité du code : indentation unique, pas d’abréviations, etc.
- Comment améliorer la réutilisabilité, la maintenabilité et la testabilité du code.
- Ne pas utiliser de getters et setters pour une meilleure encapsulation des données.
Outils d’analyse statique de code
- CodeSonar, RATS, CppLint : outils pour détecter les vulnérabilités dans le code.
- Propriétaires vs libres : choix des outils d’analyse en fonction des besoins spécifiques de votre projet.
En suivant cette formation, vous serez équipé pour renforcer la sécurité de vos applications en appliquant des principes de développement sécurisé. Ces pratiques vous aideront à créer des logiciels plus robustes et moins vulnérables aux cyberattaques, en garantissant un code de qualité et sécurisé.