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.
- Code sourceTu écris le programme dans un langage
- TraductionCompilateur ou interprète
- Langage machineInstructions du processeur
- ExécutionLa machine réalise le travail
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.
- ReproduireTrouver les données fautives
- LireMessage d'erreur et numéro de ligne
- ObserverAfficher les variables
- IsolerTester la fonction seule
- CorrigerPuis relancer tous les tests
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
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.
- Quelles valeurs prend
n? - 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
Valeurs de
n: 3, 6, 9, 12, 15, 18. Le suivant, 21, dépasse 19 donc il est exclu.Évolution de
total: 0, puis 3, puis 9, puis 18, puis 30, puis 45, puis 63.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
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).
- Quelle est la valeur de
len(mesures)? - 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
La liste contient 4 valeurs, donc
len(mesures)vaut 4.La boucle calcule la somme : 18 + 21 + 19 + 24 = 82.
Le programme divise : 82 / 4 = 20,5.
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 ?
Voici un programme :
valeur = 1
tours = 0
while valeur <= 100:
valeur = valeur * 2
tours = tours + 1
print(tours)
- Dresse la liste des valeurs successives de
valeur. - Quel nombre de tours le programme affiche-t-il ?
- 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
Valeurs successives : 1, 2, 4, 8, 16, 32, 64, 128.
On passe de 1 à 128 en 7 doublements ; à la fin du septième tour,
valeurvaut 128, qui est supérieur à 100, donc la condition devient fausse.Le compteur
toursvaut 7 : le programme affiche 7.Sans la ligne de doublement,
valeurresterait é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.
-
La programmation couvre quatre temps : concevoir, écrire, tester et maintenir. 4 Réduire la programmation à l'écriture du code est l'erreur tentante : sans conception ni tests, le programme n'est ni fiable ni durable.
-
Le compilateur produit un code cible exécutable ensuite ; l'interprète traduit pendant l'exécution. 5 La deuxième réponse inverse les rôles, ce qui est une confusion fréquente.
-
Le programme s'exécute, donc la syntaxe est correcte ; c'est la démarche de calcul qui est fausse, soit une erreur de logique, que seuls les tests révèlent. Une erreur de syntaxe aurait été signalée par le traducteur.
-
La première ligne range 5 dans
x. La seconde lit la valeur actuelle (5), ajoute 2 et range 7. Ce n'est pas une équation : l'égalitéx = x + 2serait impossible en mathématiques, mais c'est une affectation valide. -
La boucle
whilerépète tant qu'une condition est vraie, sans nombre de tours fixé.forconvient quand on parcourt une collection ou quand le nombre de tours est connu. -
printaffiche à l'écran mais ne transmet rien au programme appelant. Pour réutiliser un résultat, il fautreturn. -
Un langage décrit les données et les traitements, sert de moyen de communication entre programmeurs, et possède vocabulaire, syntaxe et significations. 5 La troisième affirmation est fausse : un langage, même lisible, n'évite jamais les tests.
-
La portabilité est la possibilité de transférer un programme écrit pour une plateforme afin de l'exécuter sur une autre. 5 La taille du fichier ou la vitesse n'ont rien à voir avec cette notion.
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)
- 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.
- Python — ressources et logiciels pour l'enseignement, Éduscol STI. Consulté le 9 novembre 2026.
- Des ressources libres sur la science informatique (programmation, machine, réseau, codage de l'information), Éduscol STI. Consulté le 9 novembre 2026.
- Programmation informatique, Wikipédia. Consulté le 9 novembre 2026.
- 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.