Grocery crud et codeigniter


Voila longtemps que je ne me suis pas remis à la programmation php. Ce langage de programmation avait l'avantage d'être trés accessible à tous. Mais il était trop permissif et présentait des failles de sécurités. Des framework sont apparus pour faciliter la tâches de programmeurs. Je m'étais initié à CodeIgniter qui il y a quelques années (2010 déjà). J'avais choisis ce framework car il était accessible, bien documenté et avait une bonne communauté. De plus il permettait de s'installer sur des serveurs mutualisés. Il suivait la conception MVC Modèle Vue Controleur pour bien séparer l'affichage du moteur.

Ce framework a eu une période de flotement et a un peu perdu de sa popularité car la société qui l'éditait (EllisLab) a arrété son développement. Et certains on douté sur la pérénité de ce framework. En 2014 CodeIgniter a trouvé un repreneur :  British Columbia Institute of Technology. Sa maintenance et son développement continuent.

La version stable actuelle de CodeIgniter et la version 3.1.4 Cette version reçoit actuellement uniquement des corrections. Une nouvelle version est en développement pour être plus en phase avec ce qu'il se pratique aujourd'hui. Son développement avance bien mais n'est pas encore prête pour une mise en production. Pour suivre son développement voir la page.

Travailler avec un framework est soit disant plus rapide mais c'est sans compter sur son apprentissage. Je me pose la question sur l'avantage de la rapidité même une fois. L'avantage est ailleur. Le code est plus propre est plus sûr. Mais le but de cet article n'est pas de parler d'un framework ni de CodeIgniter mais de Grocery Crud.

Create a full stable CRUD in 30 seconds!


L'idée de Grocery Crud est d'utiliser CodeIgniter et de nous aider pour créer des gestions de tables (création, modification et suppression). Créer une gestion de table en 30 secondes. Et là on gagne du temps.
 J'ai testé et oui ça marche.

Voici le lien sur la documentation si vous voulez aller plus loin

Installation

On considère que vous avez déjà installé CodeIgniter. L'installation est très simple. Vous devez juste copier tous les fichiers dans votre projet et vous serez prêt pour utiliser Grocery CRUD.

Configuration

Si vous ne l'avez pas déjà fait, allez dans le fichier application/config/database.php et compléter les informations pour la base de donnée
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '1234'; //Pretty secure don't you think?
$db['default']['database'] = 'my_new_cms';

Exemple

Voici maintenant un exemple tout simple de gestion de client

Nous allons créé manuellement la table pour en faire la saisie. Vous pourrez ensuite changer avec votre table.


 
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'));

On va maintenant créer deux sources. Si vous avez quelque notion de CodeIgniter cela aide.

Le controleur : (application/controlleurs/Main.php)
<?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>affichage par défaut</h1>";//Just an example to ensure that we get into the function
die();
}
 
public function employees()
{
$crud = new grocery_CRUD();
$crud->set_table('employees');
$output = $crud->render();
 
$this->_example_output($output);        
}
 
function _example_output($output = null)
 
{
$this->load->view('template.php',$output);    
}
}
 
/* End of file Main.php */
/* Location: ./application/controllers/Main.php */


Et le source vue (application/views/template.php)
<!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 -->

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

Si tout est bon on devrait voir sur la page

http://domaine/projet/index.php/main/employes

En résumé avec quelques lignes de codes on peut gérer une table.

public function employees()
{
$crud = new grocery_CRUD();
$crud->set_table('employees');
$output = $crud->render();
 
$this->_example_output($output);        
}
 
function _example_output($output = null)
 
{
$this->load->view('template.php',$output);    
}

Installer linux pas si simple

instaler ubuntu sur uefi

Préambule

On lit ici et là que linux est trés simple à installer que n'importe qui peut le faire et même devrait le faire. On ne trouve pas souvent des ordinateurs avec linux préinstallé mais la plupart du temps il y a windows. Cette situation existe depuis longtemps et il n'y a que les ordiphones et les tablettes qui changent cette situation.

Une expérience

Voici une expérience. Dernièrement, j'ai acheté un nouvel ordinateur (Lenovo 300-201sh i5 ) en replacement de l'ancien. Lisez l'article. Le but est d'avoir un double système windows et linux . Je ne veux pas totalement supprimer windows car cela peut être utile et je l'ai acheté avec mon ordi et pour une question de principe, j'aimerais avoir le choix.

L'ordinateur a deux disques un SSD de 128G et un HD classique de 1T. Le système est installé sur le SSD et le gros disque est prévu pour les donnés.

Aprés avoir fait des sauvegardes , installé linux sur un clé usb j'ai opté pour installer linux sur une partition du gros disque. La raison est que le disque de 128G peut devenir trop petit car windows demande beaucoup de place.

Je mets la clé usb dans la machine et démarre l'ordinateur. Il boot automatiquement sur la clé usb. C'est déjà bien. Quelques minutes aprés ubuntu mate est bien fonctionnelle et je décide de l'installer. Je crée au préalable une nouvelle partition pour le système et une autre pour le home. L'installation se passe bien si ce n'est qu'il y a quelques messages d'avertissement peu compréhensible. Ceux-ci auraient du me mettre en garde sur des problèmes à venir.

C'est la première fois que je fait une installation sur deux disques séparés. Je pensais que le grub allait bien gérer tout cela et me laisser le choix de lancer soit windows soit linux. Mais rien ne se passe comme prévu. Au lancement windows se lance automatiquement.

Que faire ? Peut être grub ne s'est pas bien installé ? Tatonnement ... Lancement du linux depuis la clé usb avec boot-repair ... Toujours pareil. Je cherche configurer le bios. F12 et j'ai le choix. Je peux lancer ubuntu ou windows.

Conclusion mon ordinateur n'a pas de bios mais UEFI le remplacement du BIOS. Je peux lancer ubuntu uniquement en faisant F12. Si je manque cela j'ai automatiquement windows.

Le tatonnement continue avec la configuration de UEFI. Toujours pareil. Puis une idée. Si je débranche le SSD, peut être va-t-il démarer seul sur le HD sur linux. Il me donne une erreur. Je décide de réinstaller tout à nouveau. Et la ça marche.

A ce stade j'ai un linux qui se lance bien mais pas de windows. Tatonnement encore en rebranchant le SSD et ...

UEFI

UEFI (Unified Extensible Firmware Interface) définit un logiciel intermédiaire entre le micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS. Elle fait suite à EFI (Extensible Firmware Interface), conçue par Intel. L'UEFI offre quelques avantages sur le BIOS : fonctionnalités réseau en standard, interface graphique de bonne résolution, gestion intégrée d'installations multiples de systèmes d’exploitation et affranchissement de la limite des disques à 2,2 To.

L'inconvénient et qu'une installation linux en double boot n'est pas si simple que sur un BIOS traditionnel.

Conclusion


A ce jour j'ai ubuntu qui se lance par défaut et je peux faire F12 pour avoir un menu et lancer windows si je veux. C'est mieux que rien étant donné que je n'ai pas besoin de windows trop souvent.

Et vous avez vous expérimenté une installation en dual boot sur un ordinateur récent avec UEFI ? Quel est votre expérience ?


Comment faire une sauvegarde système de windows 10 ?

Comment installer linux sur une clé USB ?

Installer linux pas si simple 

Comment installer linux sur une clé USB

Avoir un linux sur sa clé USB est une chose vraiment utile. Déjà, cela permet de tester le matériel et de tester linux. Ensuite c'est un système qu'on peut avoir avec nous pour faire toutes sortes de choses. Je ne vais pas détailler ici les outils de linux comme Gparted pour partitionner des disques, le terminal qui nous permet d'accéder au disque sans avoir être administrateur de sa machine.

Avant on gravait un CD ou un DVD pour lancer et installer linux. Aujourd'hui une petite clé USB de 8Giga suffit.

Plus besoin d'être un geek pour installer un linux sur une clé USB. Voila comment faire.
1. Télécharger unetbootin    https://unetbootin.github.io
UNetbootin est un utilitaire qui fonctionne aussi bien sur windows que sur linux. Il permet de créer une clé USB bootable trés facilement. Environ 20 distributions sont préprogrammées mais vous pouvez aussi chercher n'importe quel fichier iso d'une distribution.

2. Lancer le programme


Vous avez le choix entre une liste de distributions connus. Si vous ne trouvez pas la distribution que vous voulez, vous choisissez l'option Diskimage


Ensuite vous vérifiez que votre clé USB pointe bien sur le bon lecteur puis cliquez OK. Patience.


Une fois terminez vous pouvez éteindre votre ordinateur, et le relancer en prenant soin de faire booter la clé USB. Généralement il faut cliquer sur F12 au démarage. Sur ma nouvelle machine, la clé USB se lance par défaut sans rien faire. C'est bien mais cela peut poser des problèmes parfois.


Comment faire une sauvegarde système de windows 10 ?

Comment installer linux sur une clé USB ?

Installer linux pas si simple 

Comment sauvegarder son système windows ?

Voilà vous avez votre nouvel ordinateur tout neuf, vous avez mis à jour le système et installé quelques utilitaires, c'est prêt. La prochaine étape avant de se lancer pour une installation de linux est de sauvegarder votre système. De toute façon même si vous utilisez windows seulement, il est bien d'avoir une sauvegarde en cas de problème. Il est même conseillé de faire cela de temps en temps car votre système évolue et vous installer de nouveaux programmes. Imaginez que votre disque dur vous lâche et que plus rien ne fonctionne, comment vous allez faire ?

Voici donc comment faire une image système  : il est conseillé de la faire une fois que vous avez installé vos drivers, fait toutes les mises à jours ainsi que vos utilitaires et programmes installés.

Windows 10 vous permet de créer une image système de votre ordinateur. Une image système est une sauvegarde complète de votre système : elle contient à la fois le système d’exploitation (Windows), tous les programmes que vous avez installés, tous vos fichiers personnels et tous les paramètres que vous avez définis.

C’est sans aucun doute la solution de sauvegarde la plus pratique en cas de réinstallation de Windows ou de changement de disque. Les images systèmes peuvent être enregistrées sur un disque dur externe, une clé USB, plusieurs DVD ou un périphérique réseau.

Pour créer une image système, ouvrez le menu Lien rapide (touches + X) > Panneau de configuration > Système et sécurité > Sauvegarder et restaurer (Windows 7) > Créer une image système.



Chez moi il n'y a pas l'option Créer une image systàme mais configurer la sauvegarde.


Il faut choisir ici le disque sur lequel sera sauvegardé le système. Je choisi le disque D c'est une gros disque dur secondaire traditionnel (mon systéme tourne sur un ssd de 128G)

Lenovo 300-201sh i5

Lenovo 300-201sh i5
Nouvel ordinateur de bureau. L'ancien commençait à fatiguer. Voici les caractéristiques
- Lenovo
- Mémoire 8 G de ram
- Disque SSD 128 G
- Disque HDD 1T
- Processeur I5

Pour un prix de 480Fr (450€), un ordi avec un ssd et un hdd devient accessible. On va essayer de le garder 10 ans soit jusqu'en 2027. Il y windows préinstallé qui occupe 30G du ssd. On va y installer un systéme linux pour avoir un dual boot. C'est agréable de lancer cet ordi en 10 à 15 secondes.

Ne pas oublier de faire une sauvegarde du système rapidement une fois votre machine opérationnelle, mis à jour et vos programmes installés

Comment faire une sauvegarde système de windows 10 ?

Comment installer linux sur une clé USB ?

Installer linux pas si simple