Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste: config-base

Wiki: Plan du site - Derniers changements - Back link

Avant de continuer plus loin avec du code, il nous faut configurer Jelix pour pouvoir accéder à une base de données et alimenter cette base un minimum. Nous allons en effet stocker nos news dans une table.

Jelix prend en charge MySQL, PostgreSQL, SQLite et PDO. Par son système de driver, il est possible d'ajouter d'autres types de bases de données (pour le cas où on ne veuille pas utiliser PDO).

Fichier de configuration d'accès

L'accès à une base de données est configuré dans le fichier actu.org/var/config/dbprofils.ini.php. Dans ce fichier, on peut spécifier un ou plusieurs profils de connexion, donc une ou plusieurs connexions.

Chaque profil a un nom et est spécifié comme suit :

[NomProfil]
driver="mysql"    ; nom du driver à utiliser
database="foo"    ; nom de la base à utiliser
host= "localhost" ; nom de la machine du serveur de base de données
user= "john"      ; utilisateur de connexion
password="doo"    ; mot de passe
persistent= on    ; indique si la connexion est persistante
; à activer si vous avez des problèmes de caractères bizarres avec vos données :
; force_encoding = on 

Mis à part le paramètre driver qui est obligatoire, le reste des paramètres dépend du driver utilisé. En général, vous aurez toutefois les paramètres database, host, user et password. Changez le contenu de ce fichier en fonction de votre configuration. Nous prendrons comme nom de profil “actu.org” par exemple, et nous allons définir ce profil par défaut en l'indiquant avec le paramètre “default”.

default = actu.org
 
[actu.org]
driver="mysql"
database="actu"  
host= "localhost"
user= "actu"   
password="actu"
persistent= on 
; à activer si vous avez des problèmes de caractères bizarres avec vos données :
; force_encoding = on

Note : si dans votre application, vous voulez créer plusieurs points d'entrée qui utilisent des fichiers de profils de base de donnée différents, vous pouvez, dans les fichiers de configuration des points d'entrée, indiquer les fichiers de profils au niveau de l'option dbProfils. Par exemple dans actu.org/var/config/index/config.ini.php, vous pouvez indiquer :

 dbProfils = dbprofils.ini.php

Mais si vous n'avez qu'un fichier de profils, pas besoin de renseigner cette option.

Création de la table

Dans la base “actu”, nous allons maintenant créer une table news. Exécutez ce script SQL (adaptez-le si vous utilisez une autre base que MySQL) dans phpmyadmin par exemple :

CREATE TABLE `news` (
    `id_news` INT NOT NULL AUTO_INCREMENT ,
    `sujet` VARCHAR( 255 ) NOT NULL ,
    `texte` TEXT NOT NULL ,
    `news_date` DATE NOT NULL ,
    PRIMARY KEY ( `id_news` )
);

Et alimentons cette table avec deux news (nous ferons un formulaire plus tard).

INSERT INTO `news` VALUES (1, 'première news', 
    'Ceci est une première news. In commodo, neque sit amet laoreet accumsan, 
     neque velit rutrum augue, a fringilla nibh lorem nec est. Cras eleifend eros. 
     Sed vehicula. Donec vel enim at nunc tincidunt pellentesque. Donec malesuada.
     Praesent volutpat orci ut leo. Donec dictum tortor quis odio. Aliquam pulvinar 
     justo eu eros.',
    '2006-01-15');
 
INSERT INTO `news` VALUES (2, 'Lorem Ipsum', 
    'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse enim 
     elit, luctus in, rhoncus quis, facilisis in, nulla. Nam eu dolor vel erat semper 
     porta. Phasellus pellentesque nulla a urna. Phasellus nonummy diam id risus. 
     Donec faucibus mi sed nisi. Sed et lectus at ligula scelerisque tempus. Proin 
     justo nibh, consectetuer porta, accumsan ac, consectetuer id, dui. Morbi at 
     mi auctor urna elementum convallis. Etiam et massa porta risus imperdiet 
     ullamcorper. Aenean a metus at tortor ultrices accumsan. Mauris luctus.',
    '0000-00-00');

Nous sommes maintenant prêts à utiliser ces données dans notre application.

fr/tutoriels/jelixnews-1.1/config-base.txt · Dernière modification: 2009/03/18 11:15 (modification externe)
Fils rss des changements récents dans le wiki Creative Commons License