EXI EDC PSC 102-1
Document de conformité
xxx
Chapitre 1 : Prérequis Maturité Technique
En tant que FS, je dois intégrer dans mon process de développement logiciel des outils permettant de vérifier le respect des règles de développement et décrire les outils mis en place. Tout outil de qualimétrie, vérification de l’obsolescence des librairies, outils de vérification de la sécurisation de la plateforme système devraient être considérés pour adoption dans le système. Je devrais considérer la mise en place d’une revue systématique de mes codes par un autre pair, avant toute mise en production.
| EXI EDC PSC 102-1 | |||
|---|---|---|---|
| Éditeur de Logiciel Utilisateur | Éditeur de Logiciel Proxy e-santé | ||
|
[Il est attendu que le Fournisseur de Service détaille son process de développement logiciel et les outils utilisés pour auditer ce dernier.
OU fasse référence à un extrait, clairement identifié, d’un document qu’il fournira. ] |
|||
Exemple de structure de réponse à compléter :
Conventions et bonnes pratiques à respecter
Architecture et Organisation du Code
Utilisation des Standards de Conception
- Adopter les design patterns adaptés (Singleton, Factory, Strategy, etc.).
- Respecter l’architecture MVC (Model-View-Controller) quand cela est possible.
- Favoriser la programmation orientée interface
Organisation des Packages
Gestion des Dépendances
Configuration Externalisée
- par exemple utiliser une fichier .properties ou .yml avec des variables d’environnement
Gestion des Services / Contrôler REST
- par exemple utiliser des annotations spécifiques (@RestController, …)
- règle de nommage
Persistance et Accès aux Données
- utilisation d’un framework ORM
Sécurité et Authentification
- framework de sécurité
- gestions des rôles
- Activer CSRF et désactiver seulement si nécessaire.
- Éviter d’exposer des données sensibles dans les logs.
- Utiliser BCrypt pour stocker les mots de passe.
- …
Tests et Qualité du Code
Tests unitaires
- Framework de test (mockito, …)
Tests d’intégrations
Analyse Statique et Qualité du Code
- framework d’analyse du code SonarQube, CheckStyle, PMD, …
- outil de vérification de la couverture de test : Cobertura, …
Déploiement et Monitoring
- détailler comment vous déployez l’application (docker, jar, …),
- pipeline de déploiement automatique en test
- outil de monitoring
Méthodologie
Développement de nouvelles fonctionnalités
Exemple :
Tout développement doit faire l’objet au préalable d’un ticket dans JIRA ou autre avec la version cible, une description du besoin et le résultat attendu
Le développeur prend en charge un ticket, réalise le développement et lui associe une ou plusieurs tests unitaires pour valider le bon fonctionnement.
Le développeur commite en stipulant le numéro de ticket et sa description courte afin de le lier automatiquement avec JIRA. Le commit déclenche un build avec exécution des tests unitaires.
Un test d’intégration doit être également ajouté.
Cas particulier des correctifs
Formalisme du ticket :
Exemple de mise en œuvre
Prendre un exemple avec des captures d’écran
Réalisation d’une nouvelle version
Détailler la procédure pour livrer une nouvelle version
Tests
Détailler l’exécution automatique des tests (outil, rapport, exécution)