Wavely est un projet scolaire développé en PHP sans framework, avec une architecture MVC.
L’application permet aux utilisateurs de créer, gérer et partager des albums photo de manière intuitive.
- Création de compte avec photo de profil
- Connexion sécurisée avec sessions PHP
- Création, modification et suppression d’albums
- Ajout de photos aux albums, avec gestion des formats/images
- Modification et suppression de photos
- Gestion des droits d’accès (visibilité publique/privée)
- Page de profil avec informations utilisateur
- Fil d’actualité avec photos visibles pour l'utilisateur
- Responsive design (mobile/tablette/desktop)
- Système de notification simple via toasts JavaScript
- Système de gestion d’erreurs centralisé
- PHP 8+
- MySQL
- JavaScript (vanilla + DOM)
- HTML5 / CSS3 (sans framework)
- POO / MVC sans framework
- Apache / Virtual Hosts
- WAMP (Windows Apache MySQL PHP)
C:.
├───app
│ ├───config
│ ├───Controller
│ ├───core
│ ├───Model
│ ├───View
│ └───_partials
└───public
├───assets
│ ├───css
│ ├───img
│ └───js
└───uploads
- PHP 8+
- MySQL (ou MariaDB)
- Apache avec
mod_rewriteactivé - WAMP, XAMPP ou tout serveur LAMP/LAMP-like
git clone https://gitlab.com/ton-compte/wavely.git
cd wavelyPour utiliser wavely.local au lieu de localhost/wavely/public, vous pouvez configurer un VirtualHost avec WAMP :
- Éditer le fichier
httpd-vhosts.conf:
(En général situé dansC:\wamp64\bin\apache\apache2.x.x\conf\extra\httpd-vhosts.conf)
<VirtualHost *:80>
ServerName wavely.local
DocumentRoot "c:/wamp64/www/wavely/public"
<Directory "c:/wamp64/www/wavely/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>- Éditer le fichier hosts de Windows : (Ouvrir C:\Windows\System32\drivers\etc\hosts en tant qu’administrateur)
Ajouter à la fin du fichier :
127.0.0.1 wavely.local
-
Redémarrer WAMP pour prendre en compte le nouveau vhost.
-
Accéder à l’application via : 👉 http://wavely.local
- Le fichier app/config/config.php contient les paramètres de connexion à la base de données.
- Le fichier .htaccess (dans public/) permet la réécriture des URL via Apache.
- Le système de groupes d’amis et de visibilité restreinte est partiellement préparé en base mais non implémenté.
- Possibilité d’ajouter un système de commentaires, une recherche par tags ou encore une galerie plus dynamique avec JavaScript.
- Un back-office complet pourra être ajouté à partir des rôles utilisateurs déjà en place.
Ce projet a été réalisé dans le cadre d’un projet d’un cursus de développement web. Il respecte les contraintes suivantes :
- Sans framework
- Architecture MVC maison
- Programmation orientée objet
- Gestion basique des erreurs et des routes
- Utilisation de PHP, MySQL, HTML, CSS et JS uniquement