madamasterclass.com

📔 Exemples d'applications

Exploration de quelques exemples d'applications sur CherryPy


Dans cette section, nous allons explorer quelques exemples d'applications que vous pouvez développer en utilisant le framework CherryPy. Ces exemples vous aideront à comprendre les possibilités offertes par CherryPy et à vous inspirer pour vos propres projets.

1. Application de blog

Une application de blog simple permet aux utilisateurs de créer, lire, mettre à jour et supprimer des articles. Vous pouvez utiliser une base de données pour stocker les articles et les commentaires.

  •                 1️⃣ Fonctionnalités : Authentification des utilisateurs, création d'articles, commentaires.
  •                 2️⃣ Technologies : CherryPy, SQLite, HTML/CSS.

2. Application de gestion de tâches

Cette application permet aux utilisateurs de suivre leurs tâches quotidiennes. Les utilisateurs peuvent ajouter, supprimer et marquer les tâches comme complètes.

  •                 1️⃣ Fonctionnalités : Ajout de tâches, mise à jour de l'état des tâches, filtrage par date.
  •                 2️⃣ Technologies : CherryPy, MongoDB, JavaScript.

3. Application de portfolio

Créez un site de portfolio personnel où les utilisateurs peuvent afficher leurs projets, compétences et expériences professionnelles.

  •                 1️⃣ Fonctionnalités : Pages de projet, sections de compétences, formulaire de contact.
  •                 2️⃣ Technologies : CherryPy, HTML/CSS, Bootstrap.

4. Application de e-commerce

Développez une application de e-commerce où les utilisateurs peuvent parcourir, ajouter au panier et acheter des produits.

  •                 1️⃣ Fonctionnalités : Navigation des produits, gestion du panier, traitement des paiements.
  •                 2️⃣ Technologies : CherryPy, SQLAlchemy, Stripe API.

5. Application de chat en temps réel

Cette application permet aux utilisateurs de discuter en temps réel à travers des salons de chat. Utilisez WebSockets pour la communication en temps réel.

  •                 1️⃣ Fonctionnalités : Salons de discussion, notifications en temps réel.
  •                 2️⃣ Technologies : CherryPy, WebSocket, JavaScript.

Conclusion

Ces exemples d'applications montrent la flexibilité et les capacités de CherryPy. Que vous souhaitiez créer une application simple ou complexe, CherryPy peut vous aider à réaliser vos idées. N'hésitez pas à explorer ces projets et à les adapter à vos besoins !


Activité : Création d'une Application de Blog avec CherryPy

Dans cette activité, vous allez créer une application de blog simple en utilisant le framework CherryPy. Cette application permettra aux utilisateurs de créer, lire, mettre à jour et supprimer des articles de blog.

1. Prérequis
  •                 1️⃣ Python installé sur votre machine.
  •                 2️⃣ CherryPy installé. Si ce n'est pas fait, exécutez la commande suivante :
  • pip install CherryPy
  • SQLite pour la base de données.
2. Créer la structure du projet

Créez un dossier pour votre projet, par exemple blog_app, et à l'intérieur, créez les sous-dossiers suivants :

  •                 1️⃣ static : pour vos fichiers CSS et JavaScript.
  •                 2️⃣ templates : pour vos fichiers HTML.

3. Créer la base de données

Créez un fichier nommé database.py pour initialiser votre base de données SQLite :

import sqlite3

def init_db():
conn = sqlite3.connect('blog.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)''')
conn.commit()
conn.close()

if __name__ == '__main__':
init_db()

Ce code crée une table posts pour stocker les articles de blog.

4. Créer les fichiers HTML

Dans le dossier templates, créez les fichiers suivants :

  •                 1️⃣ index.html : pour afficher la liste des articles.
  •                 2️⃣ create.html : pour créer un nouvel article.
  •                 3️⃣ edit.html : pour éditer un article existant.

Voici le contenu de index.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Blog</title>
</head>
<body>
<h1>Articles de Blog</h1>
<a href="/create">Créer un nouvel article</a>
<ul>
{% for post in posts %}
<li><a href="/edit/{{ post.id }}">{{ post.title }}</a> - <a href="/delete/{{ post.id }}">Supprimer</a></li>
{% endfor %}
</ul>
</body>
</html>

Voici le contenu de create.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Créer un article</title>
</head>
<body>
<h1>Nouvel Article</h1>
<form action="/create" method="post">
<label for="title">Titre:</label>
<input type="text" id="title" name="title" required>

<label for="content">Contenu:</label>
<textarea id="content" name="content" required></textarea>

<input type="submit" value="Créer">
</form>
</body>
</html>

Voici le contenu de edit.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Modifier l'article</title>
</head>
<body>
<h1>Modifier l'article</h1>
<form action="/edit/{{ post.id }}" method="post">
<label for="title">Titre:</label>
<input type="text" id="title" name="title" value="{{ post.title }}" required>

<label for="content">Contenu:</label>
<textarea id="content" name="content" required>{{ post.content }}</textarea>

<input type="submit" value="Modifier">
</form>
</body>
</html>
5. Créer le fichier Python principal

Dans le dossier principal, créez un fichier nommé app.py et ajoutez le code suivant :

import cherrypy
import sqlite3
from jinja2 import Environment, FileSystemLoader

class Blog:
def __init__(self):
self.env = Environment(loader=FileSystemLoader('templates'))

@cherrypy.expose
def index(self):
conn = sqlite3.connect('blog.db')
c = conn.cursor()
c.execute('SELECT * FROM posts')
posts = c.fetchall()
conn.close()
template = self.env.get_template('index.html')
return template.render(posts=posts)

@cherrypy.expose
def create(self, title=None, content=None):
if title and content:
conn = sqlite3.connect('blog.db')
c = conn.cursor()
c.execute('INSERT INTO posts (title, content) VALUES (?, ?)', (title, content))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')
template = self.env.get_template('create.html')
return template.render()

@cherrypy.expose
def edit(self, id=None, title=None, content=None):
conn = sqlite3.connect('blog.db')
c = conn.cursor()
if title and content:
c.execute('UPDATE posts SET title=?, content=? WHERE id=?', (title, content, id))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')
c.execute('SELECT * FROM posts WHERE id=?', (id,))
post = c.fetchone()
conn.close()
template = self.env.get_template('edit.html')
return template.render(post=post)

@cherrypy.expose
def delete(self, id):
conn = sqlite3.connect('blog.db')
c = conn.cursor()
c.execute('DELETE FROM posts WHERE id=?', (id,))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')

if __name__ == '__main__':
cherrypy.quickstart(Blog())
6. Initialiser la base de données

Avant de démarrer votre application, exécutez database.py pour créer la base de données et la table :

python database.py
7. Démarrer le serveur

Pour démarrer votre application, exécutez le fichier Python principal :

python app.py
8. Conclusion

Vous avez maintenant créé une application de blog simple avec CherryPy. Vous pouvez créer, lire, modifier et supprimer des articles de blog. Explorez davantage en ajoutant des fonctionnalités comme des commentaires ou une authentification des utilisateurs !


Activité : Création d'une Application de Gestion de Tâches avec CherryPy

Dans cette activité, vous allez créer une application de gestion de tâches qui permettra aux utilisateurs de suivre leurs tâches quotidiennes. Cette application inclura des fonctionnalités pour ajouter, supprimer et marquer les tâches comme complètes.

1. Prérequis
  •                 1️⃣ Python installé sur votre machine.
  •                 2️⃣ CherryPy installé. Si ce n'est pas fait, exécutez la commande suivante :
  • pip install CherryPy
  • SQLite pour la base de données.

2. Créer la structure du projet

Créez un dossier pour votre projet, par exemple task_manager, et à l'intérieur, créez les sous-dossiers suivants :

  •                 1️⃣ static : pour vos fichiers CSS et JavaScript.
  •                 2️⃣ templates : pour vos fichiers HTML.

3. Créer la base de données

Créez un fichier nommé database.py pour initialiser votre base de données SQLite :

import sqlite3

def init_db():
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
completed BOOLEAN DEFAULT 0
)''')
conn.commit()
conn.close()

if __name__ == '__main__':
init_db()

Ce code crée une table tasks pour stocker les tâches.

4. Créer les fichiers HTML

Dans le dossier templates, créez les fichiers suivants :

  •                 1️⃣ index.html : pour afficher la liste des tâches.
  •                 2️⃣ create.html : pour créer une nouvelle tâche.

Voici le contenu de index.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Gestion de Tâches</title>
</head>
<body>
<h1>Liste de Tâches</h1>
<a href="/create">Ajouter une Tâche</a>
<ul>
{% for task in tasks %}
<li>{{ task.title }} - <a href="/complete/{{ task.id }}">Compléter</a> - <a href="/delete/{{ task.id }}">Supprimer</a></li>
{% endfor %}
</ul>
</body>
</html>

Voici le contenu de create.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Créer une Tâche</title>
</head>
<body>
<h1>Nouvelle Tâche</h1>
<form action="/create" method="post">
<label for="title">Titre:</label>
<input type="text" id="title" name="title" required>

<input type="submit" value="Ajouter">
</form>
</body>
</html>
5. Créer le fichier Python principal

Dans le dossier principal, créez un fichier nommé app.py et ajoutez le code suivant :

import cherrypy
import sqlite3
from jinja2 import Environment, FileSystemLoader

class TaskManager:
def __init__(self):
self.env = Environment(loader=FileSystemLoader('templates'))

@cherrypy.expose
def index(self):
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
c.execute('SELECT * FROM tasks')
tasks = c.fetchall()
conn.close()
template = self.env.get_template('index.html')
return template.render(tasks=tasks)

@cherrypy.expose
def create(self, title=None):
if title:
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
c.execute('INSERT INTO tasks (title) VALUES (?)', (title,))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')
template = self.env.get_template('create.html')
return template.render()

@cherrypy.expose
def complete(self, id):
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
c.execute('UPDATE tasks SET completed=1 WHERE id=?', (id,))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')

@cherrypy.expose
def delete(self, id):
conn = sqlite3.connect('tasks.db')
c = conn.cursor()
c.execute('DELETE FROM tasks WHERE id=?', (id,))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')

if __name__ == '__main__':
cherrypy.quickstart(TaskManager())
6. Initialiser la base de données

Avant de démarrer votre application, exécutez database.py pour créer la base de données et la table :

python database.py
7. Démarrer le serveur

Pour démarrer votre application, exécutez le fichier Python principal :

python app.py
8. Conclusion

Vous avez maintenant créé une application de gestion de tâches simple avec CherryPy. Vous pouvez ajouter, supprimer et marquer des tâches comme complètes. Explorez davantage en ajoutant des fonctionnalités comme des dates d'échéance ou des catégories de tâches !


Activité : Création d'une Application de Portfolio avec CherryPy

Dans cette activité, vous allez créer une application de portfolio personnel qui permettra aux utilisateurs de présenter leurs projets, compétences et expériences professionnelles. Cette application inclura des fonctionnalités pour ajouter, modifier et afficher des projets.

1. Prérequis
  •                 1️⃣ Python installé sur votre machine.
  •                 2️⃣ CherryPy installé. Si ce n'est pas fait, exécutez la commande suivante :
  • pip install CherryPy
  • SQLite pour la base de données.
2. Créer la structure du projet

Créez un dossier pour votre projet, par exemple portfolio_app, et à l'intérieur, créez les sous-dossiers suivants :

  •                 1️⃣ static : pour vos fichiers CSS et JavaScript.
  •                 2️⃣ templates : pour vos fichiers HTML.
3. Créer la base de données

Créez un fichier nommé database.py pour initialiser votre base de données SQLite :

import sqlite3

def init_db():
conn = sqlite3.connect('portfolio.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS projects (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
description TEXT,
url TEXT
)''')
conn.commit()
conn.close()

if __name__ == '__main__':
init_db()

Ce code crée une table projects pour stocker les projets du portfolio.

4. Créer les fichiers HTML

Dans le dossier templates, créez les fichiers suivants :

  •                 1️⃣ index.html : pour afficher la liste des projets.
  •                 2️⃣ create.html : pour ajouter un nouveau projet.
  •                 3️⃣ edit.html : pour modifier un projet existant.

Voici le contenu de index.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Portfolio</title>
</head>
<body>
<h1>Projets</h1>
<a href="/create">Ajouter un Projet</a>
<ul>
{% for project in projects %}
<li><a href="{{ project.url }}">{{ project.title }}</a> - <a href="/edit/{{ project.id }}">Modifier</a> - <a href="/delete/{{ project.id }}">Supprimer</a></li>
{% endfor %}
</ul>
</body>
</html>

Voici le contenu de create.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Ajouter un Projet</title>
</head>
<body>
<h1>Nouveau Projet</h1>
<form action="/create" method="post">
<label for="title">Titre:</label>
<input type="text" id="title" name="title" required>

<label for="description">Description:</label>
<textarea id="description" name="description" required></textarea>

<label for="url">URL:</label>
<input type="text" id="url" name="url" required>

<input type="submit" value="Ajouter">
</form>
</body>
</html>

Voici le contenu de edit.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Modifier le Projet</title>
</head>
<body>
<h1>Modifier le Projet</h1>
<form action="/edit/{{ project.id }}" method="post">
<label for="title">Titre:</label>
<input type="text" id="title" name="title" value="{{ project.title }}" required>

<label for="description">Description:</label>
<textarea id="description" name="description" required>{{ project.description }}</textarea>

<label for="url">URL:</label>
<input type="text" id="url" name="url" value="{{ project.url }}" required>

<input type="submit" value="Modifier">
</form>
</body>
</html>
5. Créer le fichier Python principal

Dans le dossier principal, créez un fichier nommé app.py et ajoutez le code suivant :

import cherrypy
import sqlite3
from jinja2 import Environment, FileSystemLoader

class Portfolio:
def __init__(self):
self.env = Environment(loader=FileSystemLoader('templates'))

@cherrypy.expose
def index(self):
conn = sqlite3.connect('portfolio.db')
c = conn.cursor()
c.execute('SELECT * FROM projects')
projects = c.fetchall()
conn.close()
template = self.env.get_template('index.html')
return template.render(projects=projects)

@cherrypy.expose
def create(self, title=None, description=None, url=None):
if title and description and url:
conn = sqlite3.connect('portfolio.db')
c = conn.cursor()
c.execute('INSERT INTO projects (title, description, url) VALUES (?, ?, ?)', (title, description, url))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')
template = self.env.get_template('create.html')
return template.render()

@cherrypy.expose
def edit(self, id=None, title=None, description=None, url=None):
conn = sqlite3.connect('portfolio.db')
c = conn.cursor()
if title and description and url:
c.execute('UPDATE projects SET title=?, description=?, url=? WHERE id=?', (title, description, url, id))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')
c.execute('SELECT * FROM projects WHERE id=?', (id,))
project = c.fetchone()
conn.close()
template = self.env.get_template('edit.html')
return template.render(project=project)

@cherrypy.expose
def delete(self, id):
conn = sqlite3.connect('portfolio.db')
c = conn.cursor()
c.execute('DELETE FROM projects WHERE id=?', (id,))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')

if __name__ == '__main__':
cherrypy.quickstart(Portfolio())
6. Initialiser la base de données

Avant de démarrer votre application, exécutez database.py pour créer la base de données et la table :

python database.py
7. Démarrer le serveur

Pour démarrer votre application, exécutez le fichier Python principal :

python app.py
8. Conclusion

Vous avez maintenant créé une application de portfolio simple avec CherryPy. Vous pouvez ajouter, modifier et supprimer des projets. Explorez davantage en ajoutant des sections pour vos compétences, expériences, et même un formulaire de contact !


Activité : Création d'une Application de E-commerce avec CherryPy

Dans cette activité, vous allez créer une application de e-commerce qui permettra aux utilisateurs de parcourir des produits, d'ajouter des articles à leur panier et de passer des commandes. Cette application inclura des fonctionnalités de gestion des produits et du panier.

1. Prérequis
  • Python installé sur votre machine.
  • CherryPy installé. Si ce n'est pas fait, exécutez la commande suivante :
  • pip install CherryPy
  • SQLite pour la base de données.
2. Créer la structure du projet

Créez un dossier pour votre projet, par exemple ecommerce_app, et à l'intérieur, créez les sous-dossiers suivants :

  • static : pour vos fichiers CSS et JavaScript.
  • templates : pour vos fichiers HTML.
3. Créer la base de données

Créez un fichier nommé database.py pour initialiser votre base de données SQLite :

import sqlite3

def init_db():
conn = sqlite3.connect('ecommerce.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS products (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
description TEXT,
price REAL
)''')
c.execute('''CREATE TABLE IF NOT EXISTS cart (
id INTEGER PRIMARY KEY AUTOINCREMENT,
product_id INTEGER,
quantity INTEGER,
FOREIGN KEY (product_id) REFERENCES products (id)
)''')
conn.commit()
conn.close()

if __name__ == '__main__':
init_db()

Ce code crée des tables products pour stocker les produits et cart pour gérer le panier.

4. Créer les fichiers HTML

Dans le dossier templates, créez les fichiers suivants :

  • index.html : pour afficher la liste des produits.
  • cart.html : pour afficher le contenu du panier.

Voici le contenu de index.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>E-commerce</title>
</head>
<body>
<h1>Produits</h1>
<ul>
{% for product in products %}
<li>{{ product.name }} - {{ product.price }} € - <a href="/add_to_cart/{{ product.id }}">Ajouter au Panier</a></li>
{% endfor %}
</ul>
<a href="/cart">Voir le Panier</a>
</body>
</html>

Voici le contenu de cart.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Panier</title>
</head>
<body>
<h1>Contenu du Panier</h1>
<ul>
{% for item in cart %}
<li>Produit ID: {{ item.product_id }} - Quantité: {{ item.quantity }}</li>
{% endfor %}
</ul>
<a href="/">Retour à la Boutique</a>
</body>
</html>
5. Créer le fichier Python principal

Dans le dossier principal, créez un fichier nommé app.py et ajoutez le code suivant :

import cherrypy
import sqlite3
from jinja2 import Environment, FileSystemLoader

class ECommerce:
def __init__(self):
self.env = Environment(loader=FileSystemLoader('templates'))

@cherrypy.expose
def index(self):
conn = sqlite3.connect('ecommerce.db')
c = conn.cursor()
c.execute('SELECT * FROM products')
products = c.fetchall()
conn.close()
template = self.env.get_template('index.html')
return template.render(products=products)

@cherrypy.expose
def add_to_cart(self, product_id):
conn = sqlite3.connect('ecommerce.db')
c = conn.cursor()
c.execute('INSERT INTO cart (product_id, quantity) VALUES (?, ?)', (product_id, 1))
conn.commit()
conn.close()
raise cherrypy.HTTPRedirect('/')

@cherrypy.expose
def cart(self):
conn = sqlite3.connect('ecommerce.db')
c = conn.cursor()
c.execute('SELECT * FROM cart')
cart = c.fetchall()
conn.close()
template = self.env.get_template('cart.html')
return template.render(cart=cart)

if __name__ == '__main__':
cherrypy.quickstart(ECommerce())
6. Initialiser la base de données

Avant de démarrer votre application, exécutez database.py pour créer la base de données et les tables :

python database.py
7. Démarrer le serveur

Pour démarrer votre application, exécutez le fichier Python principal :

python app.py
8. Conclusion

Vous avez maintenant créé une application de e-commerce simple avec CherryPy. Vous pouvez parcourir les produits, ajouter des articles au panier et consulter le contenu du panier. Explorez davantage en ajoutant des fonctionnalités comme le traitement des paiements et la gestion des utilisateurs !


Activité : Création d'une Application de Chat en Temps Réel avec CherryPy

Dans cette activité, vous allez créer une application de chat en temps réel qui permettra aux utilisateurs d'échanger des messages dans des salons de discussion. Nous utiliserons CherryPy pour le serveur web et WebSockets pour la communication en temps réel.

1. Prérequis
  •                 1️⃣ Python installé sur votre machine.
  •                 2️⃣ CherryPy et WebSockets installés. Si ce n'est pas fait, exécutez la commande suivante :
  • pip install CherryPy websockets
2. Créer la structure du projet

Créez un dossier pour votre projet, par exemple chat_app, et à l'intérieur, créez les sous-dossiers suivants :

  •                 1️⃣ static : pour vos fichiers CSS et JavaScript.
  •                 2️⃣ templates : pour vos fichiers HTML.

3. Créer les fichiers HTML

Dans le dossier templates, créez un fichier nommé index.html avec le contenu suivant :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Chat en Temps Réel</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
var ws = new WebSocket('ws://localhost:8080/chat');
ws.onmessage = function(event) {
$('#messages').append('<p>' + event.data + '</p>');
};
function sendMessage() {
var message = $('#message').val();
ws.send(message);
$('#message').val('');
}
</script>
</head>
<body>
<h1>Salon de Chat</h1>
<div id="messages"></div>
<input type="text" id="message" placeholder="Votre message...">
<button onclick="sendMessage()">Envoyer</button>
</body>
</html>
4. Créer le fichier Python principal

Dans le dossier principal, créez un fichier nommé app.py et ajoutez le code suivant :

import cherrypy
from cherrypy import wsgiserver
import websockets
import asyncio
import threading

clients = set()

async def chat_server(websocket, path):
clients.add(websocket)
try:
async for message in websocket:
for client in clients:
if client != websocket:
await client.send(message)
finally:
clients.remove(websocket)

class ChatApp:
@cherrypy.expose
def index(self):
with open('templates/index.html') as f:
return f.read()

def run_websocket_server():
start_server = websockets.serve(chat_server, 'localhost', 8080)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

if __name__ == '__main__':
threading.Thread(target=run_websocket_server).start()
cherrypy.quickstart(ChatApp(), '/')
5. Démarrer le serveur

Pour démarrer votre application, exécutez le fichier Python principal :

python app.py
6. Accéder à l'application

Ouvrez votre navigateur et accédez à http://localhost:8080. Vous devriez voir votre application de chat. Ouvrez plusieurs onglets ou fenêtres pour tester le chat en temps réel.

7. Conclusion

Vous avez maintenant créé une application de chat en temps réel avec CherryPy et WebSockets. Les utilisateurs peuvent échanger des messages instantanément dans le salon de discussion. Explorez davantage en ajoutant des fonctionnalités comme des salons privés, des notifications ou des emojis !

Forum(s) associé(s)

Page: