MySQL et PhpMyAdmin
Signature : | Mis en ligne le : 11/07/2008
Catégorie(s) :
  • Linux Pratique HS
  • | Domaine :
    Commentez

    Retrouvez cet article dans : Linux Pratique Hors série 5

    De nombreuses applications web nécessitent une base de données. Par chance, à moins que ce ne soit une affaire de popularité, MySQL est le moteur de bases de données le plus courant avec les Logiciels libres. Voici un aperçu du travail de l'administrateur de bases de données, pour lequel nous nous simplifierons la tâche grâce à la convivialité de PhpMyAdmin.

    Introduction

    Une base de données, c'est quoi au juste ? Osons cette question dont la réponse n'est pas si évidente. Le premier sens est d'être un endroit où reposent des données. Par exemple, le répertoire contenant vos documents, images, lettres, musiques, etc., est une base de données. Nous pouvons même nous avancer à dire qu'il s'agit d'une base de données bâtie sur un système de fichiers. Pourquoi se compliquer la tâche avec MySQL alors ? Encore une question délicate. En effet, la tâche est déjà compliquée et un moteur de base de données tel que MySQL absorbe une partie de cette complexité. Appelons SGBD (Système de Gestion de Bases de Données) un tel moteur. Il va par exemple gérer les problèmes tels que :
    • La vitesse d'accès aux données. Le SGBD optimise nativement le stockage et l'indexation des données pour améliorer la vitesse d'insertion et de recherche de celles-ci.
    • L'accès concurrentiel aux mêmes données. Avez-vous déjà lancé un éditeur de texte deux fois sur le même fichier en même temps ? Un bon éditeur vous dit que ce n'est pas possible et que quelqu'un est déjà en train de l'éditer. Au contraire, un SGBD tel que MySQL ne vous refusera pas l'accès aux données et s'arrangera pour contenter tout le monde sans que les données soient corrompues.
    • L'accès à distance aux données. Une requête au SGBD peut être effectuée depuis une autre machine, transitant par le réseau.
    • La gestion des droits d'accès aux données, qui est bien plus fine que pour les fichiers sur Unix.
    • Etc.
    Remarque pour ceux dont la base est chez un hébergeur Certains hébergeurs proposent une option base de données. Il s'agit souvent de MySQL. Lorsque vous prenez cette option (souvent gratuite), vous devez savoir que vous n'obtenez qu'une seule base de données sur le serveur, éventuellement deux ou trois. Faites attention à la façon dont vous vous en servez. Il est conseillé d'effectuer les tests chez vous avant de passer aux choses sérieuses chez l'hébergeur. Étant donné que le SGBD absorbe une partie de la complexité des problèmes liés au stockage des données, il simplifie la tâche au programmeur. Mais, par effet de bord, l'administrer n'est pas un jeu d'enfant. Nous allons aborder dans cet article l'essentiel de ce que vous aurez à faire avec MySQL pour disposer d'un SGBD sain et sûr.

    Tâches préliminaires

    Nous partons du principe que vous avez déjà installé MySQL sur votre système. Sinon, veuillez vous référer à l'article précédent. Nous supposons également que vous avez changé le mot de passe de l'administrateur de la base de données. En effet, sans cela, n'importe qui peut faire n'importe quoi sur votre MySQL. Si ce n'était pas le cas, référez-vous à l'article sur l'installation d'un serveur LAMP. Nous allons également utiliser phpMyAdmin qui facilite l'accès à la base en rendant les choses plus visuelles. Veuillez l'installer sur votre serveur comme une simple application web (l'article sus-cité indique comment l'installer). Nous supposerons qu'il se trouve dans le répertoire /opt/www/phpMyAdmin-2.8.0.3/ et que vous avez un alias /phpmyadmin pointant sur ce répertoire dans la configuration de votre serveur web. C'est maintenant que nous allons le configurer. Remarque : La procédure qui suit fonctionne pour les versions récentes de phpMyAdmin. Nous nous sommes basés sur la version 2.8.0.3. Les versions précédentes se configurent autrement. Nous vous conseillons d'utiliser la dernière version stable.

    Configurer phpMyAdmin

    Veuillez visiter l'adresse http://localhost/phpmyadmin/scripts/setup.php. Vous devriez avoir au moins un message d'erreur : Not secure connection. Cela signifie que vous n'accédez pas à phpMyAdmin avec une URL sécurisée (commençant par https). Chez vous, cela n'a aucune importance. Sur un serveur accessible depuis internet, il vaut mieux utiliser le protocole https pour éviter que des mots de passe ne transitent en clair. Un autre message d'erreur peut survenir : Cannot load or save configuration. Cela n'a rien de méchant et nous n'allons pas utiliser la possibilité que phpMyAdmin installe lui-même le fichier de configuration au bon endroit. Si cela fonctionne pour vous, n'hésitez pas à profiter de cette fonctionnalité.

    /img-articles/lphs/5/art-2/fig-1.jpg

    Fig. 1 : Bouton Add

    Un peu plus bas, vous pouvez trouver une série de boutons. Le premier, dans la section Servers, indique Add. Veuillez cliquer dessus. Sur la nouvelle page, certains champs sont déjà pré-remplis comme sur la capture d'écran. Nous allons devoir distinguer deux cas : ceux qui sont chez eux et administrent la base, et ceux qui sont chez un hébergeur et qui se sont vus attribuer une base (par exemple applidb) et un compte (login : appliuser par exemple). Pour ceux qui sont chez un hébergeur et n'ont qu'une base à leur disposition, vous avez trois champs à remplir. Vérifiez que Authentication type est bien sur config. Pour User for config auth, indiquez le nom de l'utilisateur qui vous a été fourni (appliuser dans notre cas). Mettez également le mot de passe dans le champ suivant. Et vous devez mettre le nom de la base (pour nous, applidb) dans le champ Only database to show. Ceux qui sont chez eux et administrent la base pourraient faire de même, voire indiquer l'utilisateur root et ne rien mettre pour le champ Only database to show. Mais le problème est que le fichier de configuration de phpMyAdmin contiendrait le mot de passe de root en clair. Nous allons préférer une autre méthode où ce sont les utilisateurs du SGBD qui serviront à l'authentification. Pour cela, choisissez http pour Authentication type. Du coup, vous n'avez plus besoin que d'indiquer un nom d'utilisateur. De plus, celui-ci sera spécifique à phpMyAdmin : c'est un utilisateur de la base aux droits très restreints que nous allons créer juste après, et que vous pourrez soigneusement oublier ensuite. Au pire, le mot de passe sera stocké dans le fichier de configuration de phpMyAdmin. En bas de la page ou presque, cliquez sur Add. Cela vous fait revenir à l'écran précédent. Dans la ligne Servers où vous aviez cliqué Add ci-dessus, vous devriez maintenant avoir un peu plus de choses. Voyez la Figure 3 à ce sujet. Vous pouvez également configurer d'autres choses via cette interface. Lorsque vous avez fini, cliquez sur Download (Figure 4) pour télécharger le fichier de configuration. Ce fichier est à placer dans la racine de phpMyAdmin. Vous devez donc obtenir le fichier suivant : /opt/www/phpMyAdmin-2.8.0.3/config.inc.php. C'est dans ce fichier que vous pouvez par la suite modifier les éléments de configuration.

    /img-articles/lphs/5/art-2/fig-2.jpg

     Fig. 2 : Ajout d'un serveur

    /img-articles/lphs/5/art-2/fig-3.jpg

    Fig. 3 : Nouveau serveur ajouté

    /img-articles/lphs/5/art-2/fig-4.jpg

    Fig. 4 : Téléchargement du fichier de configuration

    Faites attention ! Ce fichier contient un mot de passe en clair. Veillez à bien le protéger des regards indiscrets en retirant les droits de lecture pour tout le monde et en le faisant appartenir à l'utilisateur qui exécute votre serveur web (mot-clé User dans le fichier de configuration de votre serveur web, comme /etc/apache2/apache2.conf sur Ubuntu, qui indique www-data).

    /img-articles/lphs/5/art-2/fig-5.jpg

     Fig. 5 : Protéger le fichier de configuration

    Pour ceux qui ont choisi l'authentification http, il nous reste à créer ce fameux utilisateur aux droits restreints, qui permettront à phpMyAdmin d'utiliser les comptes MySQL pour l'authentification. Nous nous inspirons de la procédure de http://www.phpmyadmin.net/pma_localized_docs/fr/Documentation.fr.html#authentication_modes d'où vous pourrez copier les lignes de SQL suivantes. Exécutez mysql -u root -p et tapez-y ce qui suit :

    /img-articles/lphs/5/art-2/fig-6.jpg

     Fig. 6 : Création du compte pma

    Revenez à l'interface d'administration de votre base. Quel que soit le type d'authentification choisi, entrez l'utilisateur associé à la base pour administrer votre base. Ceux qui administrent également le serveur, qui ont donc choisi l'authentification http, peuvent également utiliser le compte root du SGBD s'il s'agit de l'administrer.

    Bases de données

    Cette partie, à savoir la gestion des bases de données, ne peut pas concerner ceux qui se sont vus attribuer une base de données par leur hébergeur. En effet, ils utilisent celle qu'on leur a donnée, mais ne peuvent pas en créer d'autres, encore moins en supprimer d'autres.

    Les bases existantes

    Pour ceux qui administrent leur serveur MySQL, lancez phpMyAdmin avec le compte root : nous allons visiter les bases de données existantes. Il en existe deux. La base MySQL contient des données de gestion du serveur lui-même. Jetez-y un coup d’œil (Figure 7). Cliquez sur la table user (en bas à gauche), puis dans le menu en haut, sur Afficher. Vous devriez pouvoir visualiser la table user. C'est ici, à titre d'illustration, que MySQL stocke ses utilisateurs et leurs permissions. Vous y reconnaîtrez sûrement le compte root pour la machine localhost, qui est celui qui vous sert à vous connecter en ce moment. Il existe également une base test, qui est souvent fournie pour faire des tests.

    Créer une base

    Pour créer une nouvelle base, il est assez simple d'exécuter la commande SQL suivante :

    Avec cette commande, vous venez de créer une nouvelle base qui porte le nom applidb. En général, une application nécessite une base et l'usage veut que le nom de cette base soit inspiré du nom de l'application qui va l'utiliser. Par exemple, suffixez le nom de votre application avec db, ce qui donnerait, pour l'application blog à titre d'illustration, la base blogdb. Ne cherchez pas à faire original dans le choix du nom de la base, vous n'y gagneriez rien. Avec phpMyAdmin, ce n'est pas plus compliqué. Allez sur l'écran d'accueil, et remplissez le champ Créez une base de données. Le champ qui suit définit l'encodage à utiliser en interne, interclassement, convient sans problème.

    /img-articles/lphs/5/art-2/fig-7.jpg

    Fig. 7 : La base MySQL

    /img-articles/lphs/5/art-2/fig-8.jpg

     Fig. 8 : Création d'une nouvelle base avec phpMyAdmin

    Supprimer une base

    Pour supprimer une base, c'est tout aussi simple. En SQL, pour supprimer votre nouvelle base, exécutez ceci :

    Attention ! Avec cette commande, vous venez de supprimer de façon irrémédiable la base applidb et son contenu s'il y en avait un. Vous n'avez aucun moyen de revenir en arrière. Au mieux, vous n'aurez seulement que votre sauvegarde à restaurer, comme nous le verrons plus loin. Avec phpMyAdmin, allez dans votre base et, dans les onglets, cliquez sur Supprimer. Confirmez et constatez la suppression de la base.

    /img-articles/lphs/5/art-2/fig-9.jpg

    Fig. 9 : Supprimer une base avec phpMyAdmin.

    Utilisateurs

    Concepts

    En général, une application nécessite d'avoir un identifiant et mot de passe d'utilisateur pour accéder à sa base. Il est souhaitable qu'il y ait un utilisateur dédié à cette base. Vous pourrez choisir un nom d'utilisateur par exemple en suffixant le nom de l'application par user, ce qui donnerait pour l'application blog l'identifiant bloguser. Pour le mot de passe, n'hésitez pas à en mettre un compliqué à retenir. En effet, il se retrouvera forcément dans le fichier de configuration de l'application (s'il n'est pas codé dedans en dur dans les applications mal conçues) et ne devrait pas être utilisé autrement que par l'application elle-même. Si, par ailleurs, certaines personnes physiques ont besoin d'accéder à la même base, mettez un nom à base du patronyme de ces personnes pour créer leur identifiant.

    /img-articles/lphs/5/art-2/fig-10.jpg

    Fig. 10 : Ajouter un nouvel utilisateur via phpMyAdmin

    Créer un nouvel utilisateur

    En SQL, la syntaxe est la suivante pour créer un utilisateur générique :

    Avec ceci, vous donnez tous les pouvoirs sur la base applidb à l'utilisateur appliuser venant de la machine machine1 s'il s'identifie bien avec le mot de passe motdepasse. Vous mettrez d'ailleurs généralement localhost comme nom de machine, en particulier si le serveur MySQL et le serveur web sont hébergés sur la même machine. Cette commande suffit généralement pour de nombreuses applications. Pour plus de finesse dans les permissions, référez-vous au guide de référence de MySQL, ou utilisez phpMyAdmin. Avec phpMyAdmin, allez sur la page d'accueil à la recherche du lien Privilèges. Il vous dirige vers la page de gestion des utilisateurs. Vous n'avez ensuite plus qu'à cliquer sur Ajouter un utilisateur pour définir cet utilisateur. Donnez-lui un nom et associez-le à une machine, généralement " Local " (ce qui résulte en localhost) si vous n'avez pas de raison de mettre autre chose. Évitez " Tout serveur " qui permet de se connecter de n'importe où, surtout si vous ne savez pas quoi mettre. En effet, renseignez-vous plutôt sur ce que vous devriez faire ainsi que sur les impacts de laisser cet utilisateur se connecter de n'importe où. Et rappelez-vous que pour une application web, si d'un côté les gens se connectent au serveur web depuis n'importe où, c'est de l'autre côté le serveur web qui se connecte au SGBD, donc d'une seule machine bien définie. Et il s'agit de localhost si c'est la même machine qui héberge le serveur web et le SGBD. Ne mettez aucun droit ici, mais validez la création de l'utilisateur. Une fois l'utilisateur créé, modifiez-le pour lui donner des droits sur une base (applidb pour notre exemple). Sur la page de modification sur laquelle vous étiez peut-être déjà, cherchez le cadre intitulé Privilèges spécifiques à une base de données. Indiquez le nom de la base de données. Cela vous amène à une nouvelle page sur laquelle vous allez indiquer les droits et valider. Pour les droits, vous éviterez les problèmes sans pour autant donner trop de permissions en laissant à l'utilisateur tous les droits sur les données et les structures, et aucun privilège d'administration. Dans l'idéal, une fois l'application installée et testée, vous devriez pouvoir retirer à l'utilisateur les droits sur les structures. En pratique, on oublie bien souvent de le faire et l'on n'est pas coincé à la prochaine mise à jour de l'application web.

    Supprimer un utilisateur

    En SQL, supprimer un utilisateur consiste à lui retirer tous ses droits puis à le supprimer effectivement :

    Changez évidemment appliuser et machine1 par ce qui correspond à l'utilisateur à supprimer. Cette opération est irréversible. Avec phpMyAdmin, revenez à la page de gestion des privilèges. Sélectionnez le ou les utilisateur(s) à supprimer, puis plus bas, cliquez sur le bouton de suppression. C'est fait.

    Changer le mot de passe d'un utilisateur

    Pour changer le mot de passe d'un utilisateur, utilisez mysqladmin en ligne de commande :

    Attention, le mot password qui suit -p est un mot-clé. Dans cette ligne de commande, remplacez seulement appliuser par le nom de l'utilisateur dont vous voulez changer le mot de passe, et nouveau_mot_de_passe par le mot de passe que vous voulez mettre. Avec phpMyAdmin, allez dans la page des privilèges. Cliquez à droite sur la ligne de l'utilisateur dont vous voulez changer le mot de passe, sur l'icône Modifier. Sur la nouvelle page, cherchez le cadre Modifier le mot de passe. C'est là que vous pouvez changer le mot de passe.

    /img-articles/lphs/5/art-2/fig-11.jpg

    Fig. 11 : Changement du mot de passe d'un utilisateur

    Sauvegarder une base

    La sauvegarde

    Cet aspect de la gestion des bases de données est trop souvent négligé (sauf si la base est vitale pour la survie d'une entreprise, comme celle qui contient le montant de votre compte en banque ou même la base de connaissance d'un service de support utilisateur). En effet, comme pour vos fichiers, si vous perdez vos données contenues dans la base, n'espérez pas les retrouver ailleurs que dans la dernière sauvegarde. Sauvegarder une base, c'est plus simple que de sauvegarder des fichiers, car vous sauvegardez chaque base dans son intégralité dans un fichier, et vous placez ce fichier en lieu sûr comme vous le faites pour vos autres fichiers, sur un disque à part ou sur un CD ou DVD. La sauvegarde d'une base s'effectue avec la commande suivante :

    L'exécutable mysqldump génère ce que l'on appelle un dump de base, à savoir un export, ici en langage SQL, du contenu d'une base que vous indiquez en dernier argument. Cela donne mysqldump applidb avec la base applidb. Cependant, vous pouvez rencontrer des problèmes avec cette commande trop simple. Le premier est de ne pas avoir les permissions suffisantes pour atteindre les données. Mieux vaut utiliser l'identifiant de l'utilisateur dédié à cette application qui, si vous avez respecté notre notation ci-dessus, s'appelle appliuser. Indiquez-le avec l'option -u. Comme vous devez également indiquer le mot de passe, utilisez l'option -p. Nous verrons les aspects de sécurité plus loin sur la présence du mot de passe en clair dans cette commande. Le deuxième problème est l'encodage utilisé dans le dump. D'une machine à l'autre, celui par défaut peut varier. Dans ces conditions, mieux vaut le forcer à quelque chose que vous maîtrisez, tel que le latin1. C'est pour cela que nous indiquons également l'option --default-character-set=latin1. Nous ajoutons également -B afin que le dump inclue une commande utile lors d'une restauration : la création de la base si elle n'existe pas déjà. Avec phpMyAdmin, vous pouvez sauvegarder une base en l'exportant. Cliquez sur Exporter. Puis sélectionnez les tables à exporter, normalement toutes. Vérifiez que vous exportez bien les données. Puis exportez dans un fichier. Attention néanmoins à ce problème : si la base est trop grosse, la connexion au serveur web peut être interrompue car trop longue. Dans ce cas, le dump sera tronqué. Préférez la méthode avec la ligne de commande. Si votre base est chez un hébergeur, il s'occupe normalement des sauvegardes et c'est à lui de restaurer les données en cas de crash. Vous n'avez donc pas à le faire vous-même (voir Figure 12 page suivante). Ceux qui souhaitent déplacer le contenu d'une base de données d'un serveur à l'autre peuvent utiliser cette procédure et restaurer ensuite ailleurs la sauvegarde. Si votre base est chez un hébergeur, tentez de contacter les administrateurs pour leur expliquer votre cas, qu'il vous fasse le dump et vous le mette à disposition afin que vous le téléchargiez.

    /img-articles/lphs/5/art-2/fig-12.jpg

    Fig. 12 : Export d'une base de données

    Automatiser la sauvegarde

    Une sauvegarde n'est pas d'un grand intérêt si elle ne peut être reproduite automatiquement. A quoi vous servirait une sauvegarde de votre agenda datant d'aujourd'hui, si vous perdiez vos données dans deux mois ? Nous allons créer un script faisant appel à la commande précédente, qui effectue une sauvegarde dans un fichier contenant la date du jour où elle a été réalisée. Et ce script sera appelé depuis l'ordonnanceur cron de votre système pour que ceux qui ont toujours leur ordinateur allumé effectuent la sauvegarde automatiquement. Pour les autres, il faudra penser à lancer ce script. Le voici :

    Que fait ce script ? Les préparatifs consistent à affecter le jour d'exécution à la variable DATE qui contiendra, par exemple le 14 juillet 2006, la chaîne 20060714. Puis, nous allons dans le répertoire /opt/www/backup/appli/, en ayant créé ce répertoire s'il ne l'était pas déjà. N'oubliez pas de remplacer appli par le nom de votre application. Puis nous lançons la commande de sauvegarde que nous avions vue auparavant (utilisateur : appliuser; base : applidb; à vous de remplacer ces paramètres par ceux qui conviennent à votre cas). La dernière étape consiste tout simplement à compresser le résultat au format bzip2. Mettez ce script en lieu sûr, par exemple dans /opt/www/admin/appli/dump_base.sh, et exécutez-le. Est-ce que cela fonctionne ? Si oui, c'est que vous n'avez pas mis de mot de passe pour l'utilisateur indiqué. Ce n'est pas bien du tout et vous serez privé de dessert ce soir ! Normalement, cela ne devrait pas marcher, car nous avons oublié d'indiquer -p et le mot de passe. Raison : au moment où cette commande est exécutée, nous verrions le mot de passe en clair dans la liste des processus en cours (commande ps auxwww par exemple). Il existe un moyen simple de s'en sortir autrement. Créez, dans votre répertoire utilisateur (lancez echo ${HOME} dans un terminal pour le connaître), un fichier .my.cnf. Indiquez-lui le contenu suivant :

    Sauvegardez et lancez à nouveau la commande de sauvegarde. Cela devrait maintenant fonctionner, et la sauvegarde se trouve dans /opt/www/backup/appli comme prévu par le script. Une fois que ce script fonctionne, mettez-le dans la crontab (la table des commandes à lancer par l'ordonnanceur cron). Nous allons utiliser la commande crontab pour l'éditer. Changez la variable $EDITOR auparavant si vous n'aimez pas l'éditeur de texte vi :

    Ajoutez la ligne suivante et sauvegardez :

    Vous venez d'indiquer à l'ordonnanceur que tous les jours du mois (3ème étoile), tous les jours de la semaine (5ème étoile) de tous les mois (4ème étoile), à 4h30, il faudra lancer la commande /opt/www/admin/appli/dump.sh. Référez-vous à la page de manuel de crontab pour en savoir plus. Dans quelques jours, vous allez vous rendre compte d'un problème : les dumps s'accumulent dans le répertoire /opt/www/backup/appli/. Vous pourriez faire le nettoyage à la main en supprimant les dumps plus vieux que 3 jours. Mais nous allons laisser ce soin à une commande toute cuite :

    /img-articles/lphs/5/art-2/t1.jpg

    La page de manuel de la commande find est un peu longue. Résumons-la un peu. Dans le répertoire /opt/www/backup/appli, nous sélectionnons les fichiers dont le nom est de la forme applidb.dump.* (option -name) et dont la date de dernière modification est supérieure à trois jours (option -mtime +<nb de jours>). Pour tous ces fichiers, nous exécutons la commande (option -exec finie par \;) rm {} dont les accolades seront remplacées par le nom du fichier par les bons soins de notre commande find. Vous pouvez également mettre cette commande dans la crontab, comme nous l'avons vu plus haut, avec  crontab -e.

    Restaurer la base

    Restaurer la base est ce qu'il y a de plus facile si les concepteurs de l'application ont bien fait leur travail. Imaginons que vous souhaitiez repartir avec la sauvegarde du 1er mai 2006. Puisque vous voulez restaurer la base à une certaine date, cela signifie que vous avez également prévu de supprimer la base actuelle. Nous commençons par cette suppression : Vous avez supprimé la base applidb. Vous en avez également créée une nouvelle (dernière ligne). Maintenant, restaurons l'ancienne version : La première ligne est simple à comprendre : vous allez dans le répertoire contenant les dumps de base. La seconde est plus complexe. Avant la barre verticale, nous décompressons le dump (option d) vers l'écran (option c) et non vers un fichier. La barre verticale (le pipe) n'est rien d'autre qu'un opérateur qui simule un écran d'un côté et un clavier de l'autre. Du coup, le dump décompressé ne va pas vraiment vers l'écran, mais fait croire à ce qui suit que vous le tapez au clavier. Ce qui suit, c'est tout simplement la commande mysql qui attend de vous que vous lui donniez des commandes à exécuter. Cela tombe bien : le dump, une fois décompressé, n'est rien d'autre qu'une longue série de commandes servant à restaurer la base !

    Conclusion

    Nous avons vu quelques aspects de la gestion des bases de données. Nous avons fait l'impasse sur l'un d'eux, la gestion de l'espace disque. Ce problème nécessite d'installer un outil de supervision (Nagios, Zabbix...) pour détecter qu'une base risque d'être pleine sous peu. Ce sujet sort totalement du cadre du présent hors-série, aussi, nous ne l'avons pas abordé. Sachez simplement que ce problème se résout tout simplement en donnant un espace plus grand à votre base. Pensez à la procédure de sauvegarde et celle de restauration lorsque vous augmenterez la taille de votre espace disque. Nous espérons que les SGBD et leurs bases de données vous paraissent plus simples d'accès avec cet article, dans lequel nous nous sommes concentrés sur les aspects de gestion de base en occultant complètement la gestion des données. Et à part la sauvegarde et la restauration de base, tout peut s'effectuer avec phpMyAdmin. N'hésitez pas à installer cette formidable application ! Liens :

     Retrouvez cet article dans : Linux Pratique Hors série 5

    Vous souhaitez commenter cet article ?
    Brèves Flux RSS
    Édito : GNU/Linux Magazine Hors-Série N°72
    Édito : Linux Pratique N°84
    Édito : MISC N°74
    Édito : GNU/Linux Magazine N°173
    Édito : MISC Hors-Série N°9
    Communication RSS Com. RSS Presse
    HACKITO ERGO SUM
    GNU/Linux Magazine, partenaire du SymfonyLive Paris
    Opensilicium, partenaire de RTS EMBEDDED
    Linux Pratique et Linux Essentiel, Partenaire de l’Open World Forum
    Gnu/Linux Magazine, Partenaire des JDEV 2013
    Rechercher un article dans notre base documentaire :
    En kiosque Flux RSS

    Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Open Silicium est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...