diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..82dd82c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +# Image de base minuscule : Python sur Alpine Linux (~50 Mo une fois construite) +FROM python:3.12-alpine + +# Version de l'image, transmise au build via docker-compose.yml (source : .env). +# Valeur par défaut « dev » si le build est lancé sans la fournir. +ARG VERSION=dev +LABEL org.opencontainers.image.version="${VERSION}" + +WORKDIR /app + +# On installe les dépendances en premier pour profiter du cache de build +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Le code de l'application : le script Python et la page HTML (à la racine). +COPY app.py index.html ./ + +# Dossier où vivra la base SQLite. Il est monté depuis l'extérieur via le +# volume défini dans docker-compose.yml. +ENV DATA_DIR=/data + +EXPOSE 5000 + +CMD ["python", "app.py"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..05488bb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +services: + demo-docker: + build: + context: . + args: + VERSION: ${VERSION:-dev} # Transmet la version (depuis .env) au Dockerfile pour le LABEL. + image: demo-docker:${VERSION:-dev} # Nom et tag de l'image docker qui sera compilée + container_name: demo-docker-01 # Nom du conteneur + ports: + - "5000:5000" # Mappage du port hote/conteneur + volumes: + - ./data-dd:/data # Mappage du volume hote/conteneur + - /etc/localtime:/etc/localtime:ro # Synchronise le fuseau horaire avec l'hôte + restart: unless-stopped diff --git a/index.html b/index.html new file mode 100644 index 0000000..8944b1a --- /dev/null +++ b/index.html @@ -0,0 +1,179 @@ + + + + + + La page commentaire pour les nerds + + + + + + + + + + +
+ +

Commentaires de nerds

+

Laissez un petit mot à la communauté.
Pas besoin de s'inscrire : écrivez, c'est tout.
Les messages s'affichent les uns à la suite des autres, du plus récent au plus ancien.

+
+ +
+
+

✍️ Votre message

+
+ + + + + + +
+ +
+
+
+ + {% if commentaires %} +

{{ commentaires|length }} message{{ 's' if commentaires|length > 1 else '' }} sur le site 🚀

+ {% endif %} + + {% for c in commentaires %} +
+
+ {{ c.auteur }} + {{ c.date_creation }} +
+

{{ c.message }}

+
+ {% endfor %} + + {% if commentaires %} +
+
+ +
+
+ {% endif %} +
+ + + + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..840d434 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +Flask>=3.0,<4.0