Accueil > > > INTERFACE DATABASE ET CLASSE MYSQL
INTERFACE DATABASE ET CLASSE MYSQL
Information sur la source
Description
J'avais fait un peu de programmation objet en Java et j'ai voulu m'y mettre en PHP. J'ai donc décidé de faire une interface de manipulation de base de donnée et une classe Mysql l'implémentant pour deux raisons : - but pédagogique (voir la plupart de ce que l'on peut faire en PHP en objet) - créer une interface qui peut être complétée par d'autres classe l'implémentant pour l'accès à d'autres bases de données (il ne me semble pas que ce soit présent sur ce site) La classe Mysql utilise la classe mysqli (je l'utilise pour créer des méthodes qui me sembles utiles à la manipulation de base de données). Pourquoi avoir fait une classe utilisant une autre classe? Pour ne pas être limiter à mysqli (je peux toujours changer ma classe mysql sans changer les scriptes qui l'utilise) et pouvoir créer des méthodes qui répondent à mes besoins de manière plus précise et conforme à l'interface (même méthodes pour la manipulations de différentes bases de données). Voilà :-D J'espère que mes première lignes de code objet en PHP vous plairont (c'est ma première source également lol) ;-)
Source
- //Fichier Db.php
- <?php
- /************************************************************************
- Interface Database - David "Davjack" Bellanca
- Creer le 27 janvier 2008
- Modifie le 28 janvier 2008
- Compatible PHP5
-
- **************************************************************************/
-
- interface Db
- {
- /*-------------------------------------
- Partie de connexion a la base de donnee
- -------------------------------------*/
- //__construct utilise db_connect pour se connecter a la base de donnees
- /*
- $db_host : nom de l'hote, par exemple localhost
- $db_user : nom de l'utilisateur
- $db_pass : mot de passe
- $db_name : nom de la base de donnees
- */
- public function __construct($db_host,$db_user,$db_pass,$db_name);
- public function db_connect($db_host,$db_user,$db_pass,$db_name);
-
- //Verification de la connexion (retourne l'erreur si il y en a une, sinon null)
- //public function db_connectError();
-
- // Fermer la connexion
- public function db_close();
-
- // Lors de la destruction de la classe, on ferme la connexion
- public function __destruct();
-
- //Desactiver / Activer l'autocommit
- public function db_autocommit($TrueFalse);
-
- //Retourne la version du serveur
- public function db_version();
-
- /*-------------------------------------------
- Partie de manipulations de la base de donnees
- -------------------------------------------*/
- //Envoie d'une requete
- public function sql_query($query);
-
- //Valide une requete
- public function sql_commit();
-
- //Annuler une requete
- public function sql_rollback();
-
- //Retourne le resultat de la derniere requete sous forme d'un tableau associatif (une ligne)
- public function sql_arrayAssocResult();
-
- //Retourne le resultat de la derniere requete sous forme d'un tableau indexe numeriquement (une ligne)
- public function sql_arrayNumResult();
-
- //Retourne les resultats de la derniere requete sous forme d'un tableau associatif (plusieurs lignes)
- public function sql_arrayAssocResults();
-
- //Retourne les resultats de la derniere requete sous forme d'un tableau indexe numeriquement (plusieurs lignes)
- public function sql_arrayNumResults();
-
- //Retourne le nombre de lignes affectees par la derniere requete
- public function sql_numRows();
-
- //Retourne le nombre de colonnes de la derniere requete
- public function sql_numCols();
-
- //Retourne la PK auto-incremente/sequence de la derniere requete
- public function sql_lastPKIncremented();
-
- //Retourne la liste de toutes les tables de la base de donnees dans un tableau
- public function sql_listTables();
- }
- ?>
-
-
- //Fichier Mysql.php
- <?php
- /************************************************************************
- Classe Mysql - David "Davjack" Bellanca
- Creer le 27 janvier 2008
- Modifie le 28 janvier 2008
- Compatible PHP5
-
- **************************************************************************/
-
- require_once 'Db.php';
-
- class Mysql implements Db
- {
- private $mysqli;
-
- private $result;
- private $db_name;
-
- //--------
- //Methodes
- //--------
- //__construct utilise db_connect pour se connecter a la base de donnees
- public function __construct($db_host,$db_user,$db_pass,$db_name)
- {
- $this->db_connect($db_host,$db_user,$db_pass,$db_name);
- }
- public function db_connect($db_host,$db_user,$db_pass,$db_name)
- {
- unset($this->result);
- unset($this->mysqli);
- $this->db_name = $db_name;
- $this->mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
-
- if (mysqli_connect_errno())
- {
- throw new Exception("Echec de la connexion");
- //throw new Exception("Echec de la connexion : ".mysqli_connect_error());
- }
- }
-
- // Fermer la connexion
- public function db_close()
- {
- $this->mysqli->close();
- }
-
- // Lors de la destruction de la classe, on ferme la connexion
- public function __destruct()
- {
- $this->db_close;
- }
-
- //Desactiver / Activer l'autocommit
- //!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
- public function db_autocommit($TrueFalse)
- {
- if (is_bool($TrueFalse))
- {
- $this->mysqli->autocommit($TrueFalse);
-
- //On verifie que l'autocommit a bien ete active/desactive
- if ($TrueFalse)
- {
- $this->sql_query("SELECT @@autocommit");
- $autocommit = $this->sql_arrayNumResult();
- if ($autocommit[0][0] != 1)
- throw new Exception("Erreur : l'autocommit n'a pas été activé");
- }
- else
- {
- $this->sql_query("SELECT @@autocommit");
- $autocommit = $this->sql_arrayNumResult();
- if ($autocommit[0][0] != 0)
- throw new Exception("Erreur : l'autocommit n'a pas été désactivé");
- }
-
- }
- else
- {
- throw new Exception("Vous devez entrer un booléen en paramètre");
- }
- }
-
- //Retourne la version du serveur
- public function db_version()
- {
- return $this->mysqli->get_server_info();
- }
-
- /*-------------------------------------------
- Partie de manipulations de la base de donnees
- -------------------------------------------*/
- //Envoie d'une requete
- public function sql_query($query)
- {
- if (!$this->result = $this->mysqli->query($query))
- {
- throw new Exception("Erreur de requête SQL : ".$this->mysqli->error);
- //throw new Exception("Erreur de requête SQL");
- }
- }
-
- //Valide une requete
- public function sql_commit()
- {
- $this->mysqli->commit();
- }
-
- //Annuler une requete
- public function sql_rollback()
- {
- if(!$this->mysqli->rollback())
- throw new Exception("Erreur rollback");
- }
-
- //Retourne le resultat de la derniere requete sous forme d'un tableau associatif (une ligne)
- public function sql_arrayAssocResult()
- {
- if ($this->result)
- {
- $result = $this->result->fetch_array(MYSQLI_ASSOC);
- return $result;
- }
- else
- {
- throw new Exception("Aucune requête n'a été exécutée");
- }
- }
-
- //Retourne le resultat de la derniere requete sous forme d'un tableau indexe numeriquement (une ligne)
- public function sql_arrayNumResult()
- {
- if ($this->result)
- {
- $result = $this->result->fetch_array(MYSQLI_NUM);
- return $result;
- }
- else
- {
- throw new Exception("Aucune requête n'a été exécutée");
- }
- }
-
- //Retourne les resultats de la derniere requete sous forme d'un tableau associatif (plusieurs lignes)
- public function sql_arrayAssocResults()
- {
- if ($this->result)
- {
- $i = 0;
- while ($temp = $this->result->fetch_array(MYSQLI_ASSOC))
- {
- $result[$i] = $temp;
- $i++;
- }
-
- return $result;
- }
- else
- {
- throw new Exception("Aucune requête n'a été exécutée");
- }
- }
-
- //Retourne les resultats de la derniere requete sous forme d'un tableau indexe numeriquement (plusieurs lignes)
- public function sql_arrayNumResults()
- {
- if ($this->result)
- {
- $i = 0;
- while ($temp = $this->result->fetch_array(MYSQLI_NUM))
- {
- $result[$i] = $temp;
- $i++;
- }
-
- return $result;
- }
- else
- {
- throw new Exception("Aucune requête n'a été exécutée");
- }
- }
-
- //Retourne le nombre de lignes affectees par la derniere requete
- public function sql_numRows()
- {
- return $this->mysqli->affected_rows;
- }
-
- //Retourne le nombre de colonnes de la derniere requete
- public function sql_numCols()
- {
- return $this->mysqli->field_count;
- }
-
- //Retourne la PK auto-incremente/sequence de la derniere requete
- public function sql_lastPKIncremented()
- {
- return $this->mysqli->insert_id;
- }
-
- //Retourne la liste de toutes les tables de la base de donnees dans un tableau
- public function sql_listTables()
- {
- $this->sql_query("SHOW TABLES FROM ".$this->db_name);
- $listTemp = $this->sql_arrayNumResults();
-
- $i = 0;
- foreach($listTemp as $cle=>$valeur)
- {
- foreach($valeur as $cle2=>$table)
- {
- $result[$i] = $table;
- $i++;
- }
- }
- return $result;
- }
- }
- ?>
-
-
- //Fichier utilisation.php
- <?php
- /************************************************************************
- Utilisation de la classe Mysql - David "Davjack" Bellanca
-
- **************************************************************************/
- try{
- //require_once 'myPHPException.php';
-
- //Pour ne pas afficher les erreurs si vous n'avez pas acces a php.ini.
- //A commenter pendant le developpement
- ini_set('display_errors','Off');
-
- require_once 'Mysql.php';
-
- //Creation d'une connexion a une base MySQL - Instanciation de la classe
- $db = new Mysql('host','login','mot de passe','base de donnee');
-
-
- //Affiche la version du serveur MySQL
- echo $db->db_version()."<br />";
-
-
- //FALSE pour arreter l'autocommit et TRUE pour l'activer
- //!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
- $db->db_autocommit(FALSE);
-
- $db->sql_query("delete from table");
-
-
- //Annule les
- //!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
- //et si l'autocommit est desactive
- $db->sql_rollback();
-
- $requete = "INSERT INTO table (...)
- VALUES (...)";
- $db->sql_query($requete);
-
-
- //Affichage de la valeur de l'auto-incrementation de la derniere requete
- echo "PK : ".$db->sql_lastPKIncremented()."<br />";
-
-
- //!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
- //et si l'autocommit est desactive
- $db->sql_commit();
-
-
- //Requete renvoyant plusieurs lignes
- $db->sql_query("select * from table");
-
-
- //Affichage du nombre de lignes affectees par la derniere requete
- echo "Nb lignes : ".$db->sql_numRows()."<br />";
- //Affichage du nombre de colonnes de la derniere requete
- echo "Nb colonnes : ".$db->sql_numCols()."<br />";
-
-
- //Parcours des resultats (plusieurs lignes) de la derniere requete
- foreach($db->sql_arrayNumResults() as $val) //ou $db->sql_arrayAssocResults();
- {
- foreach($val as $cle=>$valeur)
- {
- echo $cle.' : '.$valeur.'<br />';
- }
- echo "<br />";
- }
-
-
- //Requete renvoyant une ligne
- $db->sql_query("select * from table where num = 1");
-
-
- //Affichage de la ligne de resultat
- foreach($db->sql_arrayAssocResult() as $cle=>$valeur) //ou $db->sql_arrayNumResult()
- {
- echo $cle.' : '.$valeur.'<br />';
- }
-
-
- //Affichage de toutes les tables de la base
- foreach($db->sql_listTables('test') as $valeur)
- {
- echo $valeur.'<br />';
- }
-
-
- //Fermeture de la derniere connexion
- $db->db_close();
-
- }
- catch (Exception $e)
- {
- //Gestion des exceptions renvoyees par la classe
- echo $e->getMessage();
- }
-
- ?>
//Fichier Db.php
<?php
/************************************************************************
Interface Database - David "Davjack" Bellanca
Creer le 27 janvier 2008
Modifie le 28 janvier 2008
Compatible PHP5
**************************************************************************/
interface Db
{
/*-------------------------------------
Partie de connexion a la base de donnee
-------------------------------------*/
//__construct utilise db_connect pour se connecter a la base de donnees
/*
$db_host : nom de l'hote, par exemple localhost
$db_user : nom de l'utilisateur
$db_pass : mot de passe
$db_name : nom de la base de donnees
*/
public function __construct($db_host,$db_user,$db_pass,$db_name);
public function db_connect($db_host,$db_user,$db_pass,$db_name);
//Verification de la connexion (retourne l'erreur si il y en a une, sinon null)
//public function db_connectError();
// Fermer la connexion
public function db_close();
// Lors de la destruction de la classe, on ferme la connexion
public function __destruct();
//Desactiver / Activer l'autocommit
public function db_autocommit($TrueFalse);
//Retourne la version du serveur
public function db_version();
/*-------------------------------------------
Partie de manipulations de la base de donnees
-------------------------------------------*/
//Envoie d'une requete
public function sql_query($query);
//Valide une requete
public function sql_commit();
//Annuler une requete
public function sql_rollback();
//Retourne le resultat de la derniere requete sous forme d'un tableau associatif (une ligne)
public function sql_arrayAssocResult();
//Retourne le resultat de la derniere requete sous forme d'un tableau indexe numeriquement (une ligne)
public function sql_arrayNumResult();
//Retourne les resultats de la derniere requete sous forme d'un tableau associatif (plusieurs lignes)
public function sql_arrayAssocResults();
//Retourne les resultats de la derniere requete sous forme d'un tableau indexe numeriquement (plusieurs lignes)
public function sql_arrayNumResults();
//Retourne le nombre de lignes affectees par la derniere requete
public function sql_numRows();
//Retourne le nombre de colonnes de la derniere requete
public function sql_numCols();
//Retourne la PK auto-incremente/sequence de la derniere requete
public function sql_lastPKIncremented();
//Retourne la liste de toutes les tables de la base de donnees dans un tableau
public function sql_listTables();
}
?>
//Fichier Mysql.php
<?php
/************************************************************************
Classe Mysql - David "Davjack" Bellanca
Creer le 27 janvier 2008
Modifie le 28 janvier 2008
Compatible PHP5
**************************************************************************/
require_once 'Db.php';
class Mysql implements Db
{
private $mysqli;
private $result;
private $db_name;
//--------
//Methodes
//--------
//__construct utilise db_connect pour se connecter a la base de donnees
public function __construct($db_host,$db_user,$db_pass,$db_name)
{
$this->db_connect($db_host,$db_user,$db_pass,$db_name);
}
public function db_connect($db_host,$db_user,$db_pass,$db_name)
{
unset($this->result);
unset($this->mysqli);
$this->db_name = $db_name;
$this->mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
if (mysqli_connect_errno())
{
throw new Exception("Echec de la connexion");
//throw new Exception("Echec de la connexion : ".mysqli_connect_error());
}
}
// Fermer la connexion
public function db_close()
{
$this->mysqli->close();
}
// Lors de la destruction de la classe, on ferme la connexion
public function __destruct()
{
$this->db_close;
}
//Desactiver / Activer l'autocommit
//!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
public function db_autocommit($TrueFalse)
{
if (is_bool($TrueFalse))
{
$this->mysqli->autocommit($TrueFalse);
//On verifie que l'autocommit a bien ete active/desactive
if ($TrueFalse)
{
$this->sql_query("SELECT @@autocommit");
$autocommit = $this->sql_arrayNumResult();
if ($autocommit[0][0] != 1)
throw new Exception("Erreur : l'autocommit n'a pas été activé");
}
else
{
$this->sql_query("SELECT @@autocommit");
$autocommit = $this->sql_arrayNumResult();
if ($autocommit[0][0] != 0)
throw new Exception("Erreur : l'autocommit n'a pas été désactivé");
}
}
else
{
throw new Exception("Vous devez entrer un booléen en paramètre");
}
}
//Retourne la version du serveur
public function db_version()
{
return $this->mysqli->get_server_info();
}
/*-------------------------------------------
Partie de manipulations de la base de donnees
-------------------------------------------*/
//Envoie d'une requete
public function sql_query($query)
{
if (!$this->result = $this->mysqli->query($query))
{
throw new Exception("Erreur de requête SQL : ".$this->mysqli->error);
//throw new Exception("Erreur de requête SQL");
}
}
//Valide une requete
public function sql_commit()
{
$this->mysqli->commit();
}
//Annuler une requete
public function sql_rollback()
{
if(!$this->mysqli->rollback())
throw new Exception("Erreur rollback");
}
//Retourne le resultat de la derniere requete sous forme d'un tableau associatif (une ligne)
public function sql_arrayAssocResult()
{
if ($this->result)
{
$result = $this->result->fetch_array(MYSQLI_ASSOC);
return $result;
}
else
{
throw new Exception("Aucune requête n'a été exécutée");
}
}
//Retourne le resultat de la derniere requete sous forme d'un tableau indexe numeriquement (une ligne)
public function sql_arrayNumResult()
{
if ($this->result)
{
$result = $this->result->fetch_array(MYSQLI_NUM);
return $result;
}
else
{
throw new Exception("Aucune requête n'a été exécutée");
}
}
//Retourne les resultats de la derniere requete sous forme d'un tableau associatif (plusieurs lignes)
public function sql_arrayAssocResults()
{
if ($this->result)
{
$i = 0;
while ($temp = $this->result->fetch_array(MYSQLI_ASSOC))
{
$result[$i] = $temp;
$i++;
}
return $result;
}
else
{
throw new Exception("Aucune requête n'a été exécutée");
}
}
//Retourne les resultats de la derniere requete sous forme d'un tableau indexe numeriquement (plusieurs lignes)
public function sql_arrayNumResults()
{
if ($this->result)
{
$i = 0;
while ($temp = $this->result->fetch_array(MYSQLI_NUM))
{
$result[$i] = $temp;
$i++;
}
return $result;
}
else
{
throw new Exception("Aucune requête n'a été exécutée");
}
}
//Retourne le nombre de lignes affectees par la derniere requete
public function sql_numRows()
{
return $this->mysqli->affected_rows;
}
//Retourne le nombre de colonnes de la derniere requete
public function sql_numCols()
{
return $this->mysqli->field_count;
}
//Retourne la PK auto-incremente/sequence de la derniere requete
public function sql_lastPKIncremented()
{
return $this->mysqli->insert_id;
}
//Retourne la liste de toutes les tables de la base de donnees dans un tableau
public function sql_listTables()
{
$this->sql_query("SHOW TABLES FROM ".$this->db_name);
$listTemp = $this->sql_arrayNumResults();
$i = 0;
foreach($listTemp as $cle=>$valeur)
{
foreach($valeur as $cle2=>$table)
{
$result[$i] = $table;
$i++;
}
}
return $result;
}
}
?>
//Fichier utilisation.php
<?php
/************************************************************************
Utilisation de la classe Mysql - David "Davjack" Bellanca
**************************************************************************/
try{
//require_once 'myPHPException.php';
//Pour ne pas afficher les erreurs si vous n'avez pas acces a php.ini.
//A commenter pendant le developpement
ini_set('display_errors','Off');
require_once 'Mysql.php';
//Creation d'une connexion a une base MySQL - Instanciation de la classe
$db = new Mysql('host','login','mot de passe','base de donnee');
//Affiche la version du serveur MySQL
echo $db->db_version()."<br />";
//FALSE pour arreter l'autocommit et TRUE pour l'activer
//!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
$db->db_autocommit(FALSE);
$db->sql_query("delete from table");
//Annule les
//!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
//et si l'autocommit est desactive
$db->sql_rollback();
$requete = "INSERT INTO table (...)
VALUES (...)";
$db->sql_query($requete);
//Affichage de la valeur de l'auto-incrementation de la derniere requete
echo "PK : ".$db->sql_lastPKIncremented()."<br />";
//!!! Ne fonctionne que sur le tables transactionnelles (comme InnoDB)
//et si l'autocommit est desactive
$db->sql_commit();
//Requete renvoyant plusieurs lignes
$db->sql_query("select * from table");
//Affichage du nombre de lignes affectees par la derniere requete
echo "Nb lignes : ".$db->sql_numRows()."<br />";
//Affichage du nombre de colonnes de la derniere requete
echo "Nb colonnes : ".$db->sql_numCols()."<br />";
//Parcours des resultats (plusieurs lignes) de la derniere requete
foreach($db->sql_arrayNumResults() as $val) //ou $db->sql_arrayAssocResults();
{
foreach($val as $cle=>$valeur)
{
echo $cle.' : '.$valeur.'<br />';
}
echo "<br />";
}
//Requete renvoyant une ligne
$db->sql_query("select * from table where num = 1");
//Affichage de la ligne de resultat
foreach($db->sql_arrayAssocResult() as $cle=>$valeur) //ou $db->sql_arrayNumResult()
{
echo $cle.' : '.$valeur.'<br />';
}
//Affichage de toutes les tables de la base
foreach($db->sql_listTables('test') as $valeur)
{
echo $valeur.'<br />';
}
//Fermeture de la derniere connexion
$db->db_close();
}
catch (Exception $e)
{
//Gestion des exceptions renvoyees par la classe
echo $e->getMessage();
}
?>
Conclusion
Pour l'utilisation de la classe, regardez le code de utilisation.php
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Creer MySQL database [ par pluton83fr ]
Slt Je suis un debutant en php, Je suis en train d installer un portail :Neocrome http://www.neocrome.net Et il me dise ca!!Mais le pb c'est que je n
Formulaire avec select et update de bdd mysql [ par arnold002 ]
Bonjour à tous,J'ai un formulaire qui contient 2 champs de type select : classe et annee.Je veux associer chaque classe à chaque année
passage de variables de form vers bdd mysql [ par arnold002 ]
Bonjour,Mon problème n'avance pas...Mon form contient 2 champs select for($i<FONT color=#008000 s
Problème affichage BD multiples [ par ekipage2 ]
Bonjour,j'ai plusieurs BD : eleve / matières / et exercicesLorque l'élèv se connecte, il peut afficher la liste des exercices correspondants à sa clas
problème mysql : Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource [ par wizard512 ]
je sui entrain de créer un script et je rencontre l'érreur suivante:==>mysql_query(): supplied argument is not a valid MySQL-Link re
Recherche mysql [ par simon0000 ]
salut tous le monde ,j'ai une table mysql nomé ecole ou il ya
Retour des données d'une classe MySQL [ par Jerem_ ]
Salut, Depuis ce matin, j'asseye de coter une classe MySQL pour mon site. La classe marche très bien quand je fait une requete INSERT, etc .. M
Phpmyvisites et mysql [ par flopad ]
Bonjour,J'ai récupéré phpmyvisites pour l'utiliser sur mon intranet.j'ai un soucis lors de l'installation, ca me dit "localhost" databa
Erreur MySQL [ par coockiesch ]
Salut! Je viens d'installer, sur mon ordi, Apache2, MySQL, PHP5 et PhpMyAdmin. On m'a demandé de choisir l'extension mysqli, je choisi mysqli (pa
Problème de code [ par stu76 ]
Bonjour tout le monde ,Voilà je planche sur un programme scolaire et j'ai un gros prob, je travaille sur un programme qui utilise trois base de d
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|