Premiers pas avec codeigniter

Installation et configuration

Environnement Windows

  1. Installez [XAMPP][1] ou [WAMP][2]
  2. Téléchargez et décompressez le package depuis [Codeigniter.com][3]
  3. Extraire tout le document dans l’espace serveur (répertoire htdocs ou www)

Environnement Mac

  1. Installez [MAMP][5]
  2. Téléchargez et décompressez le package depuis [Codeigniter.com][3]
  3. Extraire tout le document dans l’espace serveur (htdocs)

Environnement Linux

  1. Téléchargez et décompressez le package depuis [Codeigniter.com][3]
  2. 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

  1. Allez dans application/config/config.php
  2. 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
  1. aller à la racine

  2. créer un fichier htaccess

  3. 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
  1. Ouvrez le fichier de configuration nginx (par défaut : /etc/nginx/sites-available/default)

  2. 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

  1. Allez dans application/config/database.php
  2. Définissez les variables de configuration suivantes. - Host - Username - Password - Database Name - Port

Définir le contrôleur par défaut

  1. Allez dans application/config/routes.php
  2. 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

  1. Allez dans application/config/autoload.php
  1. définissez la valeur de chargement automatique comme $autoload['libraries'] = array('database', 'session');
  2. 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’application front-end

La demande sur example.com/Codeigniter/backend.php ouvrira l’application back-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