• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)


Date: Tuesday, 05 Nov 2013 08:44

Nexus 5 wallpaperAlors pour tous les fans du Nexus 5 de Google :

Pour ceux qui l'ont commandé mais qui attendent !

Pour ceux qui l'auront jamais mais qui veulent le look !

Bref voici une petite application pour Android (toutes versions) qui vous permettra d'voir les fonds d'écran (wallpapers) du fameux Nexus 5.

Nan nan me remerciez pas !

C'est disponible sur le Google Play store bien sur :

Get it on Google Play

Author: "Da Bourz" Tags: "Android, android, google, nexus, wallpap..."
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 24 Apr 2013 09:54

Quand il s'agit de faire quelque chose de compliqué avec WordPress, au niveau des données, et qu'aucun plugin ne vous convient c'est à des solutions comme Pods que l'on s'adresse.

Pods vous permet en effet de carrément créer vos propres modèles de données ou bien d'étendre n'importe quel modele de WordPress (comme les Articles par exemple) en y rajoutant des champs, des relations ...etc.

C'est en utilisant un de ces champs de Pods (le simple menu déroulant sans relations) que je me suis trouvé confronté à un problème tout bête mais qui m'a un peu bloqué jusqu'à ce que la lumière se fasse, je vous livre donc l'astuce ici...

Imaginons que vous avez créer un Pod « Voitures » avec tout plein de champs (nom, cylindrée, année ...etc.) mais que vous vouliez un champ « couleur » qui soit un menu déroulant avec des choix prédéfinis pour que vos utilisateurs ne choisissent que les couleurs disponibles. Et vous ne voulez pas que ce champs soit une relations avec un autre Pod ou bien un autre objet Wordpress mais une simple liste toute bête.

Donc dans votre Pod rajoutez un champ de type « Relationship » puis dans l'option suivante choisissez « Simple (liste définie manuellement) ». Ensuite dans le champ texte qui suit vous allez entrer vos options (qui apparaitrons dans votre menu déroulant) sous la forme :

valeur|intitulé

(« valeur pipe intitulé » sans les espaces) et une entrée par ligne. On fait cela pour avoir des « valeurs » propres (sans espaces, accents ...etc.) utilisables directement dans notre code sans foutre le bordel et à coté quand même pouvoir utiliser des jolis intitulés.

Donc vous allez vous retrouver avec une liste appelée « couleur » genre :

rouge|Rouge Ferrai
noir|Noir Métallisé
blanc|Nacre Mat

Ensuite quand vous allez vouloir utiliser cette liste vous allez, pour une voiture « noir » par exemple :

Dans les « templates » de Pods utiliser le shortcode : {@couleur} ; ce qui donnera « Noir Métallisé » directement, le tag du template étant relativement intelligent il va sortir l'intitulé bien sur.

Dans le code PHP par contre (dans les Pages Pods ou direct dans des fichiers .php du thème) vous allez avoir deux options :

si vous utilisez (comme le plus souvent) :

<?php echo $books->field('couleur'); ?>

cela va envoyer « noir » comme résultat, car ce sera bien la valeur enregistrée dans le champ « couleur » de la table de votre Pod.

Si vous voulez bien afficher le joli « intitulé » il va falloir utiliser la méthode « display » plutôt :

<?php echo $books->display('couleur'); ?>

qui elle va être plus intelligente et renvoyer l'intitulé plutôt que la valeur. Vous aurez donc bien « Noir Métallisé ». A noter que cette différence entre « field » et « display » s'applique à tous les champs, et je vous engage à lire la documentation de chaque.

Voilà, bon Pods !

Author: "Da Bourz" Tags: "Php, pods, wordpress"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 29 Mar 2013 11:10

Bon comme tous les gens qui travaillent et qui développent avec WordPress je suis sans arrêt confronté au problème de mot de passe de l’Administrateur (ou de tout autre utilisateur) sur WordPress, et ce pour plusieurs raisons :

Soit j’ai carrément oublié le mot de passe que j’avais mis, quand on travaille en local c’est fréquent, même si maintenant sur mes sites en « localhost » j’essaye de mettre le Login en mot de passe en fait (genre : « admin /admin »)

Soit, et c’est assez fréquent, je récupère en local un WordPress dit « de production », souvent d’un client, et souvent je n’ai pas eu le (ou tous les) mots de passe, soit je veux le changer en local pour un truc simple.

Donc pour remettre le mot de passe que l’on veut, rien de plus simple. Sachant que WordPress utilise du MD5 pour ses mots de passe il suffit d’ouvrir la base de données locale, d’aller dans la table « wp_users » et de changer celui-ci.

Je vous donne directement le MD5 de « admin » en mot de passe (si comme moi vous voulez utiliser « admin/admin »), c’est :

21232f297a57a5a743894a0e4a801fc3

Voici aussi la requête complète directe :

UPDATE  `wp_users` SET  `user_pass` =  '21232f297a57a5a743894a0e4a801fc3' WHERE  `wp_users`.`ID` =1;

Vu que l’Admin est Presque toujours le ID1 (Admin et créateur) ça roule souvent direct.

Maintenant si vous voulez mettre un autre mot de passe vous pouvez utiliser le « md5 Password Generator » (http://www.phpbbhacks.com/md5.php) qui va encoder le mot pour vous t ensuite vous n’aurez plus qu’a le changer directement dans la table « wp_users »

Voilà, les mots de passe des WordPress ne vous embêterons plus jamais en local au moins…

Author: "Da Bourz" Tags: "Php, admin, password, wordpress"
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 08 Nov 2012 13:47

Allez je vous fait un petit billet vite fait pour fêter ma première application Android mise sur le Google Play Store : j'ai nommé "reBoot".

reBoot est une application très simple et légère qui vous permet de redémarrer, éteindre ou de passer en mode recovery votre téléphone ou votre tablette en un seul clic.

Vous devez avoir les droits d'accès root sur votre appareil.

Les commandes utilisées sont les suivantes:

  • "reboot now" pour redémarrer
  • "reboot recovery" pour passer en mode de récupération
  • "halt" pour arrêter votre appareil

Si cela ne fonctionne pas pour vous s'il vous plaît testez les commandes dans le terminal et contactez-moi !

Android app on Google Play

Author: "Da Bourz" Tags: "Android, android, app, google-play, rebo..."
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 11 Oct 2012 16:00

J'aime Android. Je sais ça colle pas avec le titre mais c'est parce que je vais dire un peu de bien avant de dire beaucoup de mal.

La plateforme est vraiment super, j'en suis à ma 3eme application (j'en parlerai plus tard c'est pas le sujet) et les outils de développement, sans compter que c'est du Java, sont top. En plus Android ça peut se bidouiller sans fin, se customiser, et du coup ça fait la joie des geeks, de Tristan Nitot et des curieux, même si ça sert à rien pour la plupart des gens.

Alors certes la multitude de terminaux et de versions différentes peut faire dire que contrairement à Apple c'est le bordel, et les développeurs se plaindre que c'est impossible de faire des applications super bien pour toutes les versions et pour tous, mais c'est faux.

En fait Android et la plateforme de développement sont super bien conçus et il est très facile de faire des programmes propres, multi-écrans et qui tournent de Android 2 à 4. D'ailleurs mon coup de gueule ne vient pas du fait que certains programmes ne tournent pas sur tel écran ou version, qu'il y a des bugs ou des problèmes... Non.

Mon coup de gueule vient du fait que malgré la qualité des outils mis en place la plupart des applications sont vraiment nulles et que les développeurs ont bâclé le travail. Souvent à cause de détails insignifiants, même en terme de temps de programmation, des applis sont juste bonnes pour finir à la poubelle. Et c'est souvent des grosses applications de grosses boites. Et quand on compare avec la version iOS c'est souvent encore plus énervant !

Des exemples j'étends crier dans la foule ? Et ben tiens, c'est parti...

FlickR : Alors là c'est la palme. L'orientation de l'écran est FIXE. Oui, c'est en mode portrait uniquement, mais en plus dans un seul sens. Donc si tu tiens ta tablette verticalement, mais pas le bon verticalement et ben FlickR s'ouvre à l'envers... Incroyable. Pas de mode portrait sauf bizarrement sur la vue en plein écran des photos, là oui ça marche, donc a priori les développeurs savaient faire... Impossible de remonter dans sa timeline (les photos de ses contacts), on peut rafraichir mais pas remonter en arrière ! Donc en gros tu regarde les 20 derniers upload et après tu vas sur le web. En plus toutes ces parties ne gèrent pas la taille de l'écran, et même sur une tablette 7' c'est ridiculement petit. Le gros problème c'est que dans la même application dans la partie "Explore" là la présentation est mieux (une grid ou au choix une liste) et tu peux scroller à l'infini dans les photos publiques. Donc pourquoi avoir fait différent pour les contacts ? Mystère. Et la liste est longue, et c'est juste de la conception hein ...

Télé7 jours : Bon là si t'es en mode paysage (tablette à l'horizontale pour les nuls) t'es content l'application se charge dans le bon sens, t'affiche le joli logo et puis... hop, repasse en mode portrait et pareil pas de rotation, si t'es pas dans le bon sens tu fais toi le 180°. Et je te parles pas de la taille des logos des chaines dans la partie programme pour laquelle il faudrait un stylet...

MyTF1 : Pareil t'es en mode portrait forcé sur l'appli et en mode paysage forcé sur les vidéos, tu tournes tellement la tablette que t'as l'impression que c'est un volant.

Orange TV : La dernière version c'est le cauchemar. La si t'as une tablette t'es bien en horizontal, mais seulement ça, la partie vidéo bouffe la partie gauche avec le menu et ça lance directement le live sans te demander ... Magnifique... L'appli ne garde plus la grille en cache elle est donc rechargée à chaque fois, "nice"...

Facebook : Ah ça a failli, mais euh, comment dire, le mode paysage à un comportement curieux avec les images (m'enfin pourquoi les recadrer ??) qui en rend la moitié illisibles et surtout, mais surtout, tu peux pas faire "Partager" ! Sur l'appli Facebook officielle !! Like oui, commenter oui, mais pas partager, enfin Facebook ?! Merde !

Tweedeck : La barre de menu en haut qui sert de raccourci pour éviter de scroller et pour faire un refresh doit bien faire 2mm de haut ....

Etc... etc... La liste est longue.

Le mieux en général c'est de se faire mal en comparant la version iOS et la version Android.

Bien sur il y a des exceptions, comme l'excellent Wunderlist qui fonctionne pareil et qui a le même look que ce soit sur le web, sur iOS, Android, Mac ou PC (chapeau les gars) et qui prouve juste que évidement c'est faisable !

Ce qui reste le plus incroyable à mes yeux c'est que des grosses boites / marques lancent dans la nature deux applications différentes pour Android et iOS ? Alors que bien souvent les dites applications n'utilisent aucune fonctionnalité spécifique... Et sans parler de la qualité de réalisation c'est juste tout bonnement incroyable ! Si vous voulez voir l'exemple parfait de ce dont je parle regardez Flickr (j'aime bien alors je châtie ...).

Bref reste des progrès à faire...

Author: "Da Bourz" Tags: "Général, android"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 13 Feb 2012 15:51

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.

Author: "Da Bourz" Tags: "Php, codeigniter, github, lib, php, simp..."
Comments Send by mail Print  Save  Delicious 
Date: Saturday, 28 Jan 2012 12:07

Dans la catégorie des petits trucs faciles voyons ensemble aujourd'hui comment virer la page 404 par défaut d'une application CodeIgniter.

En effet, si vous utilisez les jolies URLs avec le "Controller" de CodeIgniter qui gere vos liens, toutes les requêtes passerons donc par lui et si le lien n'est pas bon il renverra la page d'erreur du framework, mais en plus sans un 404 correct au niveau de la réponse. Ce qui évidement est mal.

Voyons donc comment régler les deux problèmes simultanément :

D'abord dans le fichier "routes.php" trouvez la ligne :

$route['404_override'] = '';

et remplacez la par :

$route['404_override'] = 'welcome/pastrouve';

Cela suppose que vous avez gardé le "Controller" par défaut de l'application exemple, sinon remplacez par le nom de votre "Controller" principal comme :

$route['404_override'] = 'moncontroleur/pastrouve';

Vous aurez remarqué que je n'utilise pas un "Controller" entier pour faire cette page, mais comme je suis econome je me contente de rajouter une methode dans mon controle principal. Libre à vous d'en créer un si vous en ressentez le besoin.

Donc ensuite ouvrez votre "Controller", ici "Welcome.php" et créez la fonction "pastrouve" :

public function pastrouve()
{
header("HTTP/1.1 404 Not Found");
$this->load->view('view_404');
}

Voilà, très simple, ici on se contente de mettre le bon "Header" avec la fonction adéquate, puis de charger le template personnalisé de notre page d'erreur (ici "view_404.php" dans les vues) et c'est terminé ! Vous pouvez pousser un peu plus loin le bouchon en récupérant l'URL demandée et en la passant en variable au template pour l'afficher à vos visiteurs avec la fonction "current_url()".

Bonne personnalisation, et si vous faites des 404 sympas postez les dans les commentaires.

Author: "Da Bourz" Tags: "Php, 404, codeigniter"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 09 Jan 2012 11:06

Suivant le principe "un peu de travail, un peu de jeu" je vous propose aujourd'hui une descente dans les méandres des réglages graphiques de SWTOR (Star Wars The Old Republic) LE jeu qui va bien du moment.

Depuis mon immersion dans ce super MMO, une chose me chagrinait : le rendu des graphismes avec ma superbe carte Nvidia. Si c'était joli et fluide et tout et tout, il y avait quand même 2 problèmes persistants, le rendu des ombres mais surtout la gestion de l'Anti Aliasing vraiment pas bon du tout, et l'Anti-aliasing moi c'est mon dada quand je joue. Je me suis donc penché sur la solution pour régler définitivement ce truc.

D'abord, le raccourci super important à connaitre c'est "ctrl-shift-f" : Ça va permettre d'afficher en bas a gauche de votre écran, dans le jeu, votre "frame rate" ou FPS, comme ça vous pourrez contrôler l’efficacité des modifications sur la fluidité du jeu. Ce petit raccourci vous affiche le FPS live et la moyenne, essayez de rester à 30 minimum.

Maintenant le réglage de l'Anti-Aliasing : En fait le jeu ne permet pas de le faire dans le menu des graphismes, et si les heureux propriétaires de cartes ATI peuvent le mettre direct dans le tableau de bord de leur carte cela ne marche malheureusement pas avec Nvidia. Hors l'Aliasing est un phénomène assez moche en 3D, c'est ce qui fait que les bords de vos objets ou personnages sont un peu (ou beaucoup) crénelés, faisant un petit effet d'escalier sur leur tour du plus mauvais effet. Hors les graphismes de SWTOR sont top donc c'est dommage. Heureusement la solution existe mais c'est à la main.

Vous allez donc ouvrir le fichier INI qui conserve les réglages graphiques du jeu, il se trouve dans le dossier "AppData" (invisible) correspondant à votre utilisateur. En gros c'est la :

C:\Users\MonUserName\AppData\Local\SWTOR\swtor\settings

Il vous faut éditer le fichier "client_settings.ini" et rajouter à la fin de la première partie ("RENDERER") la ligne suivante à la fin :

AntiAliasingLevel = 8

Les niveaux d'Anti-Aliasing possibles sont 2, 4, 8, 16 (pas testé 32). Si vous avez une grosse carte mettez 8 (j'ai pas vu la différence avec 16), si cela ralenti trop le jeu mettez 4 ou 2.

Et voilà ! Relancez le jeu et c'est beau ! Et n'ayez crainte, j'ai testé, normalement même si vous changez les réglages vidéo via le jeu la ligne sur l'AA ne bouge pas.

Author: "Da Bourz" Tags: "Général, antialiasing, nvidia, swtor"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 26 Sep 2011 07:57

Allez, je commence donc ici une mini série sur quelques Frameworks Web du marché, tous passés à la moulinette de l’application la plus simple possible, la très célèbre “Hello World !”.

Je fais ça car la plupart du temps si les documentations de ces projets sont bien faites (la plupart du temps), elles sont souvent aussi très complètes et elles t’embarquent directement dans la construction d’une application avec base de données et tout et tout...

Bien sur c’est la finalité de ces Frameworks Web, et le meilleur moyen d’en faire le tour, mais des fois tu veux juste faire une application vraiment de base, voir si ça marche, la poser sur ton serveur et re-vérifier que ça marche toujours. Et là, le “HelloWorld” s’impose, parce qu’une fois que tu sais que c’est bon, là tu peux te lancer dans le gros tuto à sa maman...

Donc on va faire du simple et du rapide, mais dans les règles de l’art quand même !

On commence donc avec Django, “le Framework pour les perfectionnistes avec des dealines” .

1 - Comme Django c’est du Python, on va d’abord vérifier que l’on a Python et quelle version. Dans un terminal tapez simplement “python” vous devriez voir l’invite de commande du langage et sa version comme ceci :

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Tapez “exit()” pour sortir de là.

A partir du moment ou votre version est supérieure à la 2.5 c’est bon, mais vous ne devez pas avoir la 3.0 pour Django, ça marche pas. Si vous n’avez aucun retour dans la console c’est que vous devez installer Python !

2 - Une fois Python OK, téléchargez la dernière version officielle de Django, décompressez l’archive, en ligne de commande placez vous DANS le répertoire ainsi créé et lancez la commande suivante pour démarrer l’installation :

Sous Unix (Mac OS X aussi évidement) :

sudo python setup.py install (là il faudra sûrement votre mot de passe)

Sous Win (avec les droits Admin)

python setup.py install ou setup.py install

3 - Vérifier que Django est installé correctement en lançant de nouveau la console Python, puis dans l’interpréteur tapez :

>>> import django
>>> print django.get_version()
1.3.1

Ça doit donc vous donnez le numéro de la version que vous avez installé, ici la 1.3.1. Jusque là donc tout va bien, Python et Django sont là et fonctionnent.

4 - Ensuite Django va avoir besoin de créer deux dossiers, un pour le site ou le “projet” dans lequel il stocke sa configuration et un autre pour une application, ou module web. Demandez pas pourquoi deux c’est comme ça, et je trouve ça pas terrible non plus mais bref. Évitez d’ailleurs de créer ça dans votre serveur local, il n’y a pas besoin. Moi j’ai mis le dossier principal dans “Mes Documents”, mettez le ou vous vous voulez mais évitez les espaces dans le chemin.

Bref, avec la console mettez vous dans le répertoire ou vous voulez stocker vos projets Django, et créez le dossier (moi je l’ai appelé “Django” tout simplement) dans lequel vous allez mettre vos applications en faisant :

django-admin.py startproject Django

5 - Placez vous ensuite dans ce dossier :

cd Django

Vérifiez que ça marche en lançant le serveur de développement grâce à la commande :

python manage.py runserver

Cela doit vous donner un truc du genre :

Validating models...
0 errors found
Django version 1.3.1, using settings 'Django.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Ouvrez votre navigateur à l’Url : “http://localhost:8000”, vous devez voir :

welcome to django

Puis placez vous dans ce répertoire :

cd Django

Puis créez votre application, ou module “HelloWorld” en faisant :

python manage.py startapp helloworld

Dans votre dossier “Django” éditez le fichier “settings.py” et ajoutez votre application dans les “INSTALLED_APPS” en éditant cette partie pour qu’elle ressemble à ça :

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
	'helloworld',
)

Toujours dans le fichier “settings.py” on va rajouter un répertoire pour ranger nos templates HTML, moi j’ai mis le mien dans le dossier “Django” pour des raisons pratiques mais vous pouvez mettre le votre ou bon vous semble, ensuite rajoutez le à la directive “TEMPLATE_DIRS” comme ceci :

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
	'/chemin/utilisateur/Documents/Django/templates',
)

Éditez maintenant le fichier “Django/urls.py”, c’est le fichier qui permet de gérer les Urls entre les contrôleurs et les vues, le tout en un seul endroit et avec tout plein de trucs sympa comme des expressions régulières et tout et tout. Modifiez le pour ajouter :

	# Hello World
	(r'^helloworld/$', 'helloworld.views.index'),

à “urlpatterns”.

Ouvrez maintenant votre contrôleur, qui doit s'appeler “Django/helloworld/views.py” (oui je sais le nom est pourri mais c’est bien le contrôleur, on va s’occuper de la vue après, d’un autre coté c’est bien lui qui gère les “views”, donc ...) et faites le ressembler au code suivant :

from django.template import Context, loader
from django.http import HttpResponse

def index(request):
	the_message = "Hello World !!!";
	the_title = "Hello !";
	t = loader.get_template('helloworld/index.html')
	c = Context({
	'the_message': the_message,
	'the_title': the_title,
	})
	return HttpResponse(t.render(c))

En gros pour résumer c’est la méthode qui va gérer la vue par défaut, on y met deux variables textes qu’on envoie dans un template et on file le tout au navigateur.

Maintenant, pour le template créez un dossier du nom de votre application dans le dossier “templates”, soit si vous avez suivit jusque là : “helloworld”. Dans ce dossier (donc : “Django/templates/helloworld”) créez un fichier “index.html” et copier donc dedans le code ci-dessous :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<title>{{the_title}}</title>
	
</head>

<body>

<h1>{{ the_message }}</h1>

</body>
</html>

C’est un fichier très simple et très banal, une page HTML dans laquelle on affiche nos deux variables.

Voilà, normalement c’est fini et ça marche, pour le vérifier ouvrez une console, placez vous dans le dossier “Django” et lancez :

python manage.py runserver

Vous devriez voir :

Validating models...
0 errors found
Django version 1.3.1, using settings 'Django.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

et puis ouvrez l’application dans votre navigateur :

http://localhost:8000/helloworld/

Vous devriez avoir un joli “Helloworld” en gros !

Félicitations vous avez votre première application Django !

Author: "Da Bourz" Tags: "Django, django, helloworld, pourlesnuls,..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 22 Feb 2011 10:46

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.

Author: "Da Bourz" Tags: "Php, codeigniter, php, upgrade"
Comments Send by mail Print  Save  Delicious 
Date: Sunday, 12 Sep 2010 08:19

C'est une espèce de réponse à un SMS tardif hier soir de @__g1__ qui se fichait assez ouvertement de moi en me demandant si je n'étais pas trop dégoûté de la nouvelle.

Franchement je ne sais pas, l'histoire est assez glauque apparemment, montrant peut être bien à quel point Mike est un trou du cul et à quel point finalement les autres font passer l'avenir de la grosse machine avant 25 années d'amitié.

Mais on le sait très bien, dans toute histoire il y a trois version, la tienne, la mienne et la vérité...

La version de Mike, qui demande de mettre en pause Dream Theater pour 2 années, usé qu'il est par 20 ans de travail non stop est recevable, surtout finalement si l'on regarde la lente dégradation de la qualité de la production de DT (dans le dernier album c'est finalement les reprises ("Stargazer") qui sont le mieux...). Dans son esprit, faire un break est salutaire pour recharger les batteries, et mieux revenir avec une inspiration et une envie renouvelée... Le refus du reste de groupe, de cette demande de leur "leader" naturel est assez incompréhensible, préférer aller au clash que de ranger son ego, très étrange. Bref le pauvre Mike qui n'en peut plus arrête ici l'aventure, compréhensible.

La version de Dream Theater maintenant, officielle en tout cas, pas de break, entrée au studio en janvier 2011, et rien ne doit arrêter cela, même pas la demande de monsieur Portnoy. Cela dit, si l'on lit entre les lignes c'est plus édifiant : En fait, bizarrement, Mike est très fatigué de DT mais pas de tout les autres projets qu'il a en cours, car en effet le bougre n'a pas une minute de répit et ne cesse d'enchaîner les super groupes (écoutez "Transatlantic" si vous ne connaissez pas c'est terrible...). Or, Dream Theater va finalement laisser passer quand même plus de 2 ans entre "Black Clouds..." et le prochain album à venir (dont l'enregistrement ne commencera pas avant Janvier 2011) et le calendrier de DT entre ces deux disques n'a pas été très surchargé. Le groupe veux donc remettre ça et finalement ce trou du cul de Mike portnoy leur dit : "a ben non, hein, j'suis fatigué de DT moi, pi j'ai un agenda de ministre sur l'année prochaine avec plein de trucs en cours, alors on va faire un break, enfin vous surtout, pour que moi je puisse faire ce que je veux...". Difficile a avaler.

La vérité maintenant, et ben personne ne sais, mais c'est sûrement entre les deux, avec des responsabilités partagées, sûrement un éparpillement artistique de Mike et un manque d'organisation général, et rien ne me fera penser qu'a leurs places il n'y avait pas moyen de s'arranger. Je pense que Mike voulait partir et que ça ne dérangeait finalement pas les autres...

Tiens, ça me rappelle le départ de Kevin Moore, c'était la catastrophe, tout ça, et puis finalement Dream Theater c'est remis, ça a été différent, mais DT est toujours là.

Allez, je retourne écouter "Awake" moi...

Author: "Da Bourz" Tags: "Musique, dreamtheater, mikeportnoy"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 16 Jul 2010 07:07
La dure vie du chat Niçois à l'heure de la sieste...
Author: "Da Bourz" Tags: "Photo, chat, photo"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 19 May 2010 08:34

DioCeux qui suivent ce blog connaissent mon admiration pour Ronnie James Dio, cité plusieurs fois ici même.

Et bien l'ami Ronnie nous a quitté ce 16 mai, emportant avec lui elfes, dragons et rois, ainsi qu'une des plus belle page de l'histoire du hard-rock, dont le petit monde se retrouve endeuillé.

L'annonce officielle a été faite par sa femme sur le site officiel de DIO, et la plupart des musiciens de métal y vont de leur hommage, mais vous devriez lire la très émouvante lettre de lars ulrich...

Une partie de ma jeunesse à moi vient par cette nouvelle de partir en fumée, tellement j'ai de souvenirs associé à l'incroyable voix de Ronnie, comme ce concert au Zenith de Paris avec mon ami Franck ou DIO avait juste été intouchable...

Ronnie James Dio à survolé les années 70 et 80 comme le plus grand chanteur de hard-rock, dans le sens classique du terme, participant à plus d'albums et de groupes cultes qu'aucun chanteur ne pourra désormais le faire. Après avoir commencé sa carrière avec ELF en faisant notamment les premières parties de Deep Purple, il participe ensuite à écrire la plus belle part de l'histoire de Rainbow avec Ritchie Blackmore, fait renaitre un Black Sabbath de ses cendres grâce à un morceau culte qui va influencer toute la génération suivante, puis se lance dans une carrière solo, en fait monte un super groupe avec des amis de longue date, dont les deux premiers disques seront les plus importants du hard des années 80...

Une légende...

Si vous ne devez écouter qu'un seul titre de Ronnie james Dio c'est "Heaven & Hell" enregistré avec Black Sabbath, sinon voici une rapide discographie sélective d'albums fabuleux qui ont marqué l'histoire, mais toute la production est de qualité :

  • 1974 : "The Butterfly Ball" (Ronnie chante sur le fameux "Love is all", que tout le monde connait même si vous ne saviez pas que c'était lui...) avec Roger Glover de Deep Purple
  • 1976 : "Rising", le deuxième album de Rainbow
  • 1977 : "On Stage", chef d'œuvre absolu de Rainbow sur scène dont je parle en détail ici.
  • 1978 : "Long Live Rock'n'Roll", dernier disque avec Rainbow, brillant
  • 1980 : "Heaven & hell" avec Black Sabbath, disque de Platine aux USA, incroyable, rien que le titre "Heaven & Hell" est un monument du hard...
  • 1983 : "Live Evil", en concert avec Black Sabbath, Ronnie au sommet de sa forme transfigure le groupe l'emmenant vers des sommets jamais vus en concert...
  • 1983 : "Holy Diver et :
  • 1984 : "The Last In Line" avec son super groupe DIO (Vivian Campbell, Jimmy Bain, Vinny Appice) les deux albums incroyables de sa carrière solo.

Bye bye Ronnie...

They say that lifes a carousel
Spinning fast, youve got to ride it well
The world is full of kings and queens
Who blind your eyes and steal your dreams
Its heaven and hell, oh well
And they'll tell you black is really white
The moon is just the sun at night
And when you walk in golden halls
You get to keep the gold that falls
Its heaven and hell...

Author: "Da Bourz" Tags: "Musique, dio, ronniejamesdio"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 05 May 2010 08:16

"A Drowning" est la première chanson réalisée par How To Destroy Angels, le projet de Trent Reznor avec sa femme Mariqueen

Et ça pique dur...

Author: "Da Bourz" Tags: "Musique"
Comments Send by mail Print  Save  Delicious 
Vivant...   New window
Date: Sunday, 28 Mar 2010 09:14

Si, si ! Je suis, enfin on est vivants !

Je viens de réaliser que ce blog n'est pas encore passé en 2010 et donc je m'empresse de corriger cela.

Notre vie dans notre petit village du Sud se passe excellemment bien et la côte d'azur est vraiment sublime dès qu'il y a un petit rayon de soleil, ce qui est le cas depuis ce mois de Mars, fini la pluie et la neige !

Bien sur paris manque un peu, pas du tout pour la ville ou le mode de vie mais pour les amis que nous avons laissé derrière nous, heureusement quelques aller-retour permettent de se voir autour d'une bonne bière (les intéressés se reconnaîtrons) !

Certes je blogue moins mais c'est pas ma faute c'est celle de Twitter, quand on Tweete on blogue moins c'est bien connu... Mais je vais faire un effort, d'autant que moi maintenant je suis Mac et que je redécouvre avec délectation les ordinateurs de la marque à la pomme. Je prépare donc une petite série de billets sur cette re-découverte de l'univers Apple, tant sur le coté "user" et trucs et astuces que sur le coté MacOsX c'est une plate-forme de rêve pour le développement !

Ah, et promis bientôt j'envoie le mail avec mes nouvelles coordonnées à tout le monde, c'est sur je vais le faire ! :-)

Dans l'intervalle n'hésitez pas à me contacter par ici, surtout si vous passez dans le coin, j'ai déjà fait plusieurs déjeuners avec des Parisiens en terrasse au bord de l'eau au soleil, vous verrez c'est sympa !

Author: "Da Bourz" Tags: "Général, life, sud"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 05 Oct 2009 06:37

Less Is MoreCelui là je l'ai pris dans la figure sans que ça prévienne, et c'est tant mieux, quel choc !

J'explique : d'habitude avec Marillion que je suis assidument, la sortie d'un disque est anticipée, suivie (les petits extraits) puis écouté, reçue (oui j'achète toujours des disques) mais pas cette fois, non.

Là, avec le déménagement, les trucs à gauche à droite, j'avais oublié la sortie. Désolé les gars. Et puis comme tous les matins maintenant je lance Spotify, pour mettre de la musique douce pendant que je lis mes mails et là pan ! Le jour de la sortie direct je tombe sur "Less Is More", signe du destin, et j'appuie sur "play" et là... Ouch ! C'est magnifique ! Je savais que ce serait un album de reprise de vieux morceaux en acoustique, mais mon dieu, c'est juste sublime !

Ce "Less is more" est donc un disque acoustique minimaliste, ou Marillion revisite certains de ses standards. L'essence même diront certains, ou l'on découvre que certaines de ces chansons pourtant typées "progressif" avec beaucoup d'effets et de production sont pourtant, une fois mises à nu, juste des putains de super morceaux.

Ça commence avec "Go", ou justement Marillion nous emmène dans son trip, rien à dire c'est bien fait et assez classique.

Et puis ça frappe fort : "Interior Lulu" avec son xylophone (bravo Mark) touche au sublime, j'en ai encore des frissons. Beaucoup d'espace (de silence), tout dans les détails, la voix de H, cette montée avec l'arrivée de la guitare et de la batterie, fabuleux !

On monte encore d'un cran juste derrière, avec un "Out of this World" indescriptible ! Vraiment, c'est mon morceau préféré, sur ce disque et en général, la musique devrait toujours être comme ça...

Suit un "Wrapped up in time" assez classique, qui a fort bien négocié son passage au piano, avec l'arrivée de la guitare électrique de Steve qui vous bouleverse de ses interventions.

Puis le très progressif "The Space", que l'on avait déjà entendu dans "The Walls", subit un traitement blues / jazz du meilleur effet, c'est différent, c'est bien et c'est tant mieux !

On part ensuite vers le "tubesque" "Hard as love" extrait de "Brave", qui rapproche encore un peu plus Marillion des Beatles, une belle chanson tout en mélodies, alors que c'était franchement un gros rock bien carré, et ses chœurs sur le refrain. Mark nous colle un passage Xylo dans le genre de ceux qu'il fait normalement au synthé, top !

Pour moi on descends ensuite d'un cran avec l'enchainement "Quartz" (qui ne se prête pas du tout à ce genre d'exercice), "If my heart were a ball" (que j'ai jamais aimé) et "It's not your fault". Ce n'est pas mauvais hein, loin de là, mais par rapport au reste...

Et puis la magie reviens, et fort alors, pour ce diamant de 2 minutes 30 qu'est "Memory of water", qui était déjà un extraterrestre sur "This Strange Engine" avec son passage à cappella. Ici on pense plutôt à Led Zeppelin, avec le travail des guitares, incroyable, en concert ça va faire verser des larmes c'est sur, c'est juste bouleversant, et H chante ça vraiment de façon intouchable.

Ahh, et là, "This is the 21st Century" et comment dire, si il y a une chanson que je ne m'attendais pas à trouver dans un disque intime et acoustique c'était bien celle là, tellement la version originale utilise des machines et est sur-produite. Et ben j'avais tort, c'est très réussi, un sacré morceaux, qui arrive même à garder son coté "Prog", une des grandes chansons de l'album ("...Il y a un homme dans le building en verre, et il vient juste d'acheter le monde...") !

On fini sur le très rock et joyeux "Cannibal surf baby" qui promet un moment sympa lors des concerts !

Voilà, comme d'habitude Marillion surprend, ne se trouve pas là ou on l'attend et nous livre un superbe disque, une fois encore différent. Courez donc m'acheter ça !

Vous pouvez aussi l'écouter sur Spotify : Marillion – Less Is More.

Author: "Da Bourz" Tags: "Musique, acoustique, lessismore, marilli..."
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 01 Oct 2009 12:21

Bon, comme je commençais à avoir des plaintes, c'est maintenant fait : Ma Télé Ce Soir à son propre compte Twitter, pour suivre et tous les jours recevoir votre suggestion télé de la soirée, c'est par ici :

Ma Télé Ce Soir sur Twitter.

A noter le très joli fond fait par PixelMio.

Author: "Da Bourz" Tags: "Blogosphère, matelecesoir, tele, televi..."
Comments Send by mail Print  Save  Delicious 
Date: Sunday, 27 Sep 2009 09:10

Bon, ça fait longtemps que je dois l'écrire celui-là, mais j'ai été soit trop occupé, soit trop sur la route, soit j'avais pas envie de l'écrire...

Enfin voilà, on y est : On est partis !

Certains appellerons ça la crise de la quarantaine, d'autres une bonne décision, "anyway", en quinze minutes et à des conditions qui ne se refusent pas, nous avons décidé de changer de vie, de partir nous installer sur la cote d'azur.

Rien à voir avec le boulot, j'étais (je suis encore) très heureux avec Michael Page (post plus long sur le sujet à venir), mais juste une envie irrésistible de changer de vie pour le meilleur : Meilleur climat, meilleur environnement, meilleure école pour Kiki... Bref mieux !

La campagne (montagne) en étant dans une grande ville, avec que les avantages, difficile de résister... Surtout quand comme aujourd'hui le thermomètre flirte avec les 30°C et que nous allons finir dans la piscine dans 1 heure... Difficile de l'imaginer quand on est à Paris.

C'est le bonheur pour les enfants en tout cas, et pour les adultes que nous sommes un nouveau départ, plein de bonnes promesses, il est toujours plus agréable de chercher du boulot ou de travailler sous le soleil de la Méditerranée...

Bon, certes, cela cela fut un peu rapide et je suis toujours dans le processus de contacter tous mes amis de Paris et Michael Page, mais c'est en cours, ça vient, et vous recevrez bientôt un mail. D'ici là (parce que j'ai quand même deux, trois trucs à faire pour régler ma nouvelle vie) si vous souhaitez me contacter, vous pouvez le faire par les moyens habituels ou bien en utilisant le formulaire de contact fait à cet effet.

Aller, c'est promis, du coup je me remet à bloguer régulièrement pour donner des nouvelles !

Bon, sur ce, il fait 30°C, il faut vraiment qu'on aille faire "plouf" dans la piscine maintenant....

We're gone...

Author: "Da Bourz" Tags: "Général, bouger, move, nice, perso"
Comments Send by mail Print  Save  Delicious 
Date: Sunday, 21 Jun 2009 08:05
Et voilà, c'est l'été ! Même si on dirait pas vraiment...

En tout cas, ce soir c'est donc la fête de la musique et avec Paulo et le gang on a dit que pour une fois on ferait un petit quelque chose public pour que les gens qui ne font pas partie de la Boite puissent en profiter aussi !

Donc nous serons à partir de 17h30 pétantes à La brasserie Le Centre à l'angle de la rue Achille Peretti et de la rue des Huissiers à Neuilly sur Seine.

On jouera une, deux ou trois fois suivant l'ambiance, et vous êtes donc les bienvenus !! C'est "Family compliant" comme on dit, donc vous pouvez venir avec votre moitié et les enfants !

Concert Again !
Author: "Da Bourz" Tags: "Musique, musique, rock"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 16 Jun 2009 07:33

L'ami Olivier vient de se lancer avec succès dans l'aventure Podcast avec l'ouverture de "Dans Ton Pod" ("le seul endroit ou se mettre l'info") un petit blog qui va bien.

Le deuxième Podcast vient juste de sortir et il y a deux choses qui sont sures :

  • C'est bien !
  • Olivier c'est un "master" en orthographe aussi !!

Quand c'est Culturel, hein :

Dans Ton Pod Culturel

Et quand au Terminateur :

Dans ton Pod Terminateur

Allez, longue vie à ce nouveau Blog et au correcteur orthographique pour le prochain numéro !!

:-)

Author: "Da Bourz" Tags: "Blogosphère, danstonpod, podcast"
Comments Send by mail Print  Save  Delicious 
Next page
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader