EXI EDC PSC 102-1

Document de conformité Pro Santé Connect
ans
Pro Santé Connect
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)