FFCNCERCERXIO28

Stage inter entreprise

Prix 2025 :

2 520 €

Comment financer sa formation ?

Durée :

3 jour(s)

Prochaine(s) session(s)

  • 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

  • Modalités pédagogiques

  • Public cible et prérequis

  • Responsables

Prochaine(s) session(s)

  • 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.
  • France+33
  • United States+1
  • United Kingdom+44
  • Belgium (België)+32
  • Italy (Italia)+39
  • Spain (España)+34
  • Afghanistan (‫افغانستان‬‎)+93
  • Albania (Shqipëri)+355
  • Algeria (‫الجزائر‬‎)+213
  • American Samoa+1
  • Andorra+376
  • Angola+244
  • Anguilla+1
  • Antigua and Barbuda+1
  • Argentina+54
  • Armenia (Հայաստան)+374
  • Aruba+297
  • Ascension Island+247
  • Australia+61
  • Austria (Österreich)+43
  • Azerbaijan (Azərbaycan)+994
  • Bahamas+1
  • Bahrain (‫البحرين‬‎)+973
  • Bangladesh (বাংলাদেশ)+880
  • Barbados+1
  • Belarus (Беларусь)+375
  • Belgium (België)+32
  • Belize+501
  • Benin (Bénin)+229
  • Bermuda+1
  • Bhutan (འབྲུག)+975
  • Bolivia+591
  • Bosnia and Herzegovina (Босна и Херцеговина)+387
  • Botswana+267
  • Brazil (Brasil)+55
  • British Indian Ocean Territory+246
  • British Virgin Islands+1
  • Brunei+673
  • Bulgaria (България)+359
  • Burkina Faso+226
  • Burundi (Uburundi)+257
  • Cambodia (កម្ពុជា)+855
  • Cameroon (Cameroun)+237
  • Canada+1
  • Cape Verde (Kabu Verdi)+238
  • Caribbean Netherlands+599
  • Cayman Islands+1
  • Central African Republic (République centrafricaine)+236
  • Chad (Tchad)+235
  • Chile+56
  • China (中国)+86
  • Christmas Island+61
  • Cocos (Keeling) Islands+61
  • Colombia+57
  • Comoros (‫جزر القمر‬‎)+269
  • Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)+243
  • Congo (Republic) (Congo-Brazzaville)+242
  • Cook Islands+682
  • Costa Rica+506
  • Côte d’Ivoire+225
  • Croatia (Hrvatska)+385
  • Cuba+53
  • Curaçao+599
  • Cyprus (Κύπρος)+357
  • Czech Republic (Česká republika)+420
  • Denmark (Danmark)+45
  • Djibouti+253
  • Dominica+1
  • Dominican Republic (República Dominicana)+1
  • Ecuador+593
  • Egypt (‫مصر‬‎)+20
  • El Salvador+503
  • Equatorial Guinea (Guinea Ecuatorial)+240
  • Eritrea+291
  • Estonia (Eesti)+372
  • Eswatini+268
  • Ethiopia+251
  • Falkland Islands (Islas Malvinas)+500
  • Faroe Islands (Føroyar)+298
  • Fiji+679
  • Finland (Suomi)+358
  • France+33
  • French Guiana (Guyane française)+594
  • French Polynesia (Polynésie française)+689
  • Gabon+241
  • Gambia+220
  • Georgia (საქართველო)+995
  • Germany (Deutschland)+49
  • Ghana (Gaana)+233
  • Gibraltar+350
  • Greece (Ελλάδα)+30
  • Greenland (Kalaallit Nunaat)+299
  • Grenada+1
  • Guadeloupe+590
  • Guam+1
  • Guatemala+502
  • Guernsey+44
  • Guinea (Guinée)+224
  • Guinea-Bissau (Guiné Bissau)+245
  • Guyana+592
  • Haiti+509
  • Honduras+504
  • Hong Kong (香港)+852
  • Hungary (Magyarország)+36
  • Iceland (Ísland)+354
  • India (भारत)+91
  • Indonesia+62
  • Iran (‫ایران‬‎)+98
  • Iraq (‫العراق‬‎)+964
  • Ireland+353
  • Isle of Man+44
  • Israel (‫ישראל‬‎)+972
  • Italy (Italia)+39
  • Jamaica+1
  • Japan (日本)+81
  • Jersey+44
  • Jordan (‫الأردن‬‎)+962
  • Kazakhstan (Казахстан)+7
  • Kenya+254
  • Kiribati+686
  • Kosovo+383
  • Kuwait (‫الكويت‬‎)+965
  • Kyrgyzstan (Кыргызстан)+996
  • Laos (ລາວ)+856
  • Latvia (Latvija)+371
  • Lebanon (‫لبنان‬‎)+961
  • Lesotho+266
  • Liberia+231
  • Libya (‫ليبيا‬‎)+218
  • Liechtenstein+423
  • Lithuania (Lietuva)+370
  • Luxembourg+352
  • Macau (澳門)+853
  • Madagascar (Madagasikara)+261
  • Malawi+265
  • Malaysia+60
  • Maldives+960
  • Mali+223
  • Malta+356
  • Marshall Islands+692
  • Martinique+596
  • Mauritania (‫موريتانيا‬‎)+222
  • Mauritius (Moris)+230
  • Mayotte+262
  • Mexico (México)+52
  • Micronesia+691
  • Moldova (Republica Moldova)+373
  • Monaco+377
  • Mongolia (Монгол)+976
  • Montenegro (Crna Gora)+382
  • Montserrat+1
  • Morocco (‫المغرب‬‎)+212
  • Mozambique (Moçambique)+258
  • Myanmar (Burma) (မြန်မာ)+95
  • Namibia (Namibië)+264
  • Nauru+674
  • Nepal (नेपाल)+977
  • Netherlands (Nederland)+31
  • New Caledonia (Nouvelle-Calédonie)+687
  • New Zealand+64
  • Nicaragua+505
  • Niger (Nijar)+227
  • Nigeria+234
  • Niue+683
  • Norfolk Island+672
  • North Korea (조선 민주주의 인민 공화국)+850
  • North Macedonia (Северна Македонија)+389
  • Northern Mariana Islands+1
  • Norway (Norge)+47
  • Oman (‫عُمان‬‎)+968
  • Pakistan (‫پاکستان‬‎)+92
  • Palau+680
  • Palestine (‫فلسطين‬‎)+970
  • Panama (Panamá)+507
  • Papua New Guinea+675
  • Paraguay+595
  • Peru (Perú)+51
  • Philippines+63
  • Poland (Polska)+48
  • Portugal+351
  • Puerto Rico+1
  • Qatar (‫قطر‬‎)+974
  • Réunion (La Réunion)+262
  • Romania (România)+40
  • Russia (Россия)+7
  • Rwanda+250
  • Saint Barthélemy+590
  • Saint Helena+290
  • Saint Kitts and Nevis+1
  • Saint Lucia+1
  • Saint Martin (Saint-Martin (partie française))+590
  • Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)+508
  • Saint Vincent and the Grenadines+1
  • Samoa+685
  • San Marino+378
  • São Tomé and Príncipe (São Tomé e Príncipe)+239
  • Saudi Arabia (‫المملكة العربية السعودية‬‎)+966
  • Senegal (Sénégal)+221
  • Serbia (Србија)+381
  • Seychelles+248
  • Sierra Leone+232
  • Singapore+65
  • Sint Maarten+1
  • Slovakia (Slovensko)+421
  • Slovenia (Slovenija)+386
  • Solomon Islands+677
  • Somalia (Soomaaliya)+252
  • South Africa+27
  • South Korea (대한민국)+82
  • South Sudan (‫جنوب السودان‬‎)+211
  • Spain (España)+34
  • Sri Lanka (ශ්‍රී ලංකාව)+94
  • Sudan (‫السودان‬‎)+249
  • Suriname+597
  • Svalbard and Jan Mayen+47
  • Sweden (Sverige)+46
  • Switzerland (Schweiz)+41
  • Syria (‫سوريا‬‎)+963
  • Taiwan (台灣)+886
  • Tajikistan+992
  • Tanzania+255
  • Thailand (ไทย)+66
  • Timor-Leste+670
  • Togo+228
  • Tokelau+690
  • Tonga+676
  • Trinidad and Tobago+1
  • Tunisia (‫تونس‬‎)+216
  • Turkey (Türkiye)+90
  • Turkmenistan+993
  • Turks and Caicos Islands+1
  • Tuvalu+688
  • U.S. Virgin Islands+1
  • Uganda+256
  • Ukraine (Україна)+380
  • United Arab Emirates (‫الإمارات العربية المتحدة‬‎)+971
  • United Kingdom+44
  • United States+1
  • Uruguay+598
  • Uzbekistan (Oʻzbekiston)+998
  • Vanuatu+678
  • Vatican City (Città del Vaticano)+39
  • Venezuela+58
  • Vietnam (Việt Nam)+84
  • Wallis and Futuna (Wallis-et-Futuna)+681
  • Western Sahara (‫الصحراء الغربية‬‎)+212
  • Yemen (‫اليمن‬‎)+967
  • Zambia+260
  • Zimbabwe+263
  • Åland Islands+358
 
  • Participant

 
  • Participant

 
  • Participant

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

Appelez le +33 (01) 75 31 95 90

Ajouter un collaborateur