🚀 Installation
Introduction
Bow Framework est un micro-framework PHP moderne et élégant. Avant de créer votre première application, assurez-vous que votre environnement respecte les prérequis suivants.
Prérequis système
- PHP >= 8.1
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- XML PHP Extension
- JSON PHP Extension
Créer un projet
Bow Framework utilise Composer pour gérer ses dépendances. Assurez-vous que Composer est installé sur votre machine avant de continuer.
Installation via Composer
composer create-project --prefer-dist bowphp/app nom-du-projet
Nous recommandons d'installer Composer de manière globale sur votre machine. Consultez la documentation officielle pour les instructions d'installation.
Si vous découvrez Composer, prenez le temps de parcourir sa documentation pour comprendre son fonctionnement.
🚀 Démarrer votre projet
Rendez-vous à la racine de votre projet et démarrez le serveur de développement :
cd nom-du-projet
php bow run:server --port=8080 --host=0.0.0.0
Ouvrez votre navigateur et accédez à http://localhost:8080.
Si vous ne spécifiez pas de port, le serveur démarre sur le port 5000 par défaut :
php bow run:server
# Accessible sur http://localhost:5000
⚙️ Configuration
Dossier public
Après l'installation, configurez le document root de votre serveur web pour qu'il pointe vers le dossier public.
Le fichier index.php situé dans ce dossier sert de point d'entrée unique pour toutes les requêtes HTTP (pattern Front Controller).
Fichiers de configuration
Tous les fichiers de configuration de Bow Framework se trouvent dans le dossier config. Chaque option est documentée pour faciliter la personnalisation de votre application.
Structure du dossier config :
app.php: Configuration de l'applicationdatabase.php: Configuration des bases de donnéesmail.php: Configuration de l'envoi d'emails- Et bien d'autres...
Permissions des dossiers
Les dossiers contenus dans var doivent avoir les permissions d'écriture pour le serveur web :
# Sur Linux/macOS
chmod -R 775 var/
chown -R www-data:www-data var/
Assurez-vous que le serveur web a les droits d'écriture sur le dossier var pour que les logs, le cache et les sessions fonctionnent correctement.
Configuration des serveurs web
Apache
Bow inclut un fichier public/.htaccess qui gère la réécriture d'URLs vers le front controller.
Prérequis : Le module mod_rewrite doit être activé.
# Activer mod_rewrite sur Ubuntu/Debian
sudo a2enmod rewrite
sudo systemctl restart apache2
Si le fichier .htaccess par défaut ne fonctionne pas, essayez cette configuration alternative :
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
Pour Nginx, ajoutez cette configuration dans votre bloc server :
server {
listen 80;
server_name example.com;
root /path/to/your/project/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Déploiement sur serveur mutualisé
Pour déployer Bow Framework sur un hébergement mutualisé :
- Déplacez les fichiers
index.phpet.htaccessdu dossierpublicvers la racine du projet - Modifiez les chemins dans
index.phppour qu'ils pointent correctement vers les dossiers du framework - Utilisez la configuration
.htaccesssuivante :
Options -indexes
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<Files ".env.*|server.php|bow|app/**|vendor/**|postman/*|var/**|seeders/*|templates/**|tests/**|migrations/**">
Order Allow,Deny
Deny from all
</Files>
Pour un hébergement mutualisé, utilisez le helper app_assets() pour vos fichiers statiques et modifiez la valeur de APP_ASSET_PREFIX à /public dans votre fichier .env.json. Bow gérera automatiquement les chemins corrects ! 🚀
Prochaines étapes
Maintenant que votre installation est terminée, découvrez comment construire votre application :
- 🛣️ Créer vos premières routes
- 🎮 Utiliser les contrôleurs
- 💾 Travailler avec les bases de données
- 🔐 Gérer les sessions utilisateur
- 📦 Utiliser le système de stockage
- 🎨 Créer des vues avec Tintin
Il manque quelque chose ?
Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.