Initial commit - mini cms final

This commit is contained in:
Aya Tess tess
2025-11-03 21:53:58 +01:00
parent a366336dc1
commit a01f620ef9
14 changed files with 422 additions and 197 deletions

0
infrastructure/README.md Normal file
View File

View File

@@ -3,19 +3,18 @@ version: '3.8'
services:
app:
build:
context: ../forum-project
dockerfile: Dockerfile
context: ../forum-project
dockerfile: Dockerfile
container_name: php_app
ports:
- "8080:80"
- "8080:80"
volumes:
- ../forum-project:/var/www/html
env_file:
- .env
depends_on:
- mysql
- mysql
- minio
mysql:
image: mysql:8.1
@@ -33,6 +32,7 @@ services:
volumes:
- mysql_data:/var/lib/mysql
- ./setup-mysql:/docker-entrypoint-initdb.d
- ./setup-mysql/my.cnf:/etc/mysql/conf.d/my.cnf
minio:
@@ -64,5 +64,3 @@ services:
volumes:
mysql_data:
minio_data:

29
infrastructure/setup-minio/init-minio.sh Normal file → Executable file
View File

@@ -1,13 +1,26 @@
#!/bin/sh
set -e
# Attendre que MinIO démarre
echo "Waiting for MinIO to start..."
sleep 10
echo "⏳ Attente du démarrage de MinIO..."
sleep 5
# Créer un alias pour MinIO
mc alias set localminio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD
# Configuration du client MinIO (mc)
echo "🔧 Configuration du client MinIO..."
mc alias set myminio http://minio:9000 "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD"
# Créer le bucket (ignore erreur si existe déjà)
mc mb localminio/bucketforum || true
# Création du bucket sil nexiste pas déjà
echo "🪣 Vérification du bucket 'bucketforum'..."
if ! mc ls myminio | grep -q "bucketforum"; then
mc mb myminio/bucketforum
echo "✅ Bucket 'bucketforum' créé."
else
echo " Bucket 'bucketforum' déjà existant."
fi
# Définir une politique publique sur le bucket (optionnel)
mc policy set public localminio/bucketforum
# Rendre le bucket public
echo "🌍 Configuration de la politique publique..."
mc anonymous set public myminio/bucketforum
# Vérification du statut
echo "✅ Bucket 'bucketforum' est public et prêt à être utilisé."

View File

@@ -1,33 +1,41 @@
-- encodage base
CREATE DATABASE IF NOT EXISTS forum_database
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
USE forum_database;
-- table utilisateurs
CREATE TABLE IF NOT EXISTS utilisateurs (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE,
role VARCHAR(50) DEFAULT 'user',
bio TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
profile_picture VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- table posts
CREATE TABLE IF NOT EXISTS posts (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
title VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
title VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
content LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
image_url VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES utilisateurs(id)
);
date_creation DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES utilisateurs(id) ON DELETE CASCADE
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
INSERT INTO utilisateurs (username, password, email)
-- données initiales
INSERT INTO utilisateurs (username, password, email, role)
VALUES
('aya', 'password123', 'ayae@example.com'),
('tess', 'password456', 'tess@example.com');
('admin', '$2y$10$4U8a64xTrD/GQDnj8tCNsemA47765p.5gtflWWBKl6UGl2aj/uOlC', 'admin@example.com', 'admin'),
('aya', '$2y$10$vhtGydzlL8AFMbRTeRVC2OtDkud47TZCHt98HcAjjGGVlLlm2Bn66', 'aya@example.com', 'user');
INSERT INTO posts (user_id, title, content)
VALUES
(1, 'Bienvenue sur le forum', 'Ceci est le premier post !'),
(2, 'Deuxième post', 'Un autre test pour vérifier la base.');
ALTER TABLE posts
DROP FOREIGN KEY posts_ibfk_1;
ALTER TABLE posts
ADD CONSTRAINT posts_ibfk_1
FOREIGN KEY (user_id) REFERENCES utilisateurs(id)
ON DELETE CASCADE;
(1, 'Bienvenue sur le Mini CMS', 'Ceci est un article de démonstration publié par ladministrateur !'),
(2, 'Un premier article test', 'Bienvenue dans notre CMS simplifié. Partagez vos idées ici !');

View File

@@ -0,0 +1,10 @@
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4