{}const=>[]async()letfn</>var
PythonDéveloppement

Rapports HTML en Python : simples et élégants

Apprenez à enregistrer les données des scripts en HTML — pour les rapports, les graphiques et l'automatisation.

К

Kodik

Auteur

3 min de lecture

Si votre script Python traite des données, enregistre des erreurs ou calcule des métriques, une question logique se pose : et comment est-il pratique de sauvegarder le résultat ?
Le format idéal est HTML. Il est beau, flexible et s'ouvre dans n'importe quel navigateur. Et en plus, il est facile à générer à la volée.

Dans cet article, nous allons vous montrer comment générer rapidement des rapports HTML en Python. Sans cadres ni magie inutiles, seulement des techniques pratiques 💡

🧰 Quand avez-vous besoin d'un rapport HTML ?

  • Après le traitement des données CSV/Excel

  • Pour afficher des graphiques et des tableaux

  • Lors de la collecte de métriques (par exemple, dans les tâches cron)

  • Pour les journaux d'erreurs traités joliment

  • Pour stocker les rapports de projet

📊 Avantages du HTML :

  • Visualisation pratique

  • Prend en charge les styles et les graphiques

  • S'ouvre sur n'importe quel appareil

🔥 100 000+ étudiants déjà avec nous

Marre de lire la théorie ?
Il est temps de coder !

Kodik — une appli où tu apprends à coder par la pratique. Mentor IA, leçons interactives, projets réels.

🤖 IA 24/7
🎓 Certificats
💰 Gratuit
🚀 Commencer
Ont rejoint aujourd'hui

🛠 Méthodes de génération HTML

Méthode

Convient pour

🔹 Assemblage manuel de la ligne

Cas simples

🔹 Moteurs de modèles (Jinja2)

Modèles flexibles

🔹 Pandas .to_html()

Tableaux

🔹 Bibliothèques (WeasyPrint, yattag)

Mise en page étendue

🧪 Exemple 1 : HTML simple manuel

html = """
<!DOCTYPE html>
<html>
<head><title>Report</title></head>
<Body>
 <h1> Sample report </ h1>
  <p>Total users: 25</p>
</body>
</html>
"""

with open("report.html", "w", encoding="utf-8") as f:
    f.write(html)

🧪 Exemple 2 : Pandas .to_html() pour les tableaux

import pandas as pd

df = pd.DataFrame({
    "Name": ["Code", "Alice", "John"],
    "Points": [85, 90, 78]
})

html_table = df.to_html(index=False)

html = f"""
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <style>
    table {{ border-collapse: collapse; width: 50%; margin: 20px auto; }}
    th, td {{ border: 1px solid #ccc; padding: 8px; text-align: center; }}
    th {{ background-color: #f2f2f2; }}
  </style>
</head>
<body>
  <h2 style="text-align:center;"> Score table </h2>
  {html_table}
</body>
</html>
"""

with open("report.html", "w", encoding="utf-8") as f:
    f.write(html)

🧪 Exemple 3 : Jinja2 — modèles avec données

from jinja2 import Environment, FileSystemLoader

data = {"users": [{"name": "Code", "score": 88}, {"name": "Lena", "score": 95}]}

env = Environment(loader=FileSystemLoader("templates"))
template = env.get_template("report.html")

html = template.render(users=data["users"])

with open("report.html", "w", encoding="utf-8") as f:
    f.write(html)

Modèle templates/report.html :

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Отчёт</title>
</head>
<body>
  <h1>Баллы пользователей</h1>
  <ul>
    {% for user in users %}
      <li>{{ user.name }} — {{ user.score }}</li>
    {% endfor %}
  </ul>
</body>
</html>

📦 Comment ajouter des graphiques ?

Si vous utilisez matplotlib ou plotly, vous pouvez enregistrer le graphique sous forme d'image et l'insérer dans le rapport :

plt.savefig("chart.png")

html = """
<img src="chart.png" alt="График">
"""

💡 Où le rapport HTML est-il utile

  • 📊 Rapports internes de l'équipe

  • 🛠 Surveillance DevOps (via cron)

  • 💼 Rapports automatiques aux clients

  • 📁 Archivage des résultats des scripts

🤖 Puis-je avoir un PDF ?

Oui ! Utilisez WeasyPrint ou pdfkit :

pip install weasyprint
from weasyprint import HTML

HTML("report.html").write_pdf("report.pdf")

Dans l'application Code vous trouverez des cours sur Python, HTML et autres.
Créez des modèles, visualisez des données et faites tout joliment, même si vous débutez.

Rejoignez également notre communautés Telegram 📬

💬 Écrivez-nous si vous souhaitez voir un article sur la génération de PDF, les rapports interactifs ou les envois automatiques de courriels avec des rapports HTML !

🎯Arrête de reporter

Tu as aimé l'article ?
Place à la pratique !

Avec Kodik, tu ne lis pas seulement — tu codes immédiatement. Théorie + pratique = vraies compétences.

Pratique instantanée
🧠L'IA explique le code
🏆Certificat

Sans inscription • Sans carte