prune_lib
prune_lib est une bibliothèque Python regroupant des fonctions utilitaires réutilisables.
L’objectif est de faciliter le développement de projets en centralisant des outils communs.
Le projet inclut aussi prune_captcha, un module dédié à l’ajout d’un CAPTCHA personnalisé dans les formulaires de contact.
Projet UV
Installation
Lancez la commande suivante dans le terminal :
uv add prune_lib
Mise à jour de la bilbiothèque
N’hésitez pas à exécuter régulièrement uv sync --upgrade, car la bibliothèque évolue avec le temps et nos pratiques !
Projet Poetry
Installation
Lancez la commande suivante :
poetry add prune_lib
Mise à jour de la bibliothèque
N’hésitez pas à exécuter régulièrement poetry update, car la bibliothèque évolue avec le temps et nos pratiques !
Objectifs
- Réutiliser facilement des fonctions communes.
- Fournir une alternative simple à reCAPTCHA.
- Ne dépendre d’aucun service externe.
Intégration du captcha
Configuration
Dans settings.py, définis le chemin des images utilisées pour le puzzle :
PUZZLE_IMAGE_STATIC_PATH = "website/static/website/images/puzzles/"
Important : Tu dois importer les fichiers statiques (css, js) présents dans "prune_captcha/static/".
<header>
<link
rel="stylesheet"
href="{% static 'prune_captcha/css/captcha.css' %}"
/>
<script defer src="{% static 'prune_captcha/js/captcha.js' %}"></script>
</header>
Utilisation
-
Requête GET (affichage du formulaire)
-
Utilise create_and_get_captcha pour générer les données du captcha :
from prune_captcha.utils import create_and_get_captcha
puzzle = create_and_get_captcha(request)
-
Passe les données dans le contexte sous la variable puzzle :
return render( request, "website/pages/contact/page.html", {"form": form, "puzzle": puzzle}, )
-
Inclus le composant dans ton template :
{% include "prune_captcha/captcha.html" %}
-
-
Requête POST (soumission du formulaire)
-
Utilise verify_captcha pour valider le captcha :
from prune_captcha.utils import verify_captcha
response = verify_captcha(request)
-
True si le captcha est correct, sinon False.
-
Redirige en cas de captcha incorrect.
-
Metadata
Release files for prune-lib 2.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| prune_lib-2.1.5.tar.gz | 20.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prune_lib-2.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.4 kB
Release files / prune_lib-2.1.5.tar.gz
| Download URL | prune_lib-2.1.5.tar.gz |
|---|---|
| Size | 20.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ca1461c67dac538f98f9245453c9425f2b24c6bb79978f9f8975aa9fa41caacd
|
|
BLAKE2b-256 checksum How to use checksums |
2b4f06d145a885bc74100a90ac49f63d3580a5b33e0327fe3c0a87101ef38156
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / prune_lib-2.1.5-py3-none-any.whl
| Download URL | prune_lib-2.1.5-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d44b4a573d76aa90a9de1510f10247d3e7ef886dc7d7b3e92e07073f5d3088a0
|
|
BLAKE2b-256 checksum How to use checksums |
f54bd1334243c1d52f6c4dce39b8f7a77a0fc2c21167c1dc8950d818a48db94e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|