⚠ In case you've missed it, we have migrated to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This is an archived forum. ⚠

  •     

profile picture

[FR] Translation : The newbies grocery CRUD Tutorial



MiamMiam

MiamMiam
  • profile picture
  • Member

Posted 13 January 2013 - 10:42 AM

[EN] Here is the french translation of the page Documentation>The newbies grocery CRUD Tutorial. Your comments are welcome.
[FR] Ci-dessous la traduction en français de la page Documentation>The newbies grocery CRUD Tutorial. Vos commentaires sont les bienvenus.

[b][size=5]Votre premier CRUD avec Grocery CRUD[/size][/b]

Si vous découvrez Codeigniter et que vous ne comprenez pas encore comment vous pouvez créer un CRUD, ce tutoriel est fait pour vous. Ci-dessous vous verrez par étapes comment faire marcher Grocery CRUD et comment l'installer dans un nouveau projet. Tous les exemples ci-dessous sont pour Codeigniter 2.x.
[b]Etape 1.[/b] D'abord télécharger Codeigniter et vous assurer que votre projet affiche l'écran de bienvenue. Donc si le premier écran de votre projet ressemble à l'image ci-dessous, vous avez correctement installé le framework Codeigniter pour votre projet.
[img]http://www.grocerycrud.com/assets/uploads/general/codeigniter-welcome.png[/img]
[b]Etape 2.[/b] Maintenant nous sommes prêt pour configurer notre base de données pour notre projet Codeigniter. La connexion à la base de données par Codeigniter doit être configurée dans : votre_projet/application/config/database.php. Le fichier doit ressembler à quelque chose comme ça :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter
*
* An open source application development framework for PHP 5.1.6 or newer
... mpla mpla mpla
*/

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default']['failover'] = array();

/* End of file database.php */
/* Location: ./application/config/database.php */

Donc assurez-vous d'avoir les paramètres de votre base de données là dedans. Par exemple :
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '1234'; //Vachement sécurisé, n'est ce pas ?
$db['default']['database'] = 'my_new_cms';


[b]Etape 3.[/b] Créons notre premier contrôleur. Appelons notre premier contrôleur Main. Donc pour faire ça, vous allez dans votre_projet/application /controllers/ et vous créez un fichier main.php, qui ressemblera à ceci :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {

function __construct()
{
parent::__construct();

$this->load->database();

}

public function index()
{
echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function
die();
}
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

Pour vous assurer que tout marche bien, vous devez aller sur h ttp://localhost/votre_projet/index.php/main et voir le message : "Welcome to the world of Codeigniter". Si vous avez une erreur comme celle-ci :
[img]http://www.grocerycrud.com/assets/uploads/general/database-error.png[/img]
Alors quelque chose se passe mal dans la connexion à la base de données. Vérifiez votre mot de passe et votre nom d'utilisateur et réessayez.

[b]Etape 4.[/b] Créez votre table dans votre base de données. Disons que nous avons une table nommée "employees". Le code SQL à insérer est celui-ci :
CREATE TABLE IF NOT EXISTS `employees` (
`employeeNumber` int(11) NOT NULL AUTO_INCREMENT,
`lastName` varchar(50) NOT NULL,
`firstName` varchar(50) NOT NULL,
`extension` varchar(10) NOT NULL,
`email` varchar(100) NOT NULL,
`officeCode` varchar(10) NOT NULL,
`file_url` varchar(250) CHARACTER SET utf8 NOT NULL,
`jobTitle` varchar(50) NOT NULL,
PRIMARY KEY (`employeeNumber`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1703 ;


INSERT INTO `employees` (`employeeNumber`, `lastName`, `firstName`, `extension`, `email`, `officeCode`, `file_url`, `jobTitle`) VALUES
(1002, 'Murphy', 'Diane', 'x5800', 'dmurphy@classicmodelcars.com', '1', '', 'President'),
(1056, 'Patterson', 'Mary', 'x4611', 'mpatterso@classicmodelcars.com', '1', '', 'VP Sales'),
(1076, 'Firrelli', 'Jeff', 'x9273', 'jfirrelli@classicmodelcars.com', '1', '', 'VP Marketing'),
(1088, 'Patterson', 'William', 'x4871', 'wpatterson@classicmodelcars.com', '6', '', 'Sales Manager (APAC)'),
(1102, 'Bondur', 'Gerard', 'x5408', 'gbondur@classicmodelcars.com', '4', 'pdftest.pdf', 'Sale Manager (EMEA)'),
(1143, 'Bow', 'Anthony', 'x5428', 'abow@classicmodelcars.com', '1', '', 'Sales Manager (NA)'),
(1165, 'Jennings', 'Leslie', 'x3291', 'ljennings@classicmodelcars.com', '1', '', 'Sales Rep'),
(1166, 'Thompson', 'Leslie', 'x4065', 'lthompson@classicmodelcars.com', '1', '', 'Sales Rep'),
(1188, 'Firrelli', 'Julie', 'x2173', 'jfirrelli@classicmodelcars.com', '2', 'test-2.pdf', 'Sales Rep'),
(1216, 'Patterson', 'Steve', 'x4334', 'spatterson@classicmodelcars.com', '2', '', 'Sales Rep'),
(1286, 'Tseng', 'Foon Yue', 'x2248', 'ftseng@classicmodelcars.com', '3', '', 'Sales Rep'),
(1323, 'Vanauf', 'George', 'x4102', 'gvanauf@classicmodelcars.com', '3', '', 'Sales Rep'),
(1337, 'Bondur', 'Loui', 'x6493', 'lbondur@classicmodelcars.com', '4', '', 'Sales Rep'),
(1370, 'Hernandez', 'Gerard', 'x2028', 'ghernande@classicmodelcars.com', '4', '', 'Sales Rep'),
(1401, 'Castillo', 'Pamela', 'x2759', 'pcastillo@classicmodelcars.com', '4', '', 'Sales Rep'),
(1501, 'Bott', 'Larry', 'x2311', 'lbott@classicmodelcars.com', '7', '', 'Sales Rep'),
(1504, 'Jones', 'Barry', 'x102', 'bjones@classicmodelcars.com', '7', '', 'Sales Rep'),
(1611, 'Fixter', 'Andy', 'x101', 'afixter@classicmodelcars.com', '6', '', 'Sales Rep'),
(1612, 'Marsh', 'Peter', 'x102', 'pmarsh@classicmodelcars.com', '6', '', 'Sales Rep'),
(1619, 'King', 'Tom', 'x103', 'tking@classicmodelcars.com', '6', '', 'Sales Rep'),
(1621, 'Nishi', 'Mami', 'x101', 'mnishi@classicmodelcars.com', '5', '', 'Sales Rep'),
(1625, 'Kato', 'Yoshimi', 'x102', 'ykato@classicmodelcars.com', '5', '', 'Sales Rep'),
(1702, 'Gerard', 'Martin', 'x2312', 'mgerard@classicmodelcars.com', '4', '', 'Sales Rep');


Maintenant que vous avez créé la table sans aucune erreur, passons à l'étape suivante.

[b]Etape 5.[/b] Assurez-vous que vous avez installé Grocery CRUD correctement dans votre projet en ajoutant [b]tous les fichiers et dossiers au bon endroit[/b]. A la fin de l'installation votre projet devra ressembler à cette structure :
website_folder/
–––– application/
–––––––– config/
–––––––––––– autoload.php
–––––––––––– ...
–––––––––––– doctypes.php
–––––––––––– foreign_chars.php
–––––––––––– grocery_crud.php
–––––––––––– ...
–––––––– controllers/
–––––––––––– examples.php
–––––––––––– index.html
–––––––––––– welcome.php
–––––––– libraries/
–––––––––––– grocery_crud.php
–––––––––––– index.html
–––––––– models/
–––––––––––– grocery_crud_model.php
–––––––––––– index.html
–––––––– views/
–––––––––––– example.php
–––––––––––– index.html
–––––––––––– welcome_message.php
–––– assets/
–––––––– grocery_crud/
–––––––––––– css/
–––––––––––– js/
–––––––––––– texteditor/
–––––––––––– themes/
–––––––– uploads/
–––––––– index.html
–––– system/
–––– user_guide/
–––– change_log.txt
–––– example_database.sql
–––– index.php
–––– licence-grocery-crud.txt
–––– license.txt

Pour plus d'info vous pouvez aussi voir la page grocery CRUD installation.

[b]Etape 6.[/b] Allons dans notre contrôleur et ajoutons quelques éléments pour faire fonctionner Grocery CRUD. Ajoutez la méthode "employees" comme dans l'exemple ci-dessous :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {

function __construct()
{
parent::__construct();

/* Standard Libraries of codeigniter are required */
$this->load->database();
$this->load->helper('url');
/* ------------------ */

$this->load->library('grocery_CRUD');

}

public function index()
{
echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function
die();
}

public function employees()
{
$this->grocery_crud->set_table('employees');
$output = $this->grocery_crud->render();

echo "<pre>";
print_r($output);
echo "</pre>";
die();
}
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

Si tout va bien et que vous n'avez pas d'erreurs ou d'exceptions quand vous allez sur h ttp://localhost/votre_projet/index.php/main/employees et que vous voyez le résultat ci-dessous, alors tout fonctionne correctement :
stdClass Object
(
[output] => Votre affichage apparaîtra ici....
[js_files] => Array
(
[763b4d272e158bdb8ed5a12a1824c94f494954bd] => http://grocery_crud/public/grocery_crud/themes/datatables/js/jquery-1.6.2.min.js
[0b677f3fc6fb25b4baf39eb144222116c5b60254] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/cookies.js
[ec3ae62b8d5838972e858fe54447bd4bd8d79f88] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/flexigrid.js
[2c0ff56d0cbc6f80a5ef9c770d478f0e00c3170d] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/jquery.form.js
[474495ff1e895eab81fb8afba4db9b06c15b19af] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/jquery.numeric.js
)

[css_files] => Array
(
[732b03aa54d124f062757b71e5560acdc5632ba6] => http://grocery_crud/public/grocery_crud/themes/flexigrid/css/flexigrid.css
)

)

[b]Note importante :[/b] Assurez-vous que Grocerery CRUD n'est pas dans la fonction "index" de votre contrôleur car, c'est un problème connu, ça ne marchera pas dans "index". Déplacez le dans une autre méthode. Par exemple "employees" ou autre chose, mais pas "index".

[b]Etape 7. Maintenant créons notre vue. [/b]Nous pouvons utiliser les résultats obtenus jusqu'ici pour intégrer Grocery CRUD dans notre projet. Pour ce faire nous avons juste besoin d'une vue. Donc une vue ressemblera à ceci :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />

<?php
foreach($css_files as $file): ?>
<link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />

<?php endforeach; ?>
<?php foreach($js_files as $file): ?>

<script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

<style type='text/css'>
body
{
font-family: Arial;
font-size: 14px;
}
a {
color: blue;
text-decoration: none;
font-size: 14px;
}
a:hover
{
text-decoration: underline;
}
</style>
</head>
<body>
<!-- Beginning header -->
<div>
<a href='<?php echo site_url('examples/offices_management')?>'>Offices</a> |
<a href='<?php echo site_url('examples/employees_management')?>'>Employees</a> |
<a href='<?php echo site_url('examples/customers_management')?>'>Customers</a> |
<a href='<?php echo site_url('examples/orders_management')?>'>Orders</a> |
<a href='<?php echo site_url('examples/products_management')?>'>Products</a> |
<a href='<?php echo site_url('examples/film_management')?>'>Films</a>

</div>
<!-- End of header-->
<div style='height:20px;'></div>
<div>
<?php echo $output; ?>

</div>
<!-- Beginning footer -->
<div>Footer</div>
<!-- End of Footer -->
</body>
</html>


Maintenant sauvegardons ce fichier dans votre_projet/application/views/our_template.php puis allons dans notre contrôleur et ajoutons encore quelques trucs.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {

function __construct()
{
parent::__construct();

/* Standard Libraries of codeigniter are required */
$this->load->database();
$this->load->helper('url');
/* ------------------ */

$this->load->library('grocery_CRUD');

}

public function index()
{
echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function
die();
}

public function employees()
{
$this->grocery_crud->set_table('employees');
$output = $this->grocery_crud->render();

$this->_example_output($output);
}

function _example_output($output = null)

{
$this->load->view('our_template.php',$output);
}
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */


Maintenant allez sur h ttp://localhost/votre_projet/index.php/main/employees et vous verrez ce résultat :
[img]http://www.grocerycrud.com/assets/uploads/general/employees-example.png[/img]
Et voilà ! Maintenant allez à la cuisine boire un coup, café, thé ou bière (suivant l'heure !) et profitez de la puissance de Grocery CRUD dans votre projet.
Continuez avec la page tutorial and Basic Methods ou bien allez directement à la page methods/functions pour la documentation complète de chaque fonction/méthode avec au moins un exemple pour chacune.
[b]Note : [/b]ce tutoriel a pour seul objectif de montrer comment installer Grocery CRUD dans votre projet. Si vous avez des questions au sujet de Codeigniter, par exemple comment utiliser des vues ou des contrôleurs, rendez vous s'il vous plaît sur la page user guide of codeigniter ou postez votre question dans le forum général.
[color=red]Grocery CRUD ne fonctionne pas ?[/color] Vous pouvez aller voir les problèmes connus ou bien vous pouvez trouver la réponse dans le forum de Grocery CRUD. Vous ne pouvez toujours pas l'installer ? Envoyez nous un message sur le formulaire de support et nous vous répondrons aussi rapidement que possible.