Premiers pas avec codeigniter
Sur cette page
Installation et configuration
Environnement Windows
- Installez [XAMPP][1] ou [WAMP][2]
- Téléchargez et décompressez le package depuis [Codeigniter.com][3]
- Extraire tout le document dans l’espace serveur (répertoire htdocs ou www)
Environnement Mac
- Installez [MAMP][5]
- Téléchargez et décompressez le package depuis [Codeigniter.com][3]
- Extraire tout le document dans l’espace serveur (htdocs)
Environnement Linux
- Téléchargez et décompressez le package depuis [Codeigniter.com][3]
- Placez le dossier extrait dans /var/www (en WAMP) ou xampp/htdocs (XAMPP)
GitHub
git clone https://github.com/bcit-ci/CodeIgniter.git
Si vous suivez correctement le système, vous obtiendrez l’écran ci-dessous.
[![entrez la description de l’image ici][4]][4]
URL de base
- Allez dans
application/config/config.php
- Définissez l’URL de base comme
$config['base_url'] = 'http://localhost/path/to/folder';
Supprimer index.php
de l’URL
Paramétrage d’Apache |
---|
-
aller à la racine
-
créer un fichier htaccess
-
Ajoutez le code ci-dessous à l’intérieur
RewriteEngine on RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Remarque : le code .htaccess varie en fonction du serveur d’hébergement. Dans certains serveurs d’hébergement (par exemple : Godaddy), vous devez utiliser un " ?" supplémentaire dans la dernière ligne du code ci-dessus. La ligne suivante sera remplacée par la dernière ligne dans le cas applicable :
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Configuration Nginx |
---|
-
Ouvrez le fichier de configuration nginx (par défaut :
/etc/nginx/sites-available/default
) -
Ajoutez le code ci-dessous à l’intérieur
server { server_name domain.tld; root /path-to-codeigniter-folder; //you codeigniter path index index.html index.php; # set expiration of assets to MAX for caching location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires max; log_not_found off; } location / { # Check if a file or directory index file exists, else route it to index.php. try_files $uri $uri/ /index.php; } location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; } }
Configuration de la base de données
- Allez dans
application/config/database.php
- Définissez les variables de configuration suivantes. - Host - Username - Password - Database Name - Port
Définir le contrôleur par défaut
- Allez dans
application/config/routes.php
- définissez la valeur de la variable de configuration suivante avec le nom de votre contrôleur.
- default_controller
Bibliothèque de chargement automatique et assistant
- Allez dans
application/config/autoload.php
- définissez la valeur de chargement automatique comme
$autoload['libraries'] = array('database', 'session');
- définissez la valeur Helper comme
$autoload['helper'] = array('url', 'file', 'form', 'html', 'text');
[1] : https://www.apachefriends.org/download.html [2] : http://www.wampserver.com/en/ [3] : https://www.codeigniter.com/download [4] : http://i.stack.imgur.com/k04Jh.png [5] : https://www.mamp.info/en/downloads/
Exécutez plusieurs applications sur un système CI
Codeigniter peut être configuré pour exécuter plusieurs projets sans dupliquer les fichiers principaux CI.
C’est possible en divisant le côté Application CI. Par exemple, prenons un projet de site Web, qui contient des applications de système de gestion de contenu (CMS) “front-end” et “back-end”. Dans ce cas, la structure du dossier CI ressemblera à :
Arborescence des dossiers :
├── Codeigniter
│ ├── applications
│ │ ├─ front-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ ├─ back-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ │
│ ├── system
│ │ ├── core
│ │ ├── database
│ │ ├── helpers
│ │ └── ...
│ │
│ ├── index.php
└ └── backend.php
Dans le dossier applications
nous avons créé deux dossiers : front-end
et back-end
et avons copié tout le contenu par défaut de applications
sous ces deux dossiers.
Nous avons également dupliqué le fichier index.php
sous le dossier racine en tant que backend.php
Ensuite, configurez CI
pour qu’il fonctionne avec ces deux instances d’application.
Configuration du code-igniteur :
Ouvrez les fichiers index.php et backend.php et mettez à jour la configuration application_folder
:
//index.php
$application_folder = 'applications/front-end';
//backend.php
$application_folder = 'applications/back-end';
Après la configuration ci-dessus, CI est prêt à exécuter deux applications sous un seul système CI :
La demande sur
example.com/Codeigniter/index.php
ouvrira l’applicationfront-end
La demande sur
example.com/Codeigniter/backend.php
ouvrira l’applicationback-end
Augmentez la sécurité en masquant l’emplacement de vos fichiers CodeIgniter
Dans CodeIgniter, il y a deux répertoires principaux à prendre en compte : system et application. Le dossier système contient le cœur de CodeIgniter. Le dossier de l’application contiendra tout le code spécifique à votre application, y compris les modèles, les contrôleurs, les vues et les autres bibliothèques pertinentes.
Selon les [instructions d’installation][1] de CodeIgniter, dans le meilleur intérêt de sécuriser votre application, les dossiers système et application doivent être placés au-dessus de la racine Web afin qu’ils ne soient pas directement accessibles via un navigateur. Par défaut, les fichiers .htaccess sont inclus dans chaque dossier pour empêcher l’accès direct, mais il est préférable de les supprimer entièrement de l’accès public au cas où la configuration du serveur Web changerait ou ne respecterait pas le .htaccess.
├── CodeIgniter
│ ├── application
│ ├── system
│ ├── wwwroot
│ │ ├── index.php
Après avoir déplacé les dossiers système et application, ouvrez le fichier principal index.php
et définissez les variables $system_path
, $application_folder
, de préférence avec un chemin complet, par ex. ‘/www/MonUtilisateur/système‘
. Cependant, les chemins relatifs devraient fonctionner.
Pour Linux/Apache :
$application_folder = './application';
$system_path = './system';
Pour Windows/IIS :
$application_folder = '../application/';
$system_path = '../system/';
[1] : https://www.codeigniter.com/user_guide/installation/index.html