Bienvenue sur Mongo-TP – un projet MVC complet utilisant MongoDB pour la base de données et Twig pour les templates.
Ce projet sert de TP ou de starter pour un blog avec authentification, création d’articles et gestion de commentaires.
"Kickstart your MongoDB + PHP project with style and efficiency!"
- Architecture MVC Complète : Modèles, vues et contrôleurs bien séparés.
- MongoDB Intégré : Stockage des articles et utilisateurs.
- Twig pour les Templates : Templates modernes et flexibles.
- Layouts Modernes : Design simple et épuré avec Tailwind CSS.
- Routing Basique et Flexible : Gestion centralisée des routes.
- Authentification : Connexion, inscription et déconnexion.
- Gestion des Articles : Création et affichage d’articles avec commentaires.
- Cloner le repository :
git clone https://github.com/VialsShiny/Mongo-TP.git
cd Mongo-TP- Installer les dépendances avec Composer :
composer install- Configuration
- Copie le fichier
.env.exampleen.envet configure les paramètres de connexion à MongoDB. - Configure ton serveur web (Apache, Nginx, PHP Built-in server) pour pointer vers le dossier
public.
- Importer les données MongoDB
- Dans MongoDB, crée une base de données et importes les collections
usersetblogsdepuis les fichiers JSON fournis (users.jsonetblogs.json).
Exemple avec mongoimport :
mongoimport --db mongo-tp --collection users --file users.json --jsonArray
mongoimport --db mongo-tp --collection blogs --file blogs.json --jsonArray- Lancer le serveur PHP intégré
php -S localhost:8000 -t publicPuis ouvre ton navigateur sur http://localhost:8000.
| Nom | Mot de passe | |
|---|---|---|
| Patrick Dupont | patrick.dupont@example.com | password123 |
| Alice Martin | alice.martin@example.com | password123 |
| Jean Bernard | jean.bernard@example.com | password123 |
| Test Utilisateur | test@test.test | testtesttest |
| Admin Test | test.admin@test.test | testtesttest |
| Thomas Leroy | thomas.leroy@example.com | azerty123 |
Ces mots de passe sont uniquement pour le développement. En production, change-les immédiatement.
- Modèles (
/src/Models) : Contiennent la logique métier (Blog, Author, etc.). - Contrôleurs (
/src/Controllers) : Gèrent les routes et actions utilisateurs. - Vues (
/views) : Templates Twig pour l’affichage. - Navigation : Connexion, inscription, création d’articles et déconnexion.
Les routes sont définies dans le routeur principal. Tu peux ajouter de nouvelles routes et fonctionnalités selon tes besoins.
- Les mots de passe dans les JSON sont hashés avec bcrypt pour la sécurité.
- Ce projet est conçu pour être un starter pour un blog PHP + MongoDB.