FFCNCERCERXIO28

Stage inter entreprise

Prix 2024 :

2 520 €

Comment financer sa formation ?

Durée :

3 jour(s)

Prochaine(s) session(s)

  • Du 18/12/2024 au 20/12/2024 à Paris
  • Du 30/06/2025 au 02/07/2025 à Paris
  • Du 15/12/2025 au 17/12/2025 à Paris

Présentation

DevSecOps est une approche de la culture, de l'automatisation et de la conception des plateformes qui intègre la sécurité en tant que responsabilité partagée tout au long du cycle de vie informatique.

La formation remet à plat les concepts de base de la qualité logicielle et des processus en continu (intégration, delivery, déploiement) en les appliquant concrètement aux domaines de l’embarqué et de l’IoT.

Elle a été conçue pour mettre en place rapidement les outils nécessaires, et pour se confronter aux problèmes rencontrés au quotidien.

Objectifs

  • Mesurer l'intérêt d'investir dans la qualité de code et dans la maîtrise de la dette technique
  • Exploiter les outils permettant de contrôler et assurer la qualité et la sécurité du code
  • Mettre en œuvre les différentes étapes et les outils associés dans le processus de développement en continu
  • Programme

    Introduction

    DevSecOps, Code Quality Management

    • Good Code vs. Bad Code ; Coding Style
    • Règles de codage ; Revue de code
    • Analyse statique et dynamique de code
    • Complexité
    • Test unitaire
    • Couverture de code

    Travaux pratiques

    Coding Style (formater du code source C avec clang-format, vérifier du code source Python avec pylint) ; exemple de revue de code ; compiler et analyser du code source C avec clang, analyser du code source C++ avec clang-tidy et cppcheck, checking Python source code avec pylint ; compiler et analyser avec Valgrind et ASAN ; C (mesurer la complexité cyclomatique avec cccc), Python (mesurer la complexité cyclomatique avec radon) ; tests unitaires de code (C avec Unity, Python avec pytest) ; couverture de code (C et Pyhton avec gcovr).

    DevSecOps, Inspection continue

    • Dette technique : définition of done
    • Inspection : installation du serveur SonarQube, paramétrage de SonarQube,
    • Analyser le code source C et Python
    • Comprendre les résultats d’analyse de SonarQube, Quality Gate
    • Utilisation de SonarLint

    Travaux pratiques

    Configurer sonar-project.properties generic properties ; configurer sonar-project.properties (paramètres spécifiques au langage C et Python), analyser du code source en C et Python (Configuring Quality Profile) ; corriger les anomalies.

    DevSecOps, Intégration Continue

    • Introduction à l’outil GitLab-CI : qu’est-ce que la CI/CD ?, CI/CD avec GitLab et external tools, GitLab-CI (GitLab's integrated CI/CD)
    • GitLab-CI pour le développeur de code source : affichage des résultats de pipeline, forcer ou laisser de côté les exécutions de pipeline
    • GitLab Runners
    • GitLab-CI pour le développer de pipeline : introduction au langage YAML, définir des jobs, enregistrer les job artefacts, organisation des jobs dans un pipeline, définir des conditions sur l’exécution de pipeline, organiser les fichier YML, définir un système de pipelines
    • GitLab-CI pour les développeurs de job : choisir un runner, hetling errors, caching job data
    • DevSecOps, premier Pipeline avec GitLab-CI (cas d’un pojet en C et Python)
    • GitLab en tant qu’utilisateur : explorer un projet sur GitLab, introduction à markdown, créer une « issue » et un merge request

    Travaux pratiques

    Configuration de Git/Gitlab, premier pipeline, enregistrer les artefacts, multiples stages, conditional pipelines ; configuration des caches ; initialiser git project (côté Gitlab), initialiser git project (côté client git et Gitlab), initialiser git project (côté client git) ; créer une « issue » et un merge request.

    DevSecOps, Développement Continu

    • Qu’est ce qui se cache derrière le déploiement SW ?
    • Process de déploiement continu
    • Déploiement sur de multiples environnements
    • Bonnes pratiques du déploiement

    Travaux pratiques

    Vérification d’application, créer une image docker avec application, déploiement Docker, test de déploiement, déploiement Docker - Rollback

    Synthèse et conclusion

  • Points forts

    Cette formation a été conçue pour mettre en place rapidement les outils nécessaires, et pour comprendre les problèmes rencontrés au quotidien. Elle est ponctuée de nombreux travaux pratiques qui mettent en avant les problèmes fréquents, les outils de mise au point et les pièges à éviter afin de permettre aux élèves de rapidement trouver leurs marques lorsqu'ils devront résoudre ces problèmes par eux-mêmes.

    Les outils utilisés sont des exemples parmi les nombreux outils open source à disposition.

  • Modalités pédagogiques

    Formation opérationnelle et pratique avec retour d’expérience de pairs, audit clients et expertises métier.

    Les pièges à éviter sont abordés afin de permettre aux apprenants de rapidement trouver leurs marques lorsqu’ils devront résoudre ces problèmes par eux-mêmes.

  • Public cible et prérequis

    Personnes ayant une première expérience de développement ou de pilotage projet et désirant développer des architectures robustes

    Des connaissances de base du fonctionnement Unix ou Linux et dans l’utilisation en ligne de commande de Linux sont souhaitables afin de tirer pleinement profit de cette formation.

  • Responsables

    • Vincent JOURDON

      Directeur des Opérations chez Smile Embedded et Connected Systems. Formateur, expert et auditeur qualité de code - intégration continue dans des contextes embarqués et IoT.

Prochaine(s) session(s)

  • Du 18/12/2024 au 20/12/2024 à Paris
  • Du 30/06/2025 au 02/07/2025 à Paris
  • Du 15/12/2025 au 17/12/2025 à Paris

Vous êtes intéressé(e) et/ou vous voulez procéder à une inscription ?

N'hésitez plus et complétez le formulaire. Nous revenons vers vous ensuite pour répondre à vos questions et/ou compléter votre inscription.
Ordre
  • Participant

  • Participant

  • Participant

Nous sommes également à votre disposition par téléphone

Appelez le +33 (01) 75 31 95 90