Da Bourz Blog

Aller au contenu | Aller au menu | Aller à la recherche

lundi, 13 février 2012

La librairie SimpleLogin-Secure pour Code Igniter

Bon, voilà, j'ai officiellement repris la librairie "SimpleLogin-Secure" pour Code Igniter écrite par Alex Dunae, elle même venant de la lib "SimpleLogin".

SimpleLogin-Secure c'est une petite librairie très sympa est très utile qui vous permet de gérer des utilisateurs (création, suppression, login, logout) avec Code Igniter tout en faisant de l'encryption assez forte grace à Phpass.

En fait elle était un peu abandonnée et j'ai eu besoin de la mettre à jour pour Code Igniter 2.0 car elle ne fonctionnait plus. Du coup j'ai corrigé les bugs, j'ai mis à jour Phpass à la dernière version (la 0.3) et je vous ai mis le tout avec la doc sur Github.

Voilà, hésitez pas à proposer des améliorations ou à signaler des bugs !

Simple Login Secure sur GitHub.

mardi, 22 février 2011

Upgrader vers CodeIgniter 2.0

Ces temps-ci je suis un peu comme les gens de EllisLab, je prends mon temps entre les billets sur ce blog comme vous avez pu le remarquer. Mais bon, tout arrive, la preuve...

Et donc la fameuse nouvelle mouture de CodeIgniter est sortie en version finale 2.0 ce janvier dernier. je ne vais pas revenir sur les nouveautés ou bien encore la fin du support de PHP 4, mais plutôt vous proposer ma méthode pour passer un projet CodeIgniter 1.x vers la version 2.0 car certaines choses ont changé et si il n'y a rien d'insurmontable vos anciens projets ne marchent plus avec cette nouvelle version.

Alors, commencez donc par récupérer CodeIgniter et dé-zippez l'archive.

Contrairement à l'excellent post de Phil Sturgeon "Upgrading to CodeIgniter 2.0" dont ce billet est inspiré, je vais plutôt partir sur une installation vierge et propre dans laquelle vous déplacerez vos fichiers plutôt que la méthode de Phil qui consiste a faire l'inverse et mettre un CodeIgniter par dessus votre projet.

Vous devez aussi lire les notes concernant l'ugrade dans la documentation officielle, même si c'est abordé ici ça ne fait pas de mal !

Donc, dans l'ordre :

1 - Vous copiez le dossier dé-zippé de CodeIgniter 2.0 sur votre serveur, la ou vous mettez vos applications, a coté de votre application qui est en CodeIgniter 1.x. La grosse nouveauté que vous allez voir immédiatement 'est que le dossier "Application" n'est plus à l'intérieur du dossier "System", il en a été sorti pour se retrouver à coté, et ça c'est bien.

2 - Ouvrez votre nouveau dossier "Application", puis allez dans "Config" et éditez le fichier "config.php" pour remettre les réglages de votre ancienne application, souvent les deux variables de base :

$config['base_url']='http://localhost/mondossier/';
$config['index_page']='';

Je met volontairement la variable "index_page" vide pour avoir de jolies URLs, sans le "index.php" dedans.

3 - Copiez et éditez (si vous n'en aviez pas créez le) votre ".htaccess" qui se trouve à la racine de votre dossier, au niveau des dossiers "system" et "application". Cela sert pour les jolies URLs, surtout si vous avez viré le "index_page" ci dessus. Chez moi j'ai eu un problème avec mon ancien ".htaccess" qui ne marchait plus avec la nouvelle version, je n'ai pas cherché pourquoi, en voilà un qui marche :

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php/$1 [L]

4 - Depuis votre ancien dossier, copiez maintenant vos Controllers dans "Application/Controllers", vos vues dans "Application/Views" et, vous l'aurez deviné, vos Models dans "Apllication/Models". Si vous aviez des librairies faites de même, si vous aviez des Plugins et bien c'est mort, les Plugins ont disparus de CodeIgniter 2.0 et vous devez donc les convertir en "Helpers" ou en "Libraries". Le plus simple reste de les transformer en "Helpers", en effet il suffit de les mettre dans le dossier et de changer le nom depuis "monNom_pi.php" vers "monNom_helper.php". Évidement vous devrez changer vos appels dans vos fichiers et les chargement ou l'"autoload".

5 - Maintenant il faut modifier un peu le code de vos "Models" et vos "Controllers" car des choses ont changé : Maintenant il faut étendre CI_model et CI_Controller, il faut donc changer ça :

class MonModel_model extends Model
class MonController extends Controller

en ça :

class MonModel_model extends CI_Model
class MonController extends CI_Controller

Et il faut également modifier le constructeur, pour remplacer ça :

parent::Controller();

En ça :

parent::__construct();

Râlez pas, demandez pas pourquoi, il faut le faire, c'est tout ! :-)

6 - Enfin, si jamais vous utilisiez encore la vieille classe de validation, ce qui est mal, elle n'existe plus dans cette version 2.0, et comme c'est pas faute d'avoir été prévenu et bien maintenant il faut la changer pour de bon.

Voilà, c'est fini, normalement c'est tout, c'est assez simple finalement, et vous allez pouvoir bénéficier des nouveautés de CodeIgniter 2.0 pour votre application en plus des performances améliorées.

samedi, 31 janvier 2009

Changement de look !

Bon, j'ai fait une mise à jour de la partie "site", de bourzeix.com.

Au menu : changement de look, mise à jour de Code Igniter en version 1.7 et création d'une librairie php pour afficher votre statut Twitter en version plus que beta ! ;-)

Dès que la version de la Lib le permet je met le code ici, j'ai trouvé ça pratique pour moi, mieux que le Javascript de Twitter.

Ensuite je m'attaque au blog...

Vala, feedback welcome !

samedi, 13 octobre 2007

Erreur 404 avec PHP

Inauguration de la catégorie PHP avec ce billet.

Ce matin je cherchais le meilleur moyen de faire une redirection 404 propre avec PHP pour virer les spammeurs de trackbacks du blog, j'ai trouvé et je met la recette ci dessous :

<?php header("HTTP/1.1 404 Not Found"); ?>
<?php header("Status: 404 Not Found"); ?>

A savoir quand même que si vous voulez vraiment montrer une page d'erreur il faudra ensuite l'inclure, car ce script ne fait que renvoyer proprement l'erreur au navigateur, et Apache ne renvoi pas sa page 404 depuis PHP.