Programmation et automatisation

Scripts métier

Rédigé par l'équipe éditoriale de RévisionBac d'après le programme officiel · Mis à jour le · Méthodologie

Se connecter pour contribuerPublié le · Dernière mise à jour le

En clair. Programmer, c'est décrire une suite d'instructions pour automatiser une tâche répétitive.

Ce qu'on te demande au bac STMG : lire un algorithme simple, repérer conditions et boucles, corriger une erreur.

Exemple simple. Une boucle calcule le total d'un panier sans additionner à la main.

Introduction

En spécialité Systèmes d'Information de Gestion, la programmation n'est pas une fin en soi : elle sert à automatiser un traitement de gestion (contrôler une saisie, calculer une remise, produire un indicateur) et à comprendre comment une application dialogue avec une base de données. Le programme s'appuie sur Python côté traitement, SQL côté données et HTML/CSS/JavaScript côté interface.

1. Notions fondamentales

Algorithme : suite finie et ordonnée d'instructions permettant de résoudre un problème. Un programme est la traduction d'un algorithme dans un langage exécutable.

  • Variable : espace mémoire nommé contenant une valeur d'un certain type (entier, flottant, chaîne, booléen).
  • Structures de contrôle : séquence, condition (if / elif / else), boucles (for bornée, while conditionnelle).
  • Fonction : bloc réutilisable avec paramètres d'entrée et valeur de retour ; elle évite la duplication de code.
  • Structures de données : liste (ordonnée, modifiable), dictionnaire (paires clé-valeur), tuple (immuable).

2. Exemple de gestion : calculer une remise

def prix_remise(montant, fidele):
    """Retourne le prix TTC après remise commerciale."""
    if montant >= 500:
        taux = 0.10
    elif montant >= 200:
        taux = 0.05
    else:
        taux = 0.0
    if fidele:
        taux += 0.02
    net_ht = montant * (1 - taux)
    return round(net_ht * 1.20, 2)

print(prix_remise(600, True))   # 600 * 0,88 = 528 HT -> 633.60 TTC

Ce programme illustre trois bonnes pratiques : une fonction documentée, des conditions ordonnées de la plus restrictive à la plus large, et un arrondi monétaire final.

3. Parcourir des données de gestion

ventes = [
    {"client": "Durand", "montant": 120.0},
    {"client": "Nguyen", "montant": 540.0},
    {"client": "Lopez",  "montant": 260.0},
]

total = 0
for v in ventes:
    total += v["montant"]

moyenne = total / len(ventes)
gros_clients = [v["client"] for v in ventes if v["montant"] > 250]

print(total, round(moyenne, 2), gros_clients)
# 920.0 306.67 ['Nguyen', 'Lopez']

La liste de dictionnaires est la représentation naturelle d'un résultat de requête SQL : chaque dictionnaire est un enregistrement, chaque clé une colonne.

4. Programmation et base de données

Le schéma type d'une application de gestion est en trois couches :

CoucheRôleTechnologie
Présentationafficher, saisir, contrôler la formeHTML, CSS, JavaScript
Traitementrègles de gestion, calculs, contrôlesPython (ou PHP)
Donnéesstockage persistant, intégritéSGBD relationnel, SQL

Extrait de traitement côté données :

SELECT c.nom, SUM(l.quantite * l.prix_unitaire) AS ca
FROM client c
JOIN commande cd ON cd.id_client = c.id_client
JOIN ligne l     ON l.id_commande = cd.id_commande
GROUP BY c.nom
HAVING SUM(l.quantite * l.prix_unitaire) > 1000
ORDER BY ca DESC;

Règle essentielle : les paramètres saisis par l'utilisateur ne sont jamais concaténés dans la requête ; on utilise des requêtes préparées pour éviter l'injection SQL.

5. Qualité et tests

  • Jeu d'essai : tester les cas normaux, les cas limites (montant = 200, = 500) et les cas d'erreur (montant négatif, champ vide).
  • Traçabilité : commenter, nommer les variables en français métier (montant_ht, taux_remise).
  • Robustesse : contrôler les types et gérer les exceptions (try / except).
  • Sécurité et RGPD : ne pas stocker de données personnelles inutiles, limiter les droits d'accès selon le profil utilisateur.

Tableau de tests de prix_remise

montantfidèletaux attenduprix TTC attendu
100non0 %120,00
200non5 %228,00
500oui12 %528,00

Ce qu'il faut retenir

  • Un programme de gestion traduit des règles métier en conditions et boucles.
  • Les données de gestion se manipulent en listes de dictionnaires, image d'une table relationnelle.
  • L'architecture trois couches sépare présentation, traitement et données.
  • Requêtes préparées, jeux d'essai et respect du RGPD conditionnent la fiabilité d'une application.

Quiz de révision

0/3 répondues · 0 bonne réponse
Progression0/3 · 0%
  1. Question 1.

    Dans la fonction prix_remise, quel est le taux appliqué pour un montant de 250 € à un client fidèle ?

  2. Question 2.

    Quelle structure Python correspond le mieux à un enregistrement d'une table (colonnes nommées) ?

  3. Question 3.

    Pourquoi utiliser des requêtes préparées ?

Sources et références

Ce cours est rédigé par l'équipe RévisionBac à partir du programme officiel et des sources institutionnelles ci-dessous. Elles permettent de vérifier les définitions, les chiffres et les normes citées.

  1. 1.Programmes et ressources du lycée général et technologique — Éduscol — Ministère de l'Éducation nationale
  2. 2.Bulletin officiel de l'Éducation nationale (programmes du baccalauréat) — education.gouv.fr
  3. 3.Protection des données personnelles (RGPD) — CNIL
  4. 4.Bonnes pratiques de cybersécurité — ANSSI
  5. 5.Textes de loi et jurisprudence — Légifrance
  6. 6.Archives et ressources documentaires — Archives nationales

Contenu vérifié et mis à jour le 09/09/2026. Les liens renvoient vers les sites officiels des éditeurs cités.

Historique éditorial

Ce chapitre est rédigé et relu par l'équipe RévisionBac, puis enrichi par les contributions validées.

  1. — Dernière mise à jour du cours (relecture et enrichissement)
  2. — Première publication de la fiche de cours