ANF Qualité Logicielle dans les projets

Europe/Paris
IJCLab (Orsay)

IJCLab (Orsay)

Bât. 100, 15 rue Georges Clémenceau, 91405 Orsay cedex
Description

L’objectif de l’école est de proposer aux développeurs informatiques une action qui permette de rendre facilement applicable les méthodes de la qualité logicielle, appliquée à nos projets scientifiques.

L’ANF fournira les bases méthodologiques de la qualité logicielle, mais surtout illustrera les bonnes pratiques par des cas concrets d’application. Elle s’appuiera sur des plateformes d’outils pour montrer comment un flot de traitement bien organisé et maîtrisé participe de façon très importante à la démarche collective pour assurer la qualité logicielle. Des retours d’expérience sur des cas concrets dans les thématiques de l’IN2P3 et de l’INSU montreront les bénéfices, les difficultés rencontrées, et les pistes d’amélioration.

Une part importante sera consacrée aux travaux dirigés.

La formation s'adresse à tout développeur maîtrisant les bases du langage Python. Si ce n'est pas le cas, un tutoriel sera fourni à l'avance.

Chaque participant devra disposer de son propre ordinateur portable. Des consignes seront données à l’avance pour les configurations requises lors des TD.

Les consignes sanitaires en vigueur à la date de l'ANF seront strictement appliquées. L'organisation de l'école prendra toutes les mesures nécessaires pour garantir la sécurité des participants. La salle de cours a été dimensionnée en conséquence.

 

 Page web de l'ANF

    • 09:00 09:20
      Présentation de l'école
      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 09:20 10:20
      Principes de bases de la qualité logicielle et situation globale actuelle

      Approche qualité, application au logiciel (prise en compte des risques/opportunités), rôles et responsabilités

      Président de session: Clémence Agrapart (LPC2E)
    • 10:20 10:50
      Pause café
    • 10:50 11:50
      Normes

      Standards, référentiels (ISO, CMMi, ITIL, ECSS, RNC, ...) : quelles applications ?

      Président de session: Clémence Agrapart (LPC2E)
    • 11:50 12:50
      Bonnes pratiques : Comment le code peut être une construction collective

      Comment la qualité du code ne se résume pas à la qualité du codage, mais dépend également de sa construction collective :
      - forges
      - workflows collaboratifs (MR)
      - revue de code
      - conventions d'écriture
      - interfaces générales (README, CHANGELOG, LICENCE, CONTRIBUTING …)

      Président de session: Antoine Pérus (Cnrs/In2p3/Lal)
    • 12:50 14:00
      Pause déjeuner
    • 14:00 16:00
      Méthodologie: Règles de bases à appliquer
      Président de session: William Recart
    • 16:00 16:30
      Pause café
    • 16:30 18:00
      TD : prises en compte des normes et bonnes pratiques
      Président de session: William Recart
    • 09:00 10:00
      Indicateur de suivi de la qualité logicielle
      Président de session: William Recart
    • 10:00 10:50
      Documentation: Gestion de la documentation

      Ce retour d’expérience du projet SVOM-MXT présentera la façon dont a été gérée, à partir de GitLab, l'ensemble de la documentation associée à chaque release livrée au CNES.

      outils de génération automatiques , bonnes pratiques, annotations, release notes

      Président de session: Dr Julien Peloton (CNRS-IJCLab)
    • 10:50 11:20
      Pause café
    • 11:20 12:05
      Méthodologie: Retour d'expérience
      Président de session: William Recart
    • 12:05 12:50
      Documentation: Retour d'expérience sur la gestion de la documentation

      Ce retour d’expérience du projet SVOM-MXT présentera la façon dont a été gérée, à partir de GitLab, l'ensemble de la documentation associée à chaque release livrée au CNES.

      outils de génération automatiques , bonnes pratiques, annotations, release notes

      Président de session: Antoine Pérus (Cnrs/In2p3/Lal)
    • 12:50 14:00
      Pause déjeuner
    • 14:00 15:30
      Processus de traitement de la qualité logicielle: outils et notion d'usine logicielle
      Président de session: Alexis Chatillon
    • 15:30 16:00
      Pause café
    • 16:00 18:00
      Partage de code: Partage de code et plateformes collectives

      intéret de ces outils , présentations de différents outils, bonnes pratiques .
      pratique des commandes git avec Jupyter, visualisation dans gitlab , pratique des branches, des merges et des revues de code

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 09:00 10:30
      Partage de code: TP

      intéret de ces outils , présentations de différents outils, bonnes pratiques .
      pratique des commandes git avec Jupyter, visualisation dans gitlab , pratique des branches, des merges et des revues de code

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 10:30 11:00
      Pause café
    • 11:00 12:30
      Documentation: TP gestion de la documentation

      Ce retour d’expérience du projet SVOM-MXT présentera la façon dont a été gérée, à partir de GitLab, l'ensemble de la documentation associée à chaque release livrée au CNES.

      outils de génération automatiques , bonnes pratiques, annotations, release notes

      Président de session: Julien Peloton (CNRS-IJCLab)
    • 12:30 14:00
      Pause déjeuner
    • 14:00 15:00
      Outils de test

      test unitaires , fonctionnels . tests aux limites , notion d’assertion, complexité, couverture de code

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 15:00 16:00
      Outils d’analyse et de mesure de la qualité du code

      que mesurer et pourquoi ? présentation d’outils , d’indicateurs

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 16:00 16:30
      Pause café
    • 16:30 18:00
      TP : Tests et mesure de la qualité du code

      mise en place de quelques test avec unittest , exemples de couverture de code à améliorer , et mise en place de sonarQube

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 09:00 11:00
      Outils de construction du code final, d'intégration et de déploiement continus

      Intégration et déploiements continus . Gitlab CI/CD , gitlab-ci.yml

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 11:00 11:30
      Pause café
    • 11:30 12:50
      TP : construction du code final: Outils de construction du code final, d'intégration et de déploiement continus

      Exemples illustrés avec jupyter + gitlab

      Président de session: Cyril L'Orphelin (CC-IN2P3)
    • 12:50 14:00
      Pause déjeuner
    • 14:00 15:00
      Exemple d'application aux projets IN2P3: LSST et les pipelines de données
      Président de session: Jim Bosch (Princeton University)
    • 15:00 16:00
      Retour d’expérience INSU sur la qualité logicielle appliquée au sein du projet logiciel vol PLATO
      Président de session: Philippe Plasson
    • 16:00 16:30
      Pause café
    • 16:30 17:15
      Retour d'expérience IN2P3 : plateforme d'intégration continue pour le développement du pipeline de données EUCLID
      Président de session: Antoine Boizard
    • 17:15 18:30
      Retour d'expérience INSU : environnement de développement, d’integration et de test développé pour le segment sol de l’instrument RPW de la mission Solar Orbiter: environnement de développement, d’integration et de test développé pour le segment sol de l’instrument RPW de la mission Solar Orbiter

      Présentation du contexte et de l’environnement logiciel, retour d’expérience sur la qualité logiciel appliquée au sein du projet

      Présidents de session: M. Sonny Lion, Xavier Bonnin (obspm)
    • 09:00 10:30
      Cas du spatial et de l’embarqué : spécificités et impacts sur le processus de qualité logicielle, exemple avec le logiciel de vol du spectro-imageur MAJIS de la mission JUICE

      · criticité (métriques à atteindre),  règles de codage spécifiques CNES  C embarqué, règles MISRA,
      · qualité Interface Soft Hdw (HSIA),
      · REX mode de fonctionnement des analyses (Sonarqube, Understand, Polyspace, RTRT),
      · livrables et revues (jalons ESA),
      · problématique de la qualité liée aux REUSE (réutilisation de la plateforme générique du CNES, LVCUGEN)

      Président de session: Benoit Garçon - Karin Dassas (CNRS IAS)
    • 10:30 11:00
      Pause café
    • 11:00 11:50
      Mise en place des pratiques de qualité logicielle : préparation à la table ronde
    • 11:50 12:50
      Table ronde sur la pratique collective de la qualité logicielle
    • 12:50 14:00
      Pause déjeuner
    • 14:00 14:30
      Bilan de l'ANF