Aller au contenu

Bac pro Cybersécurité, informatique et réseaux, électronique (CIEL) · Bac proBac pro

La programmation : cours de Bac pro CIEL

Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur

L'essentiel

  • Programmer, c'est concevoir, écrire, tester et maintenir des programmes à l'aide d'un langage de programmation.
  • Un langage a un vocabulaire, une syntaxe et des significations ; un compilateur traduit tout le code avant l'exécution, un interprète traduit « à la volée ».
  • Un programme repose sur quelques briques : variables, conditions, boucles (for, while), fonctions et tableaux.
  • Un bon programme se teste, gère les erreurs (exceptions) et reste lisible pour les autres programmeurs.
  • En CIEL, tu programmeras en Python et en MicroPython, y compris sur des cartes microcontrôleurs.

Pourquoi apprendre à programmer en CIEL

Dans la filière Cybersécurité, informatique et réseaux, électronique, tu manipules des systèmes qui obéissent tous à des instructions écrites par des humains : un serveur, un routeur, une carte électronique, un outil d'analyse de journaux. Savoir lire et écrire ces instructions, c'est ce qui te permet de comprendre ce que fait une machine, de l'automatiser, et de repérer quand quelque chose cloche.

Ce cours fait suite à celui sur les systèmes d'exploitation. Tu y as vu comment la machine gère ses ressources ; ici, tu apprends à lui donner un travail précis à exécuter. Il te servira aussi dans d'autres domaines de la filière, où tu écriras ou liras souvent de petits scripts.

Remarque le mot « activités » au pluriel. Programmer ne se résume pas à taper du code : il faut d'abord comprendre le problème, ensuite écrire, puis vérifier que cela marche, et enfin faire évoluer le programme dans le temps. Ces quatre temps reviendront tout au long du cours.

Dans les ressources pédagogiques proposées aux enseignants de la voie technologique et professionnelle, on trouve beaucoup d'activités en Python, par exemple la programmation d'une carte microcontrôleur Pico avec MicroPython pour commander des feux tricolores ou un ventilateur. 2 C'est exactement le type de situation où l'informatique, les réseaux et l'électronique se rejoignent, et c'est pourquoi les exemples de ce cours sont écrits en Python.

Programme, algorithme et langage

Avant de parler de langage, il faut distinguer deux idées proches.

  • Un algorithme est une suite d'étapes qui résout un problème, indépendamment de tout langage. Une recette de cuisine en est un bon exemple.
  • Un programme est la version de cet algorithme écrite dans un langage que la machine peut exécuter.

Le langage fait le lien entre les deux.

Un langage de programmation sert à décrire deux choses : les structures de données que la machine va manipuler, et la manière de les manipuler, c'est-à-dire les algorithmes. 5 Cela correspond à ce que tu feras dans presque tous tes programmes : déclarer des variables ou des tableaux pour stocker des informations, puis écrire des instructions qui les transforment.

Le langage joue aussi un rôle humain. Il permet de dialoguer avec l'ordinateur, mais aussi entre programmeurs, puisque les programmes sont en général écrits, lus et modifiés par plusieurs personnes. 5 Voilà pourquoi la lisibilité compte autant que le résultat : un code que personne ne comprend est un code que personne ne sait corriger.

Du code source à l'exécution : compilateur et interprète

Ton processeur ne comprend pas le Python. Il exécute des instructions en langage machine. Il faut donc un intermédiaire qui traduit ce que tu écris.

De l'écriture à l'exécutionQuatre étapes : écrire le code source, le traduire, obtenir un code exécutable, l'exécuter.1Code sourceTu écris le programme dans un langage2TraductionCompilateur ou interprète3Langage machineInstructions du processeur4ExécutionLa machine réalise le travail
  1. Code sourceTu écris le programme dans un langage
  2. TraductionCompilateur ou interprète
  3. Langage machineInstructions du processeur
  4. ExécutionLa machine réalise le travail
De l'écriture à l'exécution · Le traducteur est un compilateur ou un interprète.

Pour comparer, imagine deux façons de comprendre un discours en langue étrangère :

  • le compilateur ressemble à un traducteur qui rend d'abord le texte complet traduit, que tu lis ensuite sans lui ;
  • l'interprète ressemble à un interprète de conférence, qui traduit phrase après phrase pendant que l'orateur parle.

Le premier produit un résultat réutilisable ; le second réagit tout de suite, ce qui est pratique pour tester.

Lors de la traduction vers le langage machine, les opérations simples donnent directement les instructions correspondantes, tandis que les opérations complexes font appel à des fonctions d'un environnement d'exécution, appelé runtime. 5 Tu n'as pas à connaître ces détails pour écrire un programme : le traducteur et le runtime s'en chargent pour toi.

Les variables et les types de données

Un programme manipule des informations : un nombre de tentatives de connexion, un nom d'utilisateur, une température mesurée. Pour les retenir, il les range dans des variables.

Le type décide de ce qu'on peut faire avec la valeur. On peut ajouter deux entiers, mettre deux textes bout à bout, mais additionner un texte et un nombre provoque une erreur.

Les langages offrent aussi des structures plus riches. Dans un programme courant, on rencontre des tableaux alloués dynamiquement, très souvent des éléments de programmation objet qui permettent de créer des types de données personnalisés, et des exceptions pour gérer plus facilement les cas d'erreur. 4

Les conditions : faire des choix

Un programme qui exécute toujours les mêmes lignes dans le même ordre est peu utile. Dès qu'il doit réagir à une situation, il a besoin d'une condition.

Les boucles : répéter sans recopier

Pour contrôler cent adresses, on n'écrit pas cent fois la même ligne. Les boucles while et for permettent d'exécuter un morceau de code en boucle, ou un certain nombre de fois. 4

Les fonctions : découper et réutiliser

Quand un programme grossit, on le découpe en petits morceaux nommés. Une fonction regroupe des instructions sous un nom, reçoit éventuellement des valeurs (les paramètres) et peut renvoyer un résultat.

Tester, déboguer et gérer les erreurs

Le test fait partie de la programmation à part entière, au même titre que l'écriture. 4 Un programme qui « semble marcher » une fois n'est pas un programme qui marche.

La démarche de débogageCinq étapes : reproduire, lire, observer, isoler, corriger.1ReproduireTrouver les données fautives2LireMessage d'erreur et numéro de ligne3ObserverAfficher les variables4IsolerTester la fonction seule5CorrigerPuis relancer tous les tests
  1. ReproduireTrouver les données fautives
  2. LireMessage d'erreur et numéro de ligne
  3. ObserverAfficher les variables
  4. IsolerTester la fonction seule
  5. CorrigerPuis relancer tous les tests
La démarche de débogage · À répéter jusqu'à ce que tous les tests passent.

Même un code correct peut échouer face à une donnée inattendue. Un exemple simple : un programme qui demande un nombre et reçoit un mot. Le code ne traite pas toujours ce cas, ce qui montre bien que la gestion des erreurs demande un effort supplémentaire. 4 Les exceptions servent à gérer plus facilement ces situations. 4

Écrire du code lisible et durable

Le dernier temps de la programmation est la maintenance. 4 Un programme vit longtemps : on le corrige, on l'adapte, on le transmet. Voici de bonnes habitudes qui facilitent ce travail.

Les langages ont d'ailleurs évolué pour aider le programmeur à réaliser des programmes rapides à l'exécution, sans dysfonctionnement et simples à écrire. 4 Python et JavaScript sont des choix répandus dans les ressources d'apprentissage : on y trouve aussi bien des bases de programmation que la réalisation de jeux ou d'applications web. 3

Exercices corrigés

Exercice 1 Somme des multiples de 3

★☆☆Environ 8 min

On considère le programme suivant :

total = 0
for n in range(3, 20, 3):
    total = total + n
print(total)

La fonction range(3, 20, 3) produit les entiers de 3 à 19 en avançant de 3 en 3.

  1. Quelles valeurs prend n ?
  2. Quelle valeur le programme affiche-t-il ?
Indice 1

Écris la liste des valeurs : on part de 3 et on ajoute 3 tant qu'on reste strictement inférieur à 20.

Indice 2

Suis l'évolution de total tour par tour.

Voir la correction pas à pas
  1. Valeurs de n : 3, 6, 9, 12, 15, 18. Le suivant, 21, dépasse 19 donc il est exclu.

  2. Évolution de total : 0, puis 3, puis 9, puis 18, puis 30, puis 45, puis 63.

  3. Le programme affiche la valeur finale de total, soit 63.

Le programme affiche 63. Suivre les variables dans un tableau, tour après tour, est la méthode la plus sûre pour prévoir le résultat d'une boucle.

Exercice 2 Moyenne de températures

★★☆Environ 10 min

Un capteur relève quatre températures en degrés Celsius : 18, 21, 19 et 24. Un programme stocke ces valeurs dans une liste mesures, calcule leur somme avec une boucle for, puis divise par len(mesures).

  1. Quelle est la valeur de len(mesures) ?
  2. Quelle moyenne le programme calcule-t-il, en °C ?
Indice 1

len renvoie le nombre d'éléments de la liste.

Indice 2

Additionne d'abord toutes les valeurs, puis divise.

Voir la correction pas à pas
  1. La liste contient 4 valeurs, donc len(mesures) vaut 4.

  2. La boucle calcule la somme : 18 + 21 + 19 + 24 = 82.

  3. Le programme divise : 82 / 4 = 20,5.

  4. La moyenne est donc 20,5 °C.

La moyenne vaut 20,5 °C. Dans le code, la division / renvoie un nombre décimal ; c'est ce qui permet d'obtenir 20.5 plutôt qu'un entier arrondi.

Exercice 3 Combien de doublements ?

★★★Environ 12 min

Voici un programme :

valeur = 1
tours = 0
while valeur <= 100:
    valeur = valeur * 2
    tours = tours + 1
print(tours)
  1. Dresse la liste des valeurs successives de valeur.
  2. Quel nombre de tours le programme affiche-t-il ?
  3. Que se passerait-il si on supprimait la ligne valeur = valeur * 2 ?
Indice 1

La condition est testée avant chaque tour : la boucle s'arrête dès que valeur dépasse 100.

Indice 2

Les valeurs sont des puissances de 2.

Voir la correction pas à pas
  1. Valeurs successives : 1, 2, 4, 8, 16, 32, 64, 128.

  2. On passe de 1 à 128 en 7 doublements ; à la fin du septième tour, valeur vaut 128, qui est supérieur à 100, donc la condition devient fausse.

  3. Le compteur tours vaut 7 : le programme affiche 7.

  4. Sans la ligne de doublement, valeur resterait égale à 1 : la condition serait toujours vraie et la boucle ne s'arrêterait jamais (boucle infinie).

Le programme affiche 7. Pour une boucle while, repère toujours l'instruction qui fait évoluer la condition vers « faux ».

Quiz

8 questions · correction immédiate · ton score reste sur ton appareil.

  1. Quelles activités la programmation informatique regroupe-t-elle ?

  2. Quelle différence y a-t-il entre un compilateur et un interprète ?

  3. Un programme tourne sans aucun message d'erreur, mais affiche une moyenne fausse. De quel type d'erreur s'agit-il ?

  4. Que vaut la variable x à la fin de ce code ?

    x = 5
    x = x + 2
    

  5. Quelle boucle est la plus adaptée quand on ignore combien de tours seront nécessaires ?

  6. Une fonction qui contient seulement print(total) peut être utilisée dans un calcul par le reste du programme.

  7. Parmi ces affirmations sur le langage de programmation, lesquelles sont exactes ?

    Plusieurs réponses possibles.

  8. Que signifie la portabilité d'un programme ?

Les questions qu'on se pose

Faut-il être bon en mathématiques pour programmer ?

Non. Il faut surtout de la logique et de la méthode : décomposer un problème en petites étapes, suivre des valeurs, vérifier un résultat. Les calculs des programmes de CIEL restent simples ; la rigueur compte davantage que les formules.

Pourquoi apprendre Python plutôt qu'un autre langage ?

Python est très présent dans les ressources pédagogiques de la filière, y compris pour programmer des cartes microcontrôleurs avec MicroPython. 2 Mais les notions de ce cours (variables, conditions, boucles, fonctions) se retrouvent dans pratiquement tous les langages : changer de langage revient surtout à changer de syntaxe.

Mon programme affiche une erreur : que faire en premier ?

Lis le message en entier, du bas vers le haut : il donne le type d'erreur et la ligne concernée. Ensuite, affiche les valeurs de tes variables autour de cette ligne. Ne modifie pas le code au hasard : une correction doit venir d'une explication.

Quelle différence entre un algorithme et un programme ?

Un algorithme est la suite d'étapes qui résout le problème, indépendamment du langage. Le programme est cet algorithme écrit dans un langage de programmation précis, que la machine peut exécuter. 5

Comment savoir si mon programme est juste ?

En le testant avec des cas dont tu connais la réponse à l'avance, des cas limites (liste vide, valeur nulle) et des données inattendues. Un seul essai réussi ne prouve rien : le test fait partie intégrante de la programmation. 4

Sources

Programme visé : Bac pro Cybersécurité, Informatique et réseaux, Électronique (CIEL) — rentrée 2023 · Éduscol STI (Ministère de l'Éducation nationale)

  1. Bac pro Cybersécurité, Informatique et réseaux, Électronique (CIEL) — rentrée 2023, Éduscol STI (Ministère de l'Éducation nationale). Consulté le 9 novembre 2026.
  2. Python — ressources et logiciels pour l'enseignement, Éduscol STI. Consulté le 9 novembre 2026.
  3. Des ressources libres sur la science informatique (programmation, machine, réseau, codage de l'information), Éduscol STI. Consulté le 9 novembre 2026.
  4. Programmation informatique, Wikipédia. Consulté le 9 novembre 2026.
  5. Langage de programmation, Wikipédia. Consulté le 9 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2
  • CM1
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page