0% ont trouvé ce document utile (0 vote)
6 vues19 pages

Python Guide Complet

Ce guide complet sur Python présente les bases du langage, ses types de données, structures de contrôle, fonctions, et la programmation orientée objet. Il aborde également la gestion des erreurs, l'utilisation de modules essentiels pour la cybersécurité, ainsi que la programmation asynchrone pour surveiller des endpoints. Des exemples de code illustrent chaque concept, rendant le guide accessible aux débutants et utile pour les développeurs avancés.

Transféré par

bradfarel91
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues19 pages

Python Guide Complet

Ce guide complet sur Python présente les bases du langage, ses types de données, structures de contrôle, fonctions, et la programmation orientée objet. Il aborde également la gestion des erreurs, l'utilisation de modules essentiels pour la cybersécurité, ainsi que la programmation asynchrone pour surveiller des endpoints. Des exemples de code illustrent chaque concept, rendant le guide accessible aux débutants et utile pour les développeurs avancés.

Transféré par

bradfarel91
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

🐍

PYTHON
Guide Complet avec Exemples de Code
De la syntaxe de base aux applications avancées

Mai 2026 • CyberGuard AI Project

Python — Guide Complet | CyberGuard AI Project | 2026


1. Introduction à Python
Python est un langage de programmation interprété, à typage dynamique, créé par Guido van
Rossum en 1991. Il est aujourd'hui le langage le plus populaire au monde grâce à sa syntaxe
lisible, sa polyvalence et son écosystème exceptionnel.

1.1 Pourquoi Python ?


• Syntaxe claire et lisible — le code ressemble à du pseudo-code
• Multiparadigme — orienté objet, fonctionnel, procédural
• Écosystème immense — 400 000+ packages sur PyPI
• Communauté massive — ressources et support illimités
• Idéal pour l'IA, la cybersécurité, le web, l'automatisation

1.2 Votre premier programme Python


# Mon premier programme Python
print("Bonjour, CyberGuard AI !")

# Variables et types de base


nom = 'Python'
version = 3.12
actif = True

print(f"Langage : {nom}, Version : {version}, Actif : {actif}")


# Résultat : Langage : Python, Version : 3.12, Actif : True

Python — Guide Complet | CyberGuard AI Project | 2026


2. Types de Données
Python possède des types de données natifs puissants. Comprendre ces types est fondamental
pour écrire du code efficace.

Type Exemple Description

int 42, -10, 1_000_000 Entiers (taille illimitée)


float 3.14, -0.5, 1e10 Nombres décimaux (64-bit)
str "hello", 'world' Chaînes de caractères (immutables)
bool True, False Booléens (sous-classe de int)
list [1, 'a', True] Liste ordonnée et modifiable
tuple (1, 2, 3) Séquence ordonnée immuable
dict {"clé": valeur} Paires clé-valeur (hashmap)
set {1, 2, 3} Ensemble sans doublons

2.1 Exemples de manipulation


# Listes — collection ordonnée et modifiable
menaces = ['virus', 'ransomware', 'phishing', 'ddos']
[Link]('spyware') # Ajouter
[Link]('ddos') # Supprimer
print(menaces[0]) # 'virus' (index 0)
print(menaces[-1]) # 'spyware' (dernier)
print(menaces[1:3]) # ['ransomware', 'phishing']

# Dictionnaires — paires clé-valeur


alerte = {
'type': 'malware',
'niveau': 'critique',
'ip_source': '[Link]',
'port': 4444
}
print(alerte['type']) # 'malware'
alerte['traite'] = False # Ajouter une clé

# Sets — valeurs uniques


ips_suspectes = {'[Link]', '[Link]', '[Link]'}
print(ips_suspectes) # {'[Link]', '[Link]'}

Python — Guide Complet | CyberGuard AI Project | 2026


3. Structures de Contrôle
Les structures de contrôle permettent de diriger le flux d'exécution du programme selon des
conditions ou de répéter des blocs de code.

3.1 Conditions (if / elif / else)


niveau_menace = 85 # Score de 0 à 100

if niveau_menace >= 90:


print("🔴 CRITIQUE — Bloquer immédiatement")
elif niveau_menace >= 70:
print("🟠 ÉLEVÉ — Alerte prioritaire")
elif niveau_menace >= 40:
print("🟡 MODÉRÉ — Surveillance renforcée")
else:
print("🟢 FAIBLE — Journalisation simple")

# Résultat : 🟠 ÉLEVÉ — Alerte prioritaire

# Condition ternaire (one-liner)


statut = "bloqué" if niveau_menace > 80 else "autorisé"

3.2 Boucles (for / while)


# Boucle for — itérer sur une liste
fichiers_suspects = ['[Link]', '[Link]', '[Link]']

for fichier in fichiers_suspects:


print(f'Analyse de : {fichier}')

# Boucle for avec range


for i in range(1, 6):
print(f'Scan port {i000 + i}...')

# Boucle while — conditions dynamiques


tentatives = 0
max_tentatives = 3

while tentatives < max_tentatives:


code = input('Entrez le code : ')
if code == '1234':
print('Accès autorisé')

Python — Guide Complet | CyberGuard AI Project | 2026


break
tentatives += 1
print(f'Échec ({tentatives}/{max_tentatives})')
else:
print('Compte bloqué')

Python — Guide Complet | CyberGuard AI Project | 2026


4. Fonctions
Les fonctions permettent de structurer et réutiliser le code. Python offre une grande flexibilité dans
la définition des paramètres.

4.1 Fonctions de base


def analyser_fichier(chemin, niveau_sensibilite=50):
"""
Analyse un fichier pour détecter des menaces.
Retourne un score de dangerosité entre 0 et 100.
"""
# Simulation d'analyse
score = len(chemin) * 2 # Simplification pour l'exemple
if score > niveau_sensibilite:
return score, 'SUSPECT'
return score, 'SAIN'

# Appels de la fonction
score, statut = analyser_fichier('[Link]')
print(f'Score: {score}, Statut: {statut}')

score, statut = analyser_fichier('[Link]', niveau_sensibilite=30)


print(f'Score: {score}, Statut: {statut}')

4.2 Fonctions avancées


# *args — nombre variable d'arguments
def scanner_ports(*ports):
ouverts = []
for port in ports:
if port in [80, 443, 22, 21]: # Simulation
[Link](port)
return ouverts

print(scanner_ports(80, 443, 8080, 9999)) # [80, 443]

# **kwargs — arguments nommés variables


def creer_alerte(**infos):
alerte = {clé: valeur for clé, valeur in [Link]()}
return alerte

a = creer_alerte(type='ddos', ip='[Link]', gravite='haute')

Python — Guide Complet | CyberGuard AI Project | 2026


print(a)

# Lambda — fonction anonyme


trier_par_gravite = lambda alertes: sorted(alertes, key=lambda x: x['score'],
reverse=True)

Python — Guide Complet | CyberGuard AI Project | 2026


5. Programmation Orientée Objet (POO)
La POO permet de modéliser le monde réel en regroupant données et comportements dans des
objets. C'est le paradigme central pour construire CyberGuard AI.

5.1 Classes et Objets


class Menace:
"""Représente une menace cybersécurité détectée."""

# Attribut de classe (partagé par toutes les instances)


base_de_donnees = []

def __init__(self, type_menace, ip_source, score):


self.type_menace = type_menace
self.ip_source = ip_source
[Link] = score
[Link] = False
Menace.base_de_donnees.append(self)

def evaluer(self):
if [Link] >= 80:
return 'CRITIQUE'
elif [Link] >= 50:
return 'MODÉRÉE'
return 'FAIBLE'

def traiter(self):
[Link] = True
print(f'Menace {self.type_menace} traitée ✓')

def __str__(self):
return f'[{[Link]()}] {self.type_menace} depuis {self.ip_source}'

# Utilisation
m1 = Menace('ransomware', '[Link]', 95)
m2 = Menace('phishing', '[Link]', 45)

print(m1) # [CRITIQUE] ransomware depuis [Link]


print([Link]()) # FAIBLE
[Link]() # Menace ransomware traitée ✓
print(f'Total menaces: {len(Menace.base_de_donnees)}')

Python — Guide Complet | CyberGuard AI Project | 2026


5.2 Héritage
class MenaceIA(Menace):
"""Menace générée par une IA adverse — hérite de Menace."""

def __init__(self, ip_source, score, modele_ia):


super().__init__('IA_ADVERSE', ip_source, score)
self.modele_ia = modele_ia
self.auto_adaptative = True

def contrer(self):
print(f'Contre-mesure IA activée contre {self.modele_ia}')
[Link] = max(0, [Link] - 30) # Réduction du score

def __str__(self):
return f'[IA] {self.modele_ia} @ {self.ip_source} — Score: {[Link]}'

ia_adverse = MenaceIA('[Link]', 99, 'GhostBot-v3')


print(ia_adverse) # [IA] GhostBot-v3 @ [Link] — Score: 99
ia_adverse.contrer() # Contre-mesure IA activée contre GhostBot-v3
print(ia_adverse.score) # 69

Python — Guide Complet | CyberGuard AI Project | 2026


6. Gestion des Erreurs
La gestion des exceptions est cruciale en cybersécurité — une erreur non gérée peut provoquer
une interruption de service ou exposer des informations sensibles.

6.1 Try / Except / Finally


import json

def charger_config_securite(chemin_fichier):
try:
with open(chemin_fichier, 'r') as f:
config = [Link](f)
print('Configuration chargée avec succès')
return config

except FileNotFoundError:
print(f'ERREUR : Fichier {chemin_fichier} introuvable')
return {}

except [Link] as e:
print(f'ERREUR : JSON invalide — {e}')
return {}

except PermissionError:
print('ERREUR : Accès refusé (droits insuffisants)')
return {}

finally:
# Toujours exécuté, même en cas d'erreur
print('Tentative de chargement terminée')

config = charger_config_securite('[Link]')

6.2 Exceptions personnalisées


class MenaceNonAutoriseeError(Exception):
"""Levée quand une menace critique n'est pas traitée."""
pass

class ScoreInvalideError(ValueError):
pass

Python — Guide Complet | CyberGuard AI Project | 2026


def valider_score(score):
if not isinstance(score, int):
raise ScoreInvalideError(f'Score doit être un entier, reçu:
{type(score)}')
if not 0 <= score <= 100:
raise ScoreInvalideError(f'Score doit être entre 0 et 100, reçu: {score}')
return score

try:
valider_score(150)
except ScoreInvalideError as e:
print(f'Validation échouée : {e}')

Python — Guide Complet | CyberGuard AI Project | 2026


7. Modules et Bibliothèques
L'écosystème Python est l'un de ses plus grands atouts. Voici les bibliothèques essentielles pour
CyberGuard AI.

Bibliothèque Domaine Utilisation dans CyberGuard AI

os / sys Système Accès aux fichiers, processus, variables


d'environnement
socket Réseau Analyse du trafic réseau, détection d'intrusions
hashlib Cryptographie Hash MD5/SHA des fichiers pour signature de
malwares
requests HTTP Appels API VirusTotal, threat intelligence feeds
scikit-learn Machine Learning Modèles de classification de malwares
pandas Données Analyse des logs et journaux d'événements
FastAPI API Web Exposer les modèles ML via API REST
asyncio Asynchrone Surveillance simultanée de milliers d'endpoints

7.1 Exemple — Hachage de fichiers (détection malware)


import hashlib
import os

# Base de signatures de malwares connus (simplifiée)


SIGNATURES_MALWARES = {
'd41d8cd98f00b204e9800998ecf8427e': '[Link]',
'a87ff679a2f3e71d9181a67b7542122c': '[Link]',
}

def analyser_fichier_hash(chemin):
"""Calcule le MD5 et vérifie contre les signatures."""
try:
hasher = hashlib.md5()
with open(chemin, 'rb') as f:
while chunk := [Link](8192):
[Link](chunk)
hash_md5 = [Link]()

if hash_md5 in SIGNATURES_MALWARES:
return {'statut': 'MALWARE', 'nom': SIGNATURES_MALWARES[hash_md5],
'hash': hash_md5}

Python — Guide Complet | CyberGuard AI Project | 2026


return {'statut': 'SAIN', 'hash': hash_md5}

except FileNotFoundError:
return {'statut': 'ERREUR', 'message': 'Fichier introuvable'}

# Utilisation
resultat = analyser_fichier_hash('fichier_suspect.exe')
print(resultat)

Python — Guide Complet | CyberGuard AI Project | 2026


8. Programmation Asynchrone
L'asynchronisme est indispensable pour surveiller simultanément des milliers d'endpoints sans
bloquer le programme. Python utilise asyncio pour cela.

8.1 async / await


import asyncio
import random

async def scanner_endpoint(ip, port):


"""Simule le scan d'un endpoint de façon asynchrone."""
# Simule un délai réseau variable
delai = [Link](0.1, 0.5)
await [Link](delai)

# Simulation de détection
menace_detectee = [Link]() < 0.2 # 20% de chance
statut = '🔴 MENACE' if menace_detectee else '🟢 OK'
print(f'{ip}:{port} — {statut} (réponse en {delai:.2f}s)')
return menace_detectee

async def surveiller_reseau(endpoints):


"""Lance tous les scans en parallèle."""
taches = [scanner_endpoint(ip, port) for ip, port in endpoints]
resultats = await [Link](*taches)
nb_menaces = sum(resultats)
print(f'\nBilan : {nb_menaces}/{len(endpoints)} endpoints compromis')

# Lancement
endpoints = [('10.0.0.' + str(i), 443) for i in range(1, 11)]
[Link](surveiller_reseau(endpoints))

Python — Guide Complet | CyberGuard AI Project | 2026


9. Fichiers et Traitement de Données
La lecture et l'écriture de fichiers est omniprésente : logs de sécurité, rapports d'incidents,
configurations, exports JSON/CSV.

9.1 Lecture / Écriture de fichiers


import json
from datetime import datetime

def journaliser_alerte(alerte: dict, fichier_log='[Link]'):


"""Ajoute une alerte au journal JSON."""
alerte['timestamp'] = [Link]().isoformat()

# Charger les alertes existantes


try:
with open(fichier_log, 'r') as f:
historique = [Link](f)
except (FileNotFoundError, [Link]):
historique = []

# Ajouter et sauvegarder
[Link](alerte)
with open(fichier_log, 'w') as f:
[Link](historique, f, indent=2, ensure_ascii=False)

print(f'Alerte journalisée : {alerte["type"]}')

# Utilisation
journaliser_alerte({'type': 'ransomware', 'ip': '[Link]', 'score': 98})
journaliser_alerte({'type': 'phishing', 'ip': '[Link]', 'score': 67})

9.2 Compréhensions de listes (List Comprehensions)


alertes = [
{'type': 'virus', 'score': 92, 'ip': '[Link]'},
{'type': 'phishing', 'score': 45, 'ip': '[Link]'},
{'type': 'ransomware', 'score': 98, 'ip': '[Link]'},
{'type': 'spyware', 'score': 38, 'ip': '[Link]'},
]

# Filtrer les alertes critiques (score >= 80)


critiques = [a for a in alertes if a['score'] >= 80]

Python — Guide Complet | CyberGuard AI Project | 2026


print(critiques) # virus et ransomware

# Extraire uniquement les IPs suspectes


ips = [a['ip'] for a in alertes if a['score'] >= 80]
print(ips) # ['[Link]', '[Link]']

# Dict comprehension — index par type


index = {a['type']: a['score'] for a in alertes}
print(index) # {'virus': 92, 'phishing': 45, ...}

Python — Guide Complet | CyberGuard AI Project | 2026


10. Mini-Application CyberGuard AI
Voici un exemple complet qui intègre tous les concepts vus : classes, fonctions, gestion d'erreurs,
fichiers et logique métier.

import hashlib, json, os


from datetime import datetime

class CyberGuardAI:
"""Moteur de détection simplifié CyberGuard AI."""

SIGNATURES = {
'a87ff679a2f3e71d9181a67b7542122c': '[Link]',
'e4da3b7fbbce2345d7772b0674a318d5': '[Link]',
}

def __init__(self):
[Link] = []
self.total_analyses = 0

def _calculer_hash(self, chemin):


h = hashlib.md5()
with open(chemin, 'rb') as f:
for chunk in iter(lambda: [Link](4096), b''):
[Link](chunk)
return [Link]()

def analyser(self, chemin):


self.total_analyses += 1
try:
hash_val = self._calculer_hash(chemin)
if hash_val in [Link]:
alerte = {
'fichier': chemin,
'menace': [Link][hash_val],
'hash': hash_val,
'heure': [Link]().isoformat()
}
[Link](alerte)
print(f'🔴 MENACE DÉTECTÉE : {alerte["menace"]} dans {chemin}')
return alerte
print(f'🟢 SAIN : {chemin}')
return None
except FileNotFoundError:
print(f'⚠️ Fichier introuvable : {chemin}')

Python — Guide Complet | CyberGuard AI Project | 2026


def rapport(self):
print(f'\n=== RAPPORT CYBERGUARD AI ===')
print(f'Fichiers analysés : {self.total_analyses}')
print(f'Menaces détectées : {len([Link])}')
for a in [Link]:
print(f' • {a["menace"]} — {a["fichier"]}')

# Lancement
garde = CyberGuardAI()
[Link]('[Link]')
[Link]('[Link]')
[Link]()

Python — Guide Complet | CyberGuard AI Project | 2026


11. Prochaines Étapes
Vous avez maintenant une vue complète de Python. Voici le chemin recommandé pour progresser
vers CyberGuard AI :

Niveau Débutant (0–2 mois)


• Maîtriser les types, boucles, fonctions et classes
• Pratiquer sur [Link] ou LeetCode (niveau Easy)
• Lire : 'Automate the Boring Stuff with Python' (gratuit en ligne)

Niveau Intermédiaire (2–6 mois)


• Apprendre NumPy, Pandas, Scikit-learn
• Construire un premier modèle de classification de malwares
• Maîtriser asyncio pour la surveillance réseau

Niveau Avancé (6–12 mois)


• PyTorch pour le deep learning (détection de comportements anormaux)
• FastAPI pour exposer les modèles en production
• Intégration avec les outils de cybersécurité (YARA, Wireshark, Zeek)

🐍 Python est votre meilleur allié pour construire CyberGuard AI.

Python — Guide Complet | CyberGuard AI Project | 2026

Vous aimerez peut-être aussi