186
phpMyAdmin Documentation Version 4.8.0-dev The phpMyAdmin devel team janv. 05, 2018

phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

Embed Size (px)

Citation preview

Page 1: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin DocumentationVersion 4.8.0-dev

The phpMyAdmin devel team

janv. 05, 2018

Page 2: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler
Page 3: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

Table des matières

1 Introduction 31.1 Fonctionnalités supportées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Raccourcis clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 À propos des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Prérequis 52.1 Serveur Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Navigateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Installation 73.1 Distributions Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Installation sur Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Installation à partir de Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 Installation au moyen de Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.5 Installation au moyen de Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.6 Installation rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.7 Vérification d’intégrité de phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.8 Configuration de stockage de phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.9 Mise à jour à partir d’une précédente version : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.10 Utiliser les modes d’authentification : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.11 Sécuriser votre installation de phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.12 Utilisation de SSL pour la connexion au serveur de base de données . . . . . . . . . . . . . . . . . . 273.13 Problèmes connus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4 Configuration 294.1 Configuration de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2 Paramètres de connexion au serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3 Paramètres génériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.4 Options du mode d’authentification « cookie » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.5 Paramétrage du panneau de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.6 Panneau principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.7 Structure de base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.8 Mode de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.9 Mode de modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.10 Exporter et importer des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

i

Page 4: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

4.11 Paramètres d’affichage des onglets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.12 Options PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.13 Langues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.14 Paramètres du serveur web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.15 Paramètres des thèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.16 Personnalisation du design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.17 Champs texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.18 Paramètres de la fenêtre de requête SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.19 Les répertoires de transfert/sauvegarde/import du serveur web . . . . . . . . . . . . . . . . . . . . . 694.20 Divers paramètres d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.21 Titres de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.22 Paramètres du gestionnaire de thèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.23 Requêtes par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.24 Paramètres MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.25 Options par défaut pour les transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.26 Paramètres de la console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.27 Développeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.28 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5 Guide utilisateur 815.1 Configuration de phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.2 Authentification à deux facteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.3 Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.4 Signets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.5 Gestion des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.6 Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.7 Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8 Importer et exporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.9 Thèmes personnalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.10 Autres sources d’informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6 FAQ - Foire Aux Questions 1056.1 Serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156.3 Limitations connues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.4 FAI et installation multi-utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.5 Navigateurs ou systèmes d’exploitation client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.6 Utiliser phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256.7 Projet phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366.8 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366.9 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7 Informations pour les développeurs 139

8 Politique de sécurité 1418.1 Vulnérabilités typiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418.2 Signalement des problèmes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

9 Distribuer et packager phpMyAdmin 1459.1 Bibliothèques externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

10 Copyright 14710.1 Licences tierces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

11 Crédits 149

ii

Page 5: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

11.1 Crédits, par ordre chronologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14911.2 Traducteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15311.3 Traducteurs de la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15811.4 Crédits originaux de la version 2.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

12 Glossaire 163

13 Index et tables 169

iii

Page 6: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

iv

Page 7: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Contenus :

Table des matières 1

Page 8: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

2 Table des matières

Page 9: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 1

Introduction

phpMyAdmin peut gérer l’ensemble d’un serveur MySQL (cela nécessite un compte super-utilisateur) aussi bienqu’une seule base de données. Pour ce faire, il est nécessaire d’avoir un droit de lecture/écriture sur la base de donnéesconcernée. Il vous appartient de consulter la section appropriée dans le manuel de MySQL.

1.1 Fonctionnalités supportées

Actuellement phpMyAdmin peut :— parcourir et supprimer bases de données, tables, vues, champs et index— afficher plusieurs ensembles de résultats au moyen de procédures stockées ou de requêtes— créer, copier, supprimer, renommer et modifier les bases de données, tables, vues, champs et index— maintenir serveur, bases de données et tables en proposant une configuration serveur— exécuter, modifier et placer en signets n’importe-quelle instruction SQL, incluant les traitements par lots— charger des tables à partir du contenu de fichiers texte— créer 1 et lire des fichiers d’exportation (dumps) de tables— exporter1 des données dans divers formats : CSV , XML, PDF, ISO/IEC 26300 - texte et feuille de calcul

OpenDocument, Microsoft Word 2000 et LATEX ;— importer des données et des structure MySQL à partir de feuilles de tableur OpenDocument, ainsi que de fichiers

SQL, CSV et SQL— administrer plusieurs serveurs— gérer les utilisateurs et les privilèges MySQL— vérifier l’intégrité référentielle des tables MyISAM— utiliser Query-by-example (QBE), créer des requêtes complexes se connectant automatiquement aux tables

concernées— créer des diagrammes PDF du schéma de votre base de données— faire des recherches dans une base de données entière ou dans une partie seulement— convertir des données stockées en n’importe quel format en utilisant un ensemble de fonctions prédéfinies,

comme par exemple afficher des données stockées en format BLOB en tant qu’image ou liens de télécharge-ment

phpMyAdmin peut compresser des fichiers d’exportation (dumps) ou CSV (aux formats Zip, GZip ou RFC 1952) si vous utilisez PHP avec l’optionZlib (--with-zlib). Un support approprié peut aussi nécessiter des changements dans le fichier php.ini.

3

Page 10: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— suivre les modifications dans les bases de données, tables et vues— travailler avec des tables InnoDB et des clés étrangères— support de mysqli, l’extension MySQL améliorée, voir 1.17 Quelles versions de bases de données sont gérées

par phpMyAdmin ?— créer, éditer, appeler, exporter et supprimer des fonctions et des procédures stockées— créer, éditer, exporter et supprimer des événements et des déclencheurs— communiquer dans 80 langues différentes

1.2 Raccourcis clavier

Actuellement phpMyAdmin supporte les raccourcis suivants :— k - console toggle— h - Aller à la page d’accueil— s -Ouvrir les paramètres— d + s - Va à la structure de base de données (si vous êtes dans la page relative à la base de données)— d + f - Recherche dans la base de données (si vous êtes dans la page relative à la base de données)— t + s - Va à la structure de table (si vous êtes dans une page relative à la table)— t + f - Recherche dans la table (si vous êtes dans une page relative à la table)— touche de retour arrière - Amène à la page précédente.

1.3 À propos des utilisateurs

Beaucoup de gens ont des difficultés à comprendre le concept de gestion d’utilisateur par rapport à phpMyAdmin.Quand un utilisateur se connecte à phpMyAdmin, son nom d’utilisateur et son mot de passe sont passés directementà MySQL. phpMyAdmin ne fait de gestion d’utilisateurs par lui-même (autre que de permettre la manipulation del’information du compte utilisateur MySQL) ; tous les utilisateurs doivent être des utilisateurs MySQL valides.

Notes de pied de page

4 Chapitre 1. Introduction

Page 11: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 2

Prérequis

2.1 Serveur Web

Étant donné que l’interface de phpMyAdmin est entièrement orientée navigateur, vous devrez avoir à votre dispositionun serveur web (tels Apache, nginx, IIS) sur lequel installer les fichiers de phpMyAdmin.

2.2 PHP

— Il y a besoin de PHP 5.5.0 ou ultérieur avec la prise en charge de session, l’extension Standard PHP Library(SPL) et la gestion de JSON.

— L’extension mbstring (voir mbstring) est fortement recommandée pour des raisons de performances.— Pour pouvoir télécharger des fichiers ZIP vers le serveur, vous avez besoin de l’extension PHP zip.— Vous avez besoin du module GD2 dans PHP pour afficher des vignettes intégrées de fichiers JPEG

(« image/jpeg :inline ») avec le rapport hauteur / largeur original.— Pour utiliser la méthode d’authentification par « cookie » (par défaut), l’extension openssl est fortement re-

commandée.— Pour le support de la barre de progression lors du téléchargement des fichiers vers le serveur, voir 2.9 Afficher

les barres de progression d’upload.— Pour gérer l’importation de XML et de feuille de tableur Open Document, vous avez besoin de l’extension

libxml.— Pour supporter reCAPTCHA, vous avez besoin de l’extension openssl.— Pour gérer l’affichage de la dernière version de phpMyAdmin, vous devez activer allow_url_open dans

votre fichier php.ini ou avoir l’extension curl.

Voir aussi :

1.31 Quelles versions de PHP sont prises en charge par phpMyAdmin ?, Utiliser les modes d’authentification :

5

Page 12: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

2.3 Base de données

phpMyAdmin prend en charge les bases de données compatibles MySQL.— MySQL 5.5 ou supérieur— MariaDB 5.5 ou supérieur

Voir aussi :

1.17 Quelles versions de bases de données sont gérées par phpMyAdmin ?

2.4 Navigateur

Pour accéder à phpMyAdmin, vous devez utiliser un navigateur acceptant les cookies et exécutant le JavaScript.

Vous devez avoir un navigateur qui gère jQuery 2.0, voir <https://jquery.com/browser-support/>.

6 Chapitre 2. Prérequis

Page 13: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 3

Installation

phpMyAdmin n’applique pas de méthodes de sécurité particulières au serveur de données MySQL. Il appartient tou-jours à l’administrateur système d’accorder les autorisations adéquates sur les bases de données MySQL. La pageUtilisateurs de phpMyAdmin peut être utilisée pour cela.

Avertissement : Note pour les utilisateurs Mac ayant une version antérieure à Mac OS X, Stuffit décompresse auformat Mac. Vous devrez donc convertir, tout comme dans BBEdit, au format Unix TOUS les scripts phpMyAdminavant de les transférer sur votre serveur, car PHP ne semble pas apprécier les caractères de fin de ligne au formatMac (« \r »).

3.1 Distributions Linux

phpMyAdmin est fourni dans la plupart des distributions Linux. Il est recommandé d’utiliser les paquets de la dis-tribution quand c’est possible - phpMyAdmin est généralement intégré dans votre distribution et les mises à jour desécurité seront alors disponibles automatiquement.

3.1.1 Debian

Les dépôts des paquets Debian contiennent le paquet phpMyAdmin, mais le fichier de configuration maintenu dans /etc/phpmyadmin peut être différent de celui de la documentation officielle de phpMyAdmin. Plus spécifiquementil permet :

— Configuration du serveur Web (fonctionne avec Apache et lighttpd).— Création de Configuration de stockage de phpMyAdmin en utilisant dbconfig-common.— Sécurisation du script de paramétrage, voir Script de paramétrage sous Debian, Ubuntu et dérivés.

Voir aussi :

Plus d’informations disponibles dans README.Debian (il est installé sous /usr/share/doc/phmyadmin/README.Debian avec le paquet).

7

Page 14: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

3.1.2 OpenSUSE

OpenSUSE contient déjà le paquet phpMyAdmin. Installez-le à partir du Service openSUSE Build.

3.1.3 Ubuntu

Ubuntu contient le paquet phpMyAdmin, cependant, si vous voulez utiliser la dernière version, vous pouvez utiliser lepaquet du dépôt PPA de phpMyAdmin.

Voir aussi :

Les paquets sont les mêmes que ceux de Debian. Veuillez consulter la documentation ici pour plus de détails.

3.1.4 Gentoo

Gentoo fournit la paquet phpMyAdmin, dans une configuration webapp-config. Utilisez emerge dev-db/phpmyadmin pour l’installer.

3.1.5 Mandriva

Mandriva fournit le paquet phpMyAdmin dans la branche contrib et peut être installé dans le Centre de contrôle.

3.1.6 Fedora

Fedora fournit le paquet phpMyAdmin, mais le fichier de configuration maintenu dans /etc/phpMyAdmin/ peutêtre différent de celui de la documentation officielle de phpMyAdmin.

3.1.7 Red Hat Enterprise Linux

Red Hat Enterprise Linux et ses dérivés comme CentOS ne fournissent pas phpMyAdmin, mais le dépôt Fedora ExtraPackages for Enterprise Linux (EPEL) le fait, s’il est activé. Gardez à l’esprit que le fichier de configuration maintenudans /etc/phpMyAdmin/ peut différer de la version officielle dans la documentation de phpMyAdmin.

3.2 Installation sur Windows

La manière la plus simple d’installer phpMyAdmin sous Windows est d’utiliser des produits tierces qui contiennentphpMyAdmin ainsi que le serveur de base de données et le serveur Web, comme XAMPP.

Vous pouvez trouver d’autres options sur la page Wikipedia.

3.3 Installation à partir de Git

Vous pouvez cloner les sources actuelles de phpMyAdmin à partir de https://github.com/phpmyadmin/phpmyadmin.git :

git clone https://github.com/phpmyadmin/phpmyadmin.git

De plus, vous devez installer les dépendances en utilisant l’outil Composer :

8 Chapitre 3. Installation

Page 15: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

composer update

Si vous ne comptez pas faire de développement, vous pouvez passer l’installation des outils développeurs en invo-quant :

composer update --no-dev

3.4 Installation au moyen de Composer

Vous pouvez installer phpMyAdmin au moyen de l’outil Composer. Depuis la version 4.7.0, les versions sont automa-tiquement répliquées vers le dépôt par défaut Packagist.

Note : Le contenu du dépôt Composer est généré automatiquement et séparément, donc le contenu n’est pas abso-lument identique à celui que vous avez lorsque vous téléchargez l’archive. Cependant, il ne devrait pas y avoir dedifférences fonctionnelles.

Pour installer phpMyAdmin, exécutez simplement :

composer create-project phpmyadmin/phpmyadmin

Vous pouvez aussi utiliser notre dépôt Composer qui contient l’archive et qui est disponible sur <https://www.phpmyadmin.net/packages.json> :

composer create-project phpmyadmin/phpmyadmin --repository-url=https://www.phpmyadmin.→˓net/packages.json --no-dev

3.5 Installation au moyen de Docker

phpMyAdmin fournit une image Docker que vous pouvez facilement déployer. Vous pouvez la télécharger en utilisant :

docker pull phpmyadmin/phpmyadmin

Le serveur phpMyAdmin écoutera sur le port 80. Il gère plusieurs moyens pour configurer le lien vers le serveur debase de données, soit par la fonctionnalité de lien de Docker, en liant votre conteneur de base de données à db pourphpMyAdmin (en indiquant --link votre_serveur_de_base_de_données:db) ou par les variables d’en-vironnement (dans ce cas, il vous appartient de paramétrer la partie réseau dans Docker pour permettre au conteneurde phpMyAdmin d’accéder au conteneur de base de données par le réseau).

3.5.1 Variables d’environnement Docker

Vous pouvez configurer plusieurs fonctionnalités de phpMyAdmin en utilisant les variables d’environnement :

PMA_ARBITRARYPermet de saisir le nom du serveur de base de données sur le formulaire de connexion.Voir aussi :$cfg['AllowArbitraryServer']

3.4. Installation au moyen de Composer 9

Page 16: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

PMA_HOSTLe nom d’hôte ou l’adresse IP du serveur de base de données à utiliser.Voir aussi :$cfg['Servers'][$i]['host']

PMA_HOSTSUne liste de noms d’hôtes ou d’adresses IP de serveurs de base de données à utiliser.

Note : Utilisé seulement si PMA_HOST est vide.

PMA_VERBOSENom complet du serveur de base de données.Voir aussi :$cfg['Servers'][$i]['verbose']

PMA_VERBOSESUne liste de noms d’hôtes complets, séparés par des virgules, de serveurs de base de données.

Note : Utilisé seulement si PMA_VERBOSE est vide.

PMA_USERLe nom d’utilisateur à utiliser pour Mode d’authentification par configuration.

PMA_PASSWORDMot de passe à utiliser pour Mode d’authentification par configuration.

PMA_PORTPort du serveur de base de données à utiliser.

PMA_PORTSUne liste de ports du serveur de base de données à utiliser.

Note : Utilisé seulement si PMA_PORT est vide.

PMA_ABSOLUTE_URILe chemin complet (https://pma.exemple.net/) où le reverse proxy rend phpMyAdmin disponible.Voir aussi :$cfg['PmaAbsoluteUri']

Par défaut, Mode d’authentification par « cookie » est utilisé, mais si PMA_USER et PMA_PASSWORD sont définis,Mode d’authentification par configuration est utilisé.

Note : Les identifiants nécessaires pour se connecter sont stockés dans le serveur MySQL. En cas d’utilisation d’uneimage Docker, il existe divers moyens pour les définir (par exemple, MYSQL_ROOT_PASSWORD en démarrant leconteneur MySQL). Veuillez consulter la documentation pour conteneur MariaDB ou conteneur MySQL.

3.5.2 Personnalisation de la configuration

Une configuration additionnelle peut être effectuée dans /etc/phpmyadmin/config.user.inc.php. Si cefichier existe, il sera chargé après la configuration générée à partir des variables d’environnement ci-dessus, vous pou-vez donc écraser toute variable de configuration. Cette configuration peut être ajoutée en tant que volume en invoquantDocker en utilisant les paramètres -v /some/local/directory/config.user.inc.php :/etc/phpmyadmin/config.user.inc.php.

10 Chapitre 3. Installation

Page 17: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Noter que le fichier de configuration fourni est appliqué après Variables d’environnement Docker, mais que n’importequelle valeur peut être écrasée.

Par ex. pour modifier le comportement par défaut de l’exportation en CSV, il est possible d’utiliser le fichier deconfiguration suivant :

<?php$cfg['Export']['csv_columns'] = true;?>

Il est aussi possible de l’utiliser pour définir la configuration du serveur au lieu d’utiliser les variables d’environnementlistées dans Variables d’environnement Docker :

<?php/* Override Servers array */$cfg['Servers'] = [

1 => ['auth_type' => 'cookie','host' => 'mydb1','port' => 3306,'verbose' => 'Verbose name 1',

],2 => [

'auth_type' => 'cookie','host' => 'mydb2','port' => 3306,'verbose' => 'Verbose name 2',

],];

Voir aussi :

Voir Configuration pour une description détaillée des options de configuration.

3.5.3 Volumes Docker

Vous pouvez utiliser les volumes suivants pour personnaliser le comportement de l’image :

/etc/phpmyadmin/config.user.inc.php

Peut être utilisé pour des réglages supplémentaires, voir le chapitre précédent pour plus de détails.

/sessions/

Répertoire où sont stockées les sessions PHP. Vous pouvez partager cela, par exemple, lorsque vous utili-sez Mode d’authentification “signon”.

/www/themes/

Le répertoire où phpMyAdmin recherche les thèmes. Par défaut, seuls sont fournis par phpMyAdmin sontlivrés, mais vous pouvez en ajouter d’autres (voir Thèmes personnalisés) en utilisant les volumes Docker.

3.5.4 Exemples Docker

Pour connecter phpMyAdmin sur un serveur donné, utiliser :

docker run --name myadmin -d -e PMA_HOST=dbhost -p 8080:80 phpmyadmin/phpmyadmin

Pour connecter phpMyAdmin à plusieurs serveurs, utiliser :

3.5. Installation au moyen de Docker 11

Page 18: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

docker run --name myadmin -d -e PMA_HOSTS=dbhost1,dbhost2,dbhost3 -p 8080:80→˓phpmyadmin/phpmyadmin

Pour utiliser l’option de serveur arbitraire :

docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 -e PMA_ARBITRARY=1→˓phpmyadmin/phpmyadmin

Vous pouvez aussi lier le conteneur de base de données utilisant Docker :

docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 phpmyadmin/→˓phpmyadmin

Exécution avec une configuration additionnelle :

docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/→˓directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php phpmyadmin/→˓phpmyadmin

Utilisation de thèmes additionnels :

docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /custom/→˓phpmyadmin/theme/:/www/themes/theme/ phpmyadmin/phpmyadmin

3.5.5 Utiliser docker-compose

Vous pouvez aussi utiliser docker-compose avec docker-compose.yml à partir de <https://github.com/phpmyadmin/docker>. Ceci exécutera phpMyAdmin avec un serveur arbitraire - permettant de spécifier le serveur MySQL/MariaDBserver sur la page de connexion.

docker-compose up -d

3.5.6 Personnalisation du fichier de configuration à l’aide de docker-compose

Il est possible d’utiliser un fichier externe pour personnaliser la configuration de phpMyAdmin et le passer à l’aided’une directive volumes :

phpmyadmin:image: phpmyadmin/phpmyadmincontainer_name: phpmyadminenvironment:- PMA_ARBITRARY=1

restart: alwaysports:- 8080:80

volumes:- /sessions- ~/docker/phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php- /custom/phpmyadmin/theme/:/www/themes/theme/

Voir aussi :

Personnalisation de la configuration

12 Chapitre 3. Installation

Page 19: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

3.5.7 En exécution derrière haproxy dans un sous-répertoire

Pour exposer phpMyAdmin exécuté dans un conteneur Docker depuis un sous-répertoire, il faut réécrire le chemin derequête du serveur mandatant les requêtes.

Un exemple d’utilisation de haproxy :

frontend httpbind *:80option forwardforoption http-server-close

### NETWORK restrictionacl LOCALNET src 10.0.0.0/8 192.168.0.0/16 172.16.0.0/12

# /phpmyadminacl phpmyadmin path_dir /phpmyadminuse_backend phpmyadmin if phpmyadmin LOCALNET

backend phpmyadminmode http

reqirep ^(GET|POST|HEAD)\ /phpmyadmin/(.*) \1\ /\2

# phpMyAdmin container IPserver localhost 172.30.21.21:80

Quand vous utilisez traefik, quelque chose comme ce qui suit devrait fonctionner :

defaultEntryPoints = ["http"][entryPoints]

[entryPoints.http]address = ":80"[entryPoints.http.redirect]

regex = "(http:\\/\\/[^\\/]+\\/([^\\?\\.]+)[^\\/])$"replacement = "$1/"

[backends][backends.myadmin][backends.myadmin.servers.myadmin]url="http://internal.address.to.pma"

[frontends][frontends.myadmin]backend = "myadmin"passHostHeader = true

[frontends.myadmin.routes.default]rule="PathPrefixStrip:/phpmyadmin/;AddPrefix:/"

Puis il faudrait spécifier PMA_ABSOLUTE_URI dans la configuration docker-compose :

version: '2'

services:phpmyadmin:restart: alwaysimage: phpmyadmin/phpmyadmincontainer_name: phpmyadminhostname: phpmyadmin

3.5. Installation au moyen de Docker 13

Page 20: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

domainname: example.comports:

- 8000:80environment:

- PMA_HOSTS=172.26.36.7,172.26.36.8,172.26.36.9,172.26.36.10- PMA_VERBOSES=production-db1,production-db2,dev-db1,dev-db2- PMA_USER=root- PMA_PASSWORD=- PMA_ABSOLUTE_URI=http://example.com/phpmyadmin/

3.6 Installation rapide

1. Choisissez l’archive appropriée sur la page de téléchargement de phpmyadmin.net. Certaines archives necontiennent que les messages en anglais, d’autres les messages pour toutes les langues au format UTF-8 (cequi devrait suffire dans la plupart des cas), d’autres les messages pour toutes les langues et tous les jeux decaractères. Nous supposerons que vous avez choisi une archive dont le nom est de la forme phpMyAdmin-x.x.x-all-languages.tar.gz.

2. Assurez-vous d’avoir téléchargé une archive authentique, voir Vérification d’intégrité de phpMyAdmin.3. « Détarrez » (.tar) ou « dézippez » (.zip) la distribution (assurez-vous de conserver l’arborescence des sous-

répertoires) : tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz à la racine de votre ser-veur web. Si vous n’avez pas d’accès directement à la racine du serveur, mettez les fichiers dans un répertoirede votre ordinateur local, et, après l’étape 4, transférez le répertoire sur votre serveur web en utilisant, parexemple, le protocole ftp.

4. Assurez-vous que tous les scripts aient le propriétaire adéquat (si PHP fonctionne en mode sécurisé, avoirdes scripts avec un propriétaire différent de celui des autres posera un problème). Voir la section 4.2 Quelest le meilleur moyen de sécuriser phpMyAdmin contre les attaques malicieuses ? et 1.26 Je viens d’installerphpMyAdmin dans le document racine de IIS mais j’obtiens l’erreur « Le fichier spécifié est introuvable »quand j’essaie d’exécuter phpMyAdmin. pour des suggestions.

5. Vous devez maintenant configurer votre installation. Deux méthodes peuvent être utilisées. Traditionnellement,les utilisateurs ont une copie modifiée manuellement du fichier config.inc.php, mais un script d’instal-lation de type assistant d’installation est maintenant fourni pour ceux qui préfèrent une installation graphique.Créer un fichier config.inc.php demeure néanmoins un moyen rapide pour démarrer et nécessaire pourcertaines fonctionnalités avancées.

3.6.1 Création manuelle du fichier

Pour créer manuellement le fichier, utiliser un éditeur de texte pour créer le fichier config.inc.php (ilest possible de copier le fichier config.sample.inc.php pour obtenir un fichier de configuration mini-mal) dans le répertoire principal de phpMyAdmin (celui qui contient le fichier index.php). phpMyAdmincharge tout d’abord le fichier libraries/config.default.php`puis écrase ces valeurs aveccelles trouvées dans le fichier :file:`config.inc.php. Si la valeur par défaut convient pourun paramètre particulier, il n’est pas nécessaire de l’inclure dans le fichier config.inc.php. Il faudra alors proba-blement besoin de quelques directives pour continuer. Une configuration simple peut ressembler à ceci :

<?php// use here a value of your choice at least 32 chars long$cfg['blowfish_secret'] = '1{dd0`<Q),5XP_:R9UK%%8\"EEcyH#{o';

$i=0;$i++;$cfg['Servers'][$i]['auth_type'] = 'cookie';

14 Chapitre 3. Installation

Page 21: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

// if you insist on "root" having no password:// $cfg['Servers'][$i]['AllowNoPassword'] = true; `?>

Ou, si vous préférez ne pas avoir d’invite de connexion à chaque fois :

<?php

$i=0;$i++;$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = 'cbb74bc'; // use here your password$cfg['Servers'][$i]['auth_type'] = 'config';?>

Avertissement : Le stockage des mots de passe dans la configuration n’est pas sûr car n’importe qui peut alorsmanipuler votre base de données.

Pour une explication complète de toutes les valeurs de configuration possibles, veuillez consulter la section Configu-ration de ce document.

3.6.2 Utilisation du script d’installation

Au lieu de modifier manuellement le fichier config.inc.php, il est possible d’utiliser le script d’installation dephpMyAdmin. Le fichier peut être généré depuis le script d’installation, puis téléchargé pour être transféré vers leserveur.

Ensuite ouvrir le navigateur et aller à l’emplacement où phpMyAdmin est installé, avec le suffixe /setup. Lesmodifications ne sont pas enregistrées sur le serveur, il faut utiliser le bouton Download pour les enregistrer localementpour les transférer ensuite vers le serveur.

Maintenant, le fichier est prêt à être utilisé. Vous pouvez choisir de vérifier ou modifier le fichier de configuration avecvotre éditeur favori, si vous préférez définir des options avancées que le script d’installation de permet pas de faire.

1. Si vous utilisez la méthode d’authentification « config », il est recommandé de protéger le répertoire d’instal-lation de phpMyAdmin parce-qu’avec ce type d’authentification, un utilisateur n’a pas besoin de saisir de motde passe pour y accéder. Nous recommandons d’utiliser une méthode d’authentification alternative, telle queHTTP-AUTH dans un fichier .htaccess ou de passer sur une authentification de type cookie ou HTTP. Voir laFAI et installation multi-utilisateurs, plus particulièrement 4.4 phpMyAdmin donne toujours « Accès refusé »en utilisant l’authentification HTTP. pour plus d’informations.

2. Ouvrez le répertoire principal de phpMyAdmin dans votre navigateur. phpMyAdmin devrait maintenant affi-cher un écran de bienvenue et vos bases de données, ou une boîte de dialogue de connexion si vous utilisez lemode HTTP ou le mode d’authentification par cookie.

Script de paramétrage sous Debian, Ubuntu et dérivés

Debian et Ubuntu ont modifié la façon dont le paramétrage est activé ou désactivé, de sorte qu’une seule ligne decommande doit être exécutée pour chacun d’eux.

Pour permettre la modification de la configuration, exécuter :

/usr/sbin/pma-configure

3.6. Installation rapide 15

Page 22: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Pour bloquer la modification de la configuration, exécuter :

/usr/sbin/pma-secure

Script d’installation pour openSUSE

Certaines versions d’openSUSE ne contiennent pas le script de configuration dans le paquet. Si vous voulez générerla configuration, vous pouvez télécharger le paquet d’origine sur <https://www.phpmyadmin.net/> ou utiliser le scriptde notre serveur de démonstration : <https://demo.phpmyadmin.net/STABLE/setup/>.

3.7 Vérification d’intégrité de phpMyAdmin

Depuis juillet 2015, toutes les versions de phpMyAdmin sont signées avec une clé par le développeur qui effectuela publication, qui jusqu’à janvier 2016 était Marc Delisle. Son identifiant de clef est 0xFEFC65D181AF644A, sonempreinte de clé PGP est la suivante :

436F F188 4B1A 0C3F DCBF 0D79 FEFC 65D1 81AF 644A

et vous pouvez obtenir plus d’informations sur l’identification sur <https://keybase.io/lem9>.

À compter de janvier 2016, le gestionnaire de publication est Isaac Bennetch. Son ID de clé est0xCE752F178259BD92,et son empreinte PGP est :

3D06 A59E CE73 0EB7 1B51 1C17 CE75 2F17 8259 BD92

et vous pouvez obtenir plus d’informations sur l’identification sur <https://keybase.io/ibennetch>.

D’autres téléchargements supplémentaires (comme les thèmes) doivent être signés par Michal Cihar. Sa clé d’identi-fication est 0x9C27B31342B7511D, et son empreinte PGP est :

63CB 1DF1 EF12 CF2A C0EE 5A32 9C27 B313 42B7 511D

et vous pouvez obtenir plus d’informations sur l’identification sur <https://keybase.io/nijel>.

Vous devriez vérifier que la signature correspond à l’archive que vous avez téléchargée. De cette façon vous pouvezêtre sûr que vous utilisez le même code qui a été publié. Vous devriez aussi vérifier la date de la signature pour être sûrque vous avez téléchargé la dernière version.

Chaque archive est accompagné de fichiers .asc qui contiennent la signature PGP pour celle-ci. Une fois que vousavez ces deux fichiers dans le même dossier, vous pouvez vérifier la signature :

$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.ascgpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92gpg: Can't check signature: public key not found

Comme vous pouvez le voir gpg se plaint qu’il ne connaît pas la clé publique. À ce stade, vous devriez faire une desétapes suivantes :

— Télécharger le trousseau de clés de notre serveur de téléchargement, puis l’importer avec :

$ gpg --import phpmyadmin.keyring

— Télécharger et importer la clé de l’un des serveurs principaux :

16 Chapitre 3. Installation

Page 23: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$ gpg --keyserver hkp://pgp.mit.edu --recv-keys→˓3D06A59ECE730EB71B511C17CE752F178259BD92gpg: requesting key 8259BD92 from hkp server pgp.mit.edugpg: key 8259BD92: public key "Isaac Bennetch <[email protected]>" importedgpg: no ultimately trusted keys foundgpg: Total number processed: 1gpg: imported: 1 (RSA: 1)

Ceci améliorera la situation un peu - à ce stade, vous pouvez vérifier que la signature de la clé donnée est correcte,mais vous ne pouvez toujours pas faire confiance au nom utilisé dans la clé :

$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.ascgpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92gpg: Good signature from "Isaac Bennetch <[email protected]>"gpg: aka "Isaac Bennetch <[email protected]>"gpg: WARNING: This key is not certified with a trusted signature!gpg: There is no indication that the signature belongs to the owner.Primary key fingerprint: 3D06 A59E CE73 0EB7 1B51 1C17 CE75 2F17 8259 BD92

Le problème ici est que tout le monde pouvait délivrer la clé portant ce nom. Vous devez vous assurer que la cléest actuellement détenue par la personne mentionnée. Le GNU Privacy Handbook couvre ce sujet dans le chapitreValidating other keys on your public keyring. La méthode la plus fiable est de rencontrer le développeur en personneet de procéder à l’échange des empreintes digitales de clé, cependant vous pouvez également compter sur la toile deconfiance. De cette façon vous pouvez faire confiance à la clé de manière transitive au moyen des signatures des autrespersonnes, qui ont rencontré le développeur en personne. Par exemple, vous pouvez voir comment la clé d’Isaac estliée à celle de Linus.

Une fois que la clé est approuvée, l’avertissement ne s’affichera plus :

$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.ascgpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92gpg: Good signature from "Isaac Bennetch <[email protected]>" [full]

Si la signature était invalidée (l’archive a été changée), vous obtiendriez une erreur manifeste indépendamment du faitque la clé est approuvée ou non :

$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.ascgpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92gpg: BAD signature from "Isaac Bennetch <[email protected]>" [unknown]

3.8 Configuration de stockage de phpMyAdmin

Modifié dans la version 3.4.0 : Avant phpMyAdmin 3.4.0, ceci était appelé Infrastructure de tables liées, mais le noma été changé en raison de la couverture étendue du stockage.

Si vous voulez bénéficier d’une série de nouveautés (Signets, commentaires, historique SQL, mécanisme de suivi,génération de PDF, Transformations, Relations , etc.), vous devrez créer un ensemble de tables spéciales. Ces tablespeuvent se trouver dans votre propre base de données, ou dans une base de données centrale pour une installationmulti-utilisateurs (cette base de données serait alors accédée par le controluser, aussi, aucun autre utilisateur ne devraitavoir de droits sur celle-ci).

3.8. Configuration de stockage de phpMyAdmin 17

Page 24: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

3.8.1 Zéro configuration

La plusieurs cas, cette structure de base de données peut être automatiquement créer et configurer. Ce mode est appelé» Zero Configuration » et il peut être utile pour partagé dans les situations d’hébergement partagé. Par défaut, le mode“Zeroconf” est activé, pour le désactiver fixer $cfg['ZeroConf'] à « false ».

Les trois scénarios suivants traitent du mode Zéro configuration :— Lors de l’ouverture d’une base de données dans laquelle les tables de stockage ne sont pas présentes, php-

MyAdmin propose de les créer à partir de l’onglet Opérations.— Lors de l’ouverture d’une base de données dans laquelle les tables existent déjà, le logiciel le détecte automa-

tiquement et commence à les utiliser. C’est la situation la plus courante ; après la création initiale automatiquedes tables, elles sont utilisées continuellement sans déranger l’utilisateur. Ceci est très utilise sur un héberge-ment partagé où l’utilisateur ne peut pas éditer le fichier config.inc.php et d’habitude, l’utilisateur n’aaccès qu’à une seule base de données.

— Lorsqu’il y a plusieurs bases de données, si l’utilisateur ouvre d’abord la base contenant les tables de stockagepuis change de base de données, phpMyAdmin continue à utiliser les tables de la première base. L’utilisateurn’est pas invité à créer d’autres tables dans la nouvelle base.

3.8.2 Configuration manuelle

Veuillez regarder dans votre répertoire ./sql/, où vous devriez trouver un fichier du nom de create_tables.sql. (Sivous utilisez un serveur Windows, portez une attention particulière à la partie 1.23 J’exécute MySQL sur une machineWin32. Chaque fois que je crée une nouvelle table, les noms de la table et des colonnes sont convertis en lettresminuscules !).

Si vous aviez déjà cette infrastructure et :— mis à jour vers MySQL 4.1.2 ou supérieur, veuillez utiliser le fichier sql/

upgrade_tables_mysql_4_1_2+.sql.— mis à jour phpMyAdmin en version 4.3.0 ou supérieur depuis 2.5.0 ou supérieur (<= 4.2.x), veuillez utiliser

sql/upgrade_column_info_4_3_0+.sql.— mis à jour vers phpMyAdmin 4.7.0 ou plus récent à partir de 4.3.0 ou plus récent, veuillez utiliser sql/

upgrade_tables_4_7_0+.sql.puis créer de nouvelles tables en important sql/create_tables.sql.

Vous pouvez d’ores et déjà utiliser phpMyAdmin qui créera les tables pour vous. Soyez conscient que vous pouvezavoir besoin de privilèges spéciaux (administrateur) pour créer la base de données et les tables, et que le script peutavoir besoin de quelques ajustements en fonction du nom de la base de données.

Après avoir importé le fichier ./sql/create_tables.sql, il faudra spécifier le nom des tables dans le fichier./config.inc.php. Les directives à utiliser pour cela sont dans la section Configuration.

Il vous faudra également un utilisateur de contrôle ($cfg['Servers'][$i]['controluser'] et/ou$cfg['Servers'][$i]['controlpass'] possédant les droits appropriés sur ces tables. Vous pouvez le créerau moyen de l’énoncé suivant :

GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost' IDENTIFIED→˓BY 'pmapass';

3.9 Mise à jour à partir d’une précédente version :

18 Chapitre 3. Installation

Page 25: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Avertissement : Ne jamais extraire une nouvelle version de phpMyAdmin par-dessus une version déjà existante.Toujours supprimer d’abord les anciens fichiers en ne conservant que la configuration.

De cette manière, vous ne laisserez plus de code non fonctionnel dans le répertoire, ce qui peut avoir de sérieusesimplications de sécurité et provoquer divers dysfonctionnements.

Copiez simplement le fichier config.inc.php de votre installation précédente dans la nouvelle installation. Lesfichiers de configuration de très anciennes versions (2.3.0 ou précédentes) peuvent nécessiter des ajustements car cer-taines options ont été modifiées ou supprimés. Pour une compatibilité avec PHP 5.3 et plus, supprimez une déclarationset_magic_quotes_runtime(0); que vous pourriez trouver à la fin de votre fichier de configuration.

Vous ne devez pas copier libraries/config.default.php par dessus config.inc.php car le fichier deconfiguration par défaut est spécifique à chaque version.

La mise à jour complète peut être effectuée en quelques étapes simples :

1. Télécharger la dernière version de phpMyAdmin sur <https://www.phpmyadmin.net/downloads/>.

2. Renommer le répertoire existant de phpMyAdmin (par exemple en phpmyadmin-old).

3. Décompresser le paquet phpMyAdmin dans l’emplacement désiré (par exemple phpmyadmin).

4. Copier le fichier config.inc.php` de l’ancien répertoire (phpmyadmin-old) vers le nouveau(phpmyadmin).

5. Tester que tout fonctionne correctement.

6. Supprimer la sauvegarde de l’ancienne version (phpmyadmin-old).

Si vous avez mis à jour votre serveur MySQL d’une version plus ancienne que la 4.1.2 vers une version 5.x ousupérieure et que vous utilisez la configuration de stockage de phpMyAdmin, vous devez exécuter le script SQLsuivant : sql/upgrade_tables_mysql_4_1_2+.sql.

Si vous avez mis à jour phpMyAdmin en version 4.3.0 ou supérieur à depuis 2.5.0 ou supérieur (<= 4.2.x) et si vousutilisez la configuration de stockage de phpMyAdmin, vous devez exécuter le script SQL qui se trouve dans sql/upgrade_column_info_4_3_0+.sql.

Ne pas oublier de vider le cache du navigateur et l’ancienne session en se déconnectant puis en se reconnectant.

3.10 Utiliser les modes d’authentification :

Les authentifications HTTP et par cookies sont recommandées dans un environnement multi-utilisateurs où voussouhaitez que chaque utilisateur n’ait accès qu’à sa propre base de données et n’aille pas trifouiller dans les bases dedonnées des voisins. Néanmoins, sachez que MS Internet Explorer semble avoir une gestion peu fiable des cookies,tout du moins jusqu’à sa version 6. Dans un environnement mono-utilisateur, vous pouvez également souhaiterutiliser une authentification HTTP ou par cookies afin d’éviter de stocker votre nom d’utilisateur / mot de passe enclair dans le fichier de configuration.

Les modes d’authentification HTTP et par cookie sont plus sécurisés : les informations de connexion deMySQL n’ont pas besoin d’être définies dans le fichier de configuration de phpMyAdmin (excepté pour$cfg['Servers'][$i]['controluser']). Cependant, gardez à l’esprit que le mot de passe transite en clair,à moins d’utiliser le protocole HTTPS. Dans le mode cookie, le mot de passe est stocké, chiffré avec l’algorithmeAES, dans un cookie temporaire.

Ensuite, un ensemble de privilèges doit être accordé à chaque utilisateur réel sur un ensemble de bases définies.Normalement, vous ne devriez pas donner de privilèges globaux à un utilisateur ordinaire, à moins que vous ne sachiezce que vous faites (par exemple, si vous créez un super-utilisateur). Par exemple, déléguer à un utilisateur réel tous lesprivilèges sur la base de données user_base :

3.10. Utiliser les modes d’authentification : 19

Page 26: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_→˓password';

Tout ce que les utilisateurs pourraient faire est entièrement contrôlé par le système de gestion des utilisateurs deMySQL. Avec les modes d’authentification HTTP ou par cookie, vous n’avez pas besoin de renseigner les champsutilisateur/mot de passe dans $cfg['Servers'].

Voir aussi :

1.35 Puis-je utiliser l’authentification HTTP avec Apache CGI ?, 1.35 Puis-je utiliser l’authentification HTTP avecApache CGI ?, 4.1 Je suis un FAI. Puis-je configurer une seule copie centralisée de phpMyAdmin ou dois-je fairel’installation pour chaque client ?, 4.2 Quel est le meilleur moyen de sécuriser phpMyAdmin contre les attaquesmalicieuses ?, 4.3 J’obtiens des erreurs sur l’impossibilité d’inclure un fichier dans /lang ou dans /libraries.

3.10.1 Mode d’authentification HTTP

— Il utilise la méthode d’authentification HTTP basique et vous autorise à vous connecter en tant que n’importequel utilisateur MySQL valide.

— Il est géré par la plupart des configurations PHP. Pour la gestion IIS (ISAPI) utilisant PHP CGI, voir 1.35 Puis-je utiliser l’authentification HTTP avec Apache CGI ? ; pour utiliser Apache CGI voir 1.35 Puis-je utiliserl’authentification HTTP avec Apache CGI ?.

— Quand PHP est exécuté avec Apache mod_proxy_fcgi (par exemple avec PHP-FPM), les en-têtesAuthorization ne sont pas passés à l’application sous-jacente FCGI, et les identifiants n’atteindront pasl’application. Dans ce cas, vous pouvez ajouter l directive de configuration :

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

— Voir également la section 4.4 phpMyAdmin donne toujours « Accès refusé » en utilisant l’authentificationHTTP. sur le fait de ne pas utiliser le mécanisme d’authentification .htaccess en même temps que le moded’authentification “HTTP”.

Note : Il n’existe pas de manière de se déconnecter proprement en utilisant l’authentification HTTP : la plupart desnavigateurs retiennent les identifiants jusqu’à ce qu’une nouvelle authentification réussisse avec d’autres identifiants.À cause de cela, cette méthode ne permet pas de se connecter avec le même utilisateur après la déconnexion.

3.10.2 Mode d’authentification par « cookie »

— Le nom d’utilisateur et le mot de passe sont stockés dans des cookies pendant la session et le mot de passe esteffacé quand celle-ci se termine.

— Avec ce mode, l’utilisateur peut réellement se déconnecter de phpMyAdmin et se reconnecter avec le mêmenom d’utilisateur (ce n’est pas possible avec Mode d’authentification HTTP).

— Si vous voulez autoriser des utilisateurs à saisir un nom d’hôte pour se connecter (au lieu des seuls serveursconfigurés dans config.inc.php), consultez la directive $cfg['AllowArbitraryServer'].

— Comme il est indiqué dans la section Prérequis, l’extension openssl accélère considérablement l’accès, maiselle n’est pas obligatoire.

3.10.3 Mode d’authentification “signon”

— Ce mode est un moyen pratique pour utiliser les informations d’identification provenant d’une autre applicationpour s’authentifier dans phpMyAdmin en utilisant l’authentification unique.

20 Chapitre 3. Installation

Page 27: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— L’autre application a besoin de stocker les informations de connexion dans lesdonnées de session (consulter $cfg['Servers'][$i]['SignonSession'] et$cfg['Servers'][$i]['SignonCookieParams']) ou vous devez mettre en œuvre un scriptpour renvoyer les crédentiels (consulter $cfg['Servers'][$i]['SignonScript']).

— Quand aucun identifiant de connexion n’est disponible, l’utilisateur est redirigé vers$cfg['Servers'][$i]['SignonURL'], où vous pouvez traiter le processus de connexion.

Un exemple très basique pour stocker les identifiants de connexion est disponible : examples/signon.php :

<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//*** Single signon for phpMyAdmin

** This is just example how to use session based single signon with

* phpMyAdmin, it is not intended to be perfect code and look, only

* shows how you can integrate this functionality in your application.

** @package PhpMyAdmin

* @subpackage Example

*/

/* Use cookies for session */@ini_set('session.use_cookies', 'true');/* Change this to true if using phpMyAdmin over https */$secure_cookie = false;/* Need to have cookie visible from parent directory */session_set_cookie_params(0, '/', '', $secure_cookie, true);/* Create signon session */$session_name = 'SignonSession';session_name($session_name);// Uncomment and change the following line to match your $cfg['SessionSavePath']//session_save_path('/foobar');@session_start();

/* Was data posted? */if (isset($_POST['user'])) {

/* Store there credentials */$_SESSION['PMA_single_signon_user'] = $_POST['user'];$_SESSION['PMA_single_signon_password'] = $_POST['password'];$_SESSION['PMA_single_signon_host'] = $_POST['host'];$_SESSION['PMA_single_signon_port'] = $_POST['port'];/* Update another field of server configuration */$_SESSION['PMA_single_signon_cfgupdate'] = array('verbose' => 'Signon test');$id = session_id();/* Close that session */@session_write_close();/* Redirect to phpMyAdmin (should use absolute URL here!) */header('Location: ../index.php');

} else {/* Show simple form */header('Content-Type: text/html; charset=utf-8');echo '<?xml version="1.0" encoding="utf-8"?>' , "\n";?><!DOCTYPE HTML><html lang="en" dir="ltr"><head><link rel="icon" href="../favicon.ico" type="image/x-icon" /><link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />

3.10. Utiliser les modes d’authentification : 21

Page 28: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

<meta charset="utf-8" /><title>phpMyAdmin single signon example</title></head><body><?phpif (isset($_SESSION['PMA_single_signon_error_message'])) {

echo '<p class="error">';echo $_SESSION['PMA_single_signon_error_message'];echo '</p>';

}?><form action="signon.php" method="post">Username: <input type="text" name="user" /><br />Password: <input type="password" name="password" /><br />Host: (will use the one from config.inc.php by default)<input type="text" name="host" /><br />Port: (will use the one from config.inc.php by default)<input type="text" name="port" /><br /><input type="submit" /></form></body></html><?php

}?>

Sinon, vous pouvez aussi utiliser cette solution en utilisant OpenID : examples/openid.php :

<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//*** Single signon for phpMyAdmin using OpenID

** This is just example how to use single signon with phpMyAdmin, it is

* not intended to be perfect code and look, only shows how you can

* integrate this functionality in your application.

** It uses OpenID pear package, see https://pear.php.net/package/OpenID

** User first authenticates using OpenID and based on content of $AUTH_MAP

* the login information is passed to phpMyAdmin in session data.

** @package PhpMyAdmin

* @subpackage Example

*/

if (false === @include_once 'OpenID/RelyingParty.php') {exit;

}

/* Change this to true if using phpMyAdmin over https */$secure_cookie = false;

/*** Map of authenticated users to MySQL user/password pairs.

*/$AUTH_MAP = array(

'https://launchpad.net/~username' => array(

22 Chapitre 3. Installation

Page 29: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

'user' => 'root','password' => '',),

);

/*** Simple function to show HTML page with given content.

** @param string $contents Content to include in page

** @return void

*/function Show_page($contents){

header('Content-Type: text/html; charset=utf-8');echo '<?xml version="1.0" encoding="utf-8"?>' , "\n";?><!DOCTYPE HTML><html lang="en" dir="ltr"><head><link rel="icon" href="../favicon.ico" type="image/x-icon" /><link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" /><meta charset="utf-8" /><title>phpMyAdmin OpenID signon example</title></head><body><?phpif (isset($_SESSION) && isset($_SESSION['PMA_single_signon_error_message'])) {

echo '<p class="error">' , $_SESSION['PMA_single_signon_message'] , '</p>';unset($_SESSION['PMA_single_signon_message']);

}echo $contents;?></body></html><?php

}

/*** Display error and exit

** @param Exception $e Exception object

** @return void

*/function Die_error($e){

$contents = "<div class='relyingparty_results'>\n";$contents .= "<pre>" . htmlspecialchars($e->getMessage()) . "</pre>\n";$contents .= "</div class='relyingparty_results'>";Show_page($contents);exit;

}

/* Need to have cookie visible from parent directory */session_set_cookie_params(0, '/', '', $secure_cookie, true);/* Create signon session */

3.10. Utiliser les modes d’authentification : 23

Page 30: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$session_name = 'SignonSession';session_name($session_name);@session_start();

// Determine realm and return_to$base = 'http';if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {

$base .= 's';}$base .= '://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];

$realm = $base . '/';$returnTo = $base . dirname($_SERVER['PHP_SELF']);if ($returnTo[strlen($returnTo) - 1] != '/') {

$returnTo .= '/';}$returnTo .= 'openid.php';

/* Display form */if (!count($_GET) && !count($_POST) || isset($_GET['phpMyAdmin'])) {

/* Show simple form */$content = '<form action="openid.php" method="post">

OpenID: <input type="text" name="identifier" /><br /><input type="submit" name="start" /></form></body></html>';

Show_page($content);exit;

}

/* Grab identifier */if (isset($_POST['identifier']) && is_string($_POST['identifier'])) {

$identifier = $_POST['identifier'];} elseif (isset($_SESSION['identifier']) && is_string($_SESSION['identifier'])) {

$identifier = $_SESSION['identifier'];} else {

$identifier = null;}

/* Create OpenID object */try {

$o = new OpenID_RelyingParty($returnTo, $realm, $identifier);} catch (Exception $e) {

Die_error($e);}

/* Redirect to OpenID provider */if (isset($_POST['start'])) {

try {$authRequest = $o->prepare();

} catch (Exception $e) {Die_error($e);

}

$url = $authRequest->getAuthorizeURL();

header("Location: $url");

24 Chapitre 3. Installation

Page 31: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

exit;} else {

/* Grab query string */if (!count($_POST)) {

list(, $queryString) = explode('?', $_SERVER['REQUEST_URI']);} else {

// I hate php sometimes$queryString = file_get_contents('php://input');

}

/* Check reply */try {

$message = new OpenID_Message($queryString, OpenID_Message::FORMAT_HTTP);} catch (Exception $e) {

Die_error($e);}

$id = $message->get('openid.claimed_id');

if (!empty($id) && isset($AUTH_MAP[$id])) {$_SESSION['PMA_single_signon_user'] = $AUTH_MAP[$id]['user'];$_SESSION['PMA_single_signon_password'] = $AUTH_MAP[$id]['password'];session_write_close();/* Redirect to phpMyAdmin (should use absolute URL here!) */header('Location: ../index.php');

} else {Show_page('<p>User not allowed!</p>');exit;

}}

Si vous voulez transmettre les identifiants de connexion en utilisant d’autres moyens, vous devrez mettreen œuvre une classe enveloppante (wrapper) en PHP pour obtenir les données et les définir dans$cfg['Servers'][$i]['SignonScript']. Voici un script minimaliste pour cela : examples/signon-script.php :

<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//*** Single signon for phpMyAdmin

** This is just example how to use script based single signon with

* phpMyAdmin, it is not intended to be perfect code and look, only

* shows how you can integrate this functionality in your application.

** @package PhpMyAdmin

* @subpackage Example

*/

/*** This function returns username and password.

** It can optionally use configured username as parameter.

** @param string $user User name

** @return array

3.10. Utiliser les modes d’authentification : 25

Page 32: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

*/function get_login_credentials($user){

/* Optionally we can use passed username */if (!empty($user)) {

return array($user, 'password');}

/* Here we would retrieve the credentials */$credentials = array('root', '');

return $credentials;}

Voir aussi :

$cfg['Servers'][$i]['auth_type'], $cfg['Servers'][$i]['SignonSession'],$cfg['Servers'][$i]['SignonCookieParams'], $cfg['Servers'][$i]['SignonScript'],$cfg['Servers'][$i]['SignonURL'], Exemple pour l’authentification “signon”

3.10.4 Mode d’authentification par configuration

— Ce mode est parfois le moins sécurisé car il requiert de remplir les champs$cfg['Servers'][$i]['user'] et $cfg['Servers'][$i]['password'] (et par consé-quent, quiconque peut lire votre fichier config.inc.php peut découvrir votre nom d’utilisateur et votremot de passe).

— Dans la section FAI et installation multi-utilisateurs il y a un point expliquant comment protéger votre fichierde configuration.

— Pour une sécurité supplémentaire dans ce mode, vous devriez considérer les directives de confi-guration de l’authentification hôte $cfg['Servers'][$i]['AllowDeny']['order'] et$cfg['Servers'][$i]['AllowDeny']['rules'].

— Contrairement aux modes par cookie et HTTP, l’utilisateur n’a pas besoin de s’authentifier lors du premierchargement du site phpMyAdmin. C’est prévu ainsi, mais cela pourrait permettre à tout utilisateur d’accéderà votre installation. L’utilisation d’une méthode de restriction est recommandée, que ce soit en utilisant unfichier .htaccess avec la directive HTTP-AUTH ou en interdisant les requêtes HTTP entrantes sur le routeurou le pare-feu (ces deux suggestions n’entrent pas dans les sujets abordés dans ce manuel mais vous pouvezfacilement trouver des informations sur ces sujets avec Google).

3.11 Sécuriser votre installation de phpMyAdmin

L’équipe de phpMyAdmin essaye tant bien que mal de rendre l’application sûre, cependant, il est toujours possible dela rendre encore plus sûre :

— Suivez nos annonces de sécurité et mettez à jour phpMyAdmin chaque fois qu’une vulnérabilité est révélée.— Utiliser phpMyAdmin en HTTPS seulement. De préférence, utiliser HSTS, pour être protégé des attaques de

type « protocol downgrade ».— Assure-vous que votre configuration PHP suive les recommandations pour les sites de production, par exemple

display_errors doit être désactivé.— Supprimez le dossier test de phpMyAdmin, à moins que vous ne développiez et avez besoin de cas de test.— Supprimez le dossier setup de phpMyAdmin, vous ne l’utiliserez probablement plus après l’installation

initiale.— Choisit la méthode d’authentification appropriée - Mode d’authentification par « cookie » est probablement le

meilleur choix dans le cas d’un hébergement mutualisé.

26 Chapitre 3. Installation

Page 33: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Refuse l’accès aux fichiers auxiliaires des sous-dossiers ./libraries et ./templates/ de la configu-ration du serveur Web. Une telle configuration empêche de possibles vulnérabilités à l’exposition de cheminset de scripts inter-sites qui pourraient être découvertes dans le code. Pour le serveur Web Apache, la façonhabituelle de procéder est d’utiliser un fichier .htaccess dans ces dossiers.

— Refuse l’accès aux fichiers temporaires, voir $cfg['TempDir'] (si cela est placé à l’intérieur de votreracine web, voir aussi Les répertoires de transfert/sauvegarde/import du serveur web) .

— Il est généralement conseillé de protéger l’installation phpMyAdmin publique contre les accès des robots carils ne peuvent rien faire de bon en général ici. Vous pouvez faire ceci en utilisant le fichier robots.txtà la racine de votre serveur Web ou en limitant l’accès par la configuration de votre serveur Web, voir 1.42Comment empêcher les robots d’accéder à phpMyAdmin ?.

— Si vous ne voulez pas que tous les utilisateurs MySQL puissent accéder à phpMyAdmin, vouspouvez utiliser $cfg['Servers'][$i]['AllowDeny']['rules'] pour les limiter ou$cfg['Servers'][$i]['AllowRoot'] pour refuser l’accès utilisateur root.

— Active Authentification à deux facteurs pour votre compte.— Envisagez de masquer phpMyAdmin derrière une authentification de serveur mandataire, de sorte que les

utilisateurs aient à s’identifier avant de fournir les identifiants MySQL. Pour cela, vous pouvez configurer votreserveur Web pour qu’il nécessite une authentification HTTP. Par exemple, pour Apache, cela peut être réaliséavec :

AuthType BasicAuthName "Restricted Access"AuthUserFile /usr/share/phpmyadmin/passwdRequire valid-user

Après avoir changé la configuration, il faut créer une liste des utilisateurs qui peuvent s’authentifier. Cela peutêtre fait en utilisant l’utilitaire htpasswd :

htpasswd -c /usr/share/phpmyadmin/passwd username

— Si vous craignez les attaques automatisées, l’activation de Captcha au moyen de$cfg['CaptchaLoginPublicKey'] et $cfg['CaptchaLoginPrivateKey'] pourrait êtreenvisageable.

— Les tentatives de connexion qui ont échouées sont inscrites au journal syslog (si disponible,$cfg['AuthLog']). Cela peut servir à un outil comme fail2ban pour bloquer les attaques par force brute.Noter que le fichier journal utilisé par syslog n’est pas le même que celui des erreurs Apache ou celui journa-lisant les accès.

— Au cas où phpMyAdmin est exécuté en même temps que d’autres applications PHP, il est généralementconseillé d’utiliser un emplacement de session séparé pour phpMyAdmin afin d’éviter des attaques possiblesbasées sur la session. Pour cela il est possible d’utiliser $cfg['SessionSavePath'].

3.12 Utilisation de SSL pour la connexion au serveur de base de don-nées

Il est recommandé d’utiliser SSL lors de la connexion au serveur de bases de données distant. Il existe plusieurs optionsde configuration SSL :

$cfg['Servers'][$i]['ssl'] Définit si SSL est utilisé ou pas. En cas d’activation seule, la connexionsera chiffrée mais pas authentifiée ; il sera impossible de vérifier que la communication se fait avec le bonserveur.

$cfg['Servers'][$i]['ssl_key'] et $cfg['Servers'][$i]['ssl_cert'] Ceci est utilisépour l’authentification du client au serveur.

$cfg['Servers'][$i]['ssl_ca'] et $cfg['Servers'][$i]['ssl_ca_path'] Les autoritésde certification de confiance pour les certificats de serveur. Cela est utilisé pour s’assurer que la communicationest faite un serveur de confiance.

3.12. Utilisation de SSL pour la connexion au serveur de base de données 27

Page 34: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Servers'][$i]['ssl_verify'] Cette configuration désactive la vérification du certificat de ser-veur. À utiliser avec prudence.

Voir aussi :

Google Cloud SQL avec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_cert'], $cfg['Servers'][$i]['ssl_ca'],$cfg['Servers'][$i]['ssl_ca_path'], $cfg['Servers'][$i]['ssl_ciphers'],$cfg['Servers'][$i]['ssl_verify']

3.13 Problèmes connus

3.13.1 Les utilisateurs avec des privilèges spécifiques à des colonnes ne peuventpas utiliser « Parcourir »

Si un utilisateur a des privilèges spécifiques à des colonnes sur certaines (mais pas toutes) colonnes dans une table, «Parcourir » échouera avec un message d’erreur.

Comme moyen de contournement, une requête enregistrée du même nom que la table peut être créée. Elle sera utiliséeà la place du lien « Parcourir ». Problème 11922.

3.13.2 Problème de reconnexion après s’être déconnecté en utilisant l’authentifi-cation “http”

En utilisant auth_type “http”, il peut être impossible de se reconnecter (lorsque la déconnexion est faite manuelle-ment ou après une période d’inactivité). Problème 11898.

28 Chapitre 3. Installation

Page 35: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 4

Configuration

Presque toutes les données de configuration sont placées dans config.inc.php dans la racine de phpMyAdmin. Sice fichier n’existe pas, veuillez vous rapporter à la section Installation pour en créer un. Ce fichier a seulement besoinde contenir les paramètres dont vous voudriez changer la valeur par défaut dans le fichier libraries/config.default.php (ce fichier n’est pas destiné à être modifié).

Voir aussi :

Exemple pour des exemples de configurations

Si une directive manque dans votre fichier, vous pouvez ajouter une nouvelle ligne avec ce fichier. Ce fichier sert àremplacer les valeurs par défaut ; si vous souhaitez utiliser les valeurs par défaut, il n’est pas nécessaire d’ajouter deligne ici.

Les paramètres relatifs à la conception (comme les couleurs), se trouvent dans themes/themename/layout.inc.php. Vous pouvez également créer les fichiers config.footer.inc.php et config.header.inc.php pour ajouter à votre site du code spécifique en-tête et en pied de chaque page.

Note : Certaines distributions, comme par exemple Debian et Ubuntu, placent le fichier config.inc.php dans/etc/phpmyadmin et non pas avec le reste des sources de phpMyAdmin.

Avertissement : À l’attention des utilisateurs Mac ayant une version antérieure à Mac OS X : PHP ne semble pasapprécier les caractères de fin de ligne Mac (\r). Aussi, assurez-vous de choisir l’option qui autorise l’utilisationdes caractères de fin de ligne *nix (\n) dans votre éditeur de texte avant d’enregistrer un script que vous avezmodifié.

4.1 Configuration de base

$cfg['PmaAbsoluteUri']

Type chaîne

29

Page 36: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Default value ''

Modifié dans la version 4.6.5 : Ce paramètre n’était plus disponible dans phpMyAdmin 4.6.0 - 4.6.4.Définissez ici l”URL complète (avec le chemin d’accès complet) du répertoired’installation de votre phpMyAdmin. C’est-à-dire https://www.exemple.net/chemin_vers_votre_repertoire_phpMyAdmin/. Veuillez noter également que l”URL sur laplupart des serveurs Web est sensible à la casse (même sous Windows). N’oubliez pas la barre oblique (« / »)final pour votre URL.À partir de la version 2.3.0, il est conseillé d’essayer de laisser ce paramètre à blanc. Dans la plupart des cas,phpMyAdmin détecte automatiquement le paramètre approprié. Les utilisateurs de « port forwarding » ou deconfiguration de reverse-proxy complexes pourraient avoir besoin de modifier ceci.Un bon test est de parcourir une table, d’éditer une ligne et de l’enregistrer. Vous devriez obtenir un messaged’erreur si phpMyAdmin rencontre des problèmes pour détecter automatiquement la bonne valeur. Si vousobtenez une erreur indiquant que ce paramètre doit être défini ou que le code d’auto-détection échoue à trouvervotre chemin d’accès, veuillez poster un rapport de bogue sur notre outils de suivi de bogues pour que nousaméliorions le code.Voir aussi :1.40 Quand j’accède à phpMyAdmin via un serveur mandataire inversé Apache, le cookie de connexion nefonctionne pas., 2.5 Chaque fois que je veux insérer ou modifier un enregistrement ou supprimer une basede données ou une table, une erreur 404 (page introuvable) est affichée ; ou, avec l’authentification HTTP oupar cookie, on me demande de me reconnecter. Qu’est-ce qui ne va pas ?, 4.7 La fenêtre d’authentificationest affichée plus d’une fois, pourquoi ?, 5.16 Avec Internet Explorer, j’obtiens des erreurs JavaScript « Accèsrefusé ». Ou je n’arrive pas à faire fonctionner phpMyAdmin sous Windows.

$cfg['PmaNoRelation_DisableWarning']

Type booléen

Default value false

À partir de la version 2.3.0 phpMyAdmin offre beaucoup de fonctionnalités pour travailler avec les tables maîtres/ de référence (voir $cfg['Servers'][$i]['pmadb']).Si vous avez essayé de le paramétrer et qu’il ne fonctionne pas pour vous, regardez la page Structure d’une basede données où vous voudriez l’utiliser. Vous trouverez alors un lien qui analysera pourquoi ces fonctionnalitésont été désactivées.Si vous ne voulez pas utiliser ces fonctionnalités, mettez cette variable à TRUE pour empêcher ce messaged’apparaître.

$cfg['AuthLog']

Type chaîne

Default value 'auto'

Nouveau dans la version 4.8.0 : Ceci est géré depuis phpMyAdmin 4.8.0.Configuration de l’emplacement des journaux d’authentification. Les tentatives d’authentification ayant échoué(ou toutes les tentatives en fonction de $cfg['AuthLogSuccess']) seront enregistrées selon cette direc-tive :

auto Laisser phpMyAdmin choisir automatiquement entre syslog et php.

syslog La journalisation utilisant syslog avec la fonctionnalité AUTH se trouve dans /var/log/auth.log sur la plupart des systèmes.

php Journalisation dans le fichier d’erreur de PHP.

sapi Journalisation dans le fichier journal de PHP SAPI.

/chemin/du/fichier Toute autre valeur est considérée comme un nom de fichier et les entrées de journalsont écrites ici.

30 Chapitre 4. Configuration

Page 37: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Note : Pour la journalisation vers un fichier, assurez-vous que les permissions soient correctement défi-nies pour l’utilisateur du serveur Web. La configuration suivra précisément les instructions décrites dans$cfg['TempDir'] :

$cfg['AuthLogSuccess']

Type booléen

Default value false

Nouveau dans la version 4.8.0 : Ceci est géré depuis phpMyAdmin 4.8.0.Pour indiquer de consigner les tentatives d’authentification réussies dans $cfg['AuthLog'].

$cfg['SuhosinDisableWarning']

Type booléen

Default value false

Un avertissement est affiché sur la page principale si Suhosin est détecté.Vous pouvez passer cette variable à true pour empêcher ce message d’apparaître.

$cfg['LoginCookieValidityDisableWarning']

Type booléen

Default value false

Un avertissement est affiché sur la page principale si le paramètre PHP session.gc_maxlifetime est inférieur à ladurée de validité du cookie configuré dans phpMyAdmin.Vous pouvez passer cette variable à true pour empêcher ce message d’apparaître.

$cfg['ServerLibraryDifference_DisableWarning']

Type booléen

Default value false

Obsolète depuis la version 4.7.0 : Ce réglage a été retiré car l’avertissement a aussi été retiré.Un avertissement est affiché sur la page principale s’il y a une différence entre la bibliothèque MySQL et laversion du serveur.Vous pouvez passer cette variable à true pour empêcher ce message d’apparaître.

$cfg['ReservedWordDisableWarning']

Type booléen

Default value false

Cet avertissement est affiché sur la page Structure d’une table si un ou plusieurs noms de colonnes correspondentà des mots réservés de MySQL.Si vous voulez désactiver cet avertissement, vous pouvez le définir à true et celui-ci ne sera plus affiché.

$cfg['TranslationWarningThreshold']

Type entier

Default value 80

Affiche un avertissement sur les traductions incomplètes à partir d’un certain seuil.

$cfg['SendErrorReports']

Type chaîne

Default value 'ask'

4.1. Configuration de base 31

Page 38: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Définir le comportement par défaut pour les rapports d’erreur JavaScript.Quand une erreur est détectée dans l’exécution de JavaScript. Un rapport d’erreur peut être envoyé à l’équipe dephpMyAdmin si l’utilisateur y consent.Le paramètre par défaut 'ask' demandera chaque fois à l’utilisateur s’il y a un nouveau rapport d’erreur.Cependant, vous pouvez définir ce paramètre à 'always' pour envoyer un rapport d’erreur sans demander deconfirmation ou à 'never' pour ne jamais envoyer de rapports d’erreur.Cette directive est disponible à la fois dans le fichier de configuration et dans les préférences utilisateur. Sila personne responsable d’une installation mutli-utilisateur préfère désactiver cette fonctionnalités pour tousles utilisateurs, la valeur 'never' doit être définie etla directive $cfg['UserprefsDisallow'] doitcontenir 'SendErrorReports' dans un de ses tableaux de valeurs.

$cfg['ConsoleEnterExecutes']

Type booléen

Default value false

Ce paramétrage réglé sur true permet à l’utilisateur d’exécuter des requêtes en appuyant sur Entrée au lieu deCtrl + Entrée. Une nouvelle ligne peut être insérée en appuyant sur Maj + Entrée.Le comportement de la console peut être temporairement modifié en utilisant l’interface des paramètres de laconsole.

$cfg['AllowThirdPartyFraming']

Type booléen

Default value false

En définissant ceci à true, cela permet à phpMyAdmin d’être inclus à l’intérieur d’un cadre, et cela représenteun trou potentiel de sécurité pour les attaques de script inter-cadre (cross-frame) ou par clickjacking.

4.2 Paramètres de connexion au serveur

$cfg['Servers']

Type array

Default value un tableau de serveur avec les paramètres listés ci-dessous

Depuis la version 1.4.2, phpMyAdmin gère l’administration de plusieurs serveurs MySQL. Par conséquent, untableau $cfg['Servers'] a été ajouté qui contient les informations de connexions pour les différents ser-veurs. Le premier $cfg['Servers'][$i]['host'] contient le nom d’hôte du premier serveur, le second$cfg['Servers'][$i]['host'] le nom d’hôte du second serveur, etc. Dans le fichier libraries/config.default.php, il n’y a qu’une section pour la définition du serveur, cependant vous pouvez enmettre autant que vous le voulez dans le fichier config.inc.php ; copier ce bloc ou d’autres parties néces-saires (il n’est pas utile de définir tous les paramètres, seulement ceux que vous avez besoin de changer).

Note : Le tableau $cfg['Servers'] commence par $cfg[“Servers”][1]. N’utilisez pas $cfg[“Servers”][0].Si vous voulez plus d’un serveur, copiez simplement la section suivante (en incrémentant $i) plusieurs fois. Iln’est pas utilise de renseigner tous les paramètres, ne renseignez que ceux que vous avez besoin de changer.

$cfg['Servers'][$i]['host']

Type chaîne

Default value 'localhost'

Le nom d’hôte ou l’adresse IP du $i-ème serveur MySQL. Par ex. localhost.Les valeurs autorisées sont :— nom d’hôte, par exemple, 'localhost' ou encore 'mabdd.exemple.org'— adresse IP, par exemple, '127.0.0.1' ou encore '192.168.10.1'

32 Chapitre 4. Configuration

Page 39: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— adresse IPv6, par exemple, 2001:cdba:0000:0000:0000:0000:3257:9652— point - '.', c’est-à-dire, utiliser les canaux nommés sur les systèmes Windows— vide - '', désactive ce serveur

Note : Le nom d’hôte localhost est spécialement pris en charge par MySQL qui utilise un protocole deconnexion basé sur socket. Pour exploiter un adressage TCP/IP, utiliser une adresse IP ou un nom d’hôtecomme 127.0.0.1 ou db.example.com. Il est possible de configurer le chemin vers le socket avec$cfg['Servers'][$i]['socket'].

Voir aussi :$cfg['Servers'][$i]['port'], <https://dev.mysql.com/doc/refman/5.7/en/connecting.html>

$cfg['Servers'][$i]['port']

Type chaîne

Default value ''

Le numéro de port du $i-ème serveur MySQL. Ce numéro est 3306 par défaut (laisser vide pour utiliser la valeurpar défaut).

Note : Si vous utilisez localhost comme nom d’hôte, MySQL ignore ce numéro de port et se connecte avecle socket, donc, si vous voulez vous connecter avec un port différent de celui par défaut, utilisez 127.0.0.1ou le nom d’hôte réel dans $cfg['Servers'][$i]['host'].

Voir aussi :$cfg['Servers'][$i]['host'], <https://dev.mysql.com/doc/refman/5.7/en/connecting.html>

$cfg['Servers'][$i]['socket']

Type chaîne

Default value ''

Le chemin vers le socket à utiliser. Laisser à vide pour utiliser le chemin par défaut. Pour déterminer le bonsocket, vérifiez votre configuration MySQL ou, en utilisant la ligne de commande mysql, utilisez la commandestatus. Parmi les informations affichées se trouvera le socket utilisé.

Note : Prend effet seulement si $cfg['Servers'][$i]['host'] est défini à localhost.

Voir aussi :$cfg['Servers'][$i]['host'], <https://dev.mysql.com/doc/refman/5.7/en/connecting.html>

$cfg['Servers'][$i]['ssl']

Type booléen

Default value false

Pour activer ou pas une connexion SSL entre phpMyAdmin et le serveur MySQL pour sécuriser la connexion.En utilisant l’extension 'mysql', aucune des options de configuration 'ssl...' restantes ne s’applique.Nous vous recommandons vivement d’utiliser l’extension 'mysqli' pour l’utilisation de cette option.Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQL avecSSL, $cfg['Servers'][$i]['ssl_key'], $cfg['Servers'][$i]['ssl_cert'],$cfg['Servers'][$i]['ssl_ca'], $cfg['Servers'][$i]['ssl_ca_path'],$cfg['Servers'][$i]['ssl_ciphers'], $cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_key']

Type chaîne

4.2. Paramètres de connexion au serveur 33

Page 40: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Default value NULLChemin d’accès vers le fichier de certificat (key) client lors de l’utilisation de SSL pour la connexion au serveurMySQL. Ceci est utilisé pour authentifier le client au serveur.Par exemple :

$cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';

Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQLavec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_cert'],$cfg['Servers'][$i]['ssl_ca'], $cfg['Servers'][$i]['ssl_ca_path'],$cfg['Servers'][$i]['ssl_ciphers'], $cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_cert']Type chaîneDefault value NULL

Chemin d’accès vers le fichier de certificat client lors de l’utilisation de SSL pour la connexion au serveurMySQL. Ceci est utilisé pour authentifier le client au serveur.Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQLavec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_ca'], $cfg['Servers'][$i]['ssl_ca_path'],$cfg['Servers'][$i]['ssl_ciphers'], $cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_ca']Type chaîneDefault value NULL

Chemin d’accès vers le fichier de certificat (CA) lors de l’utilisation de SSL pour la connexion au serveurMySQL.Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQLavec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_cert'], $cfg['Servers'][$i]['ssl_ca_path'],$cfg['Servers'][$i]['ssl_ciphers'], $cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_ca_path']Type chaîneDefault value NULL

Répertoire contenant les certificats SSL CA (autorité de certification) approuvés au format PEM.Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQLavec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_cert'], $cfg['Servers'][$i]['ssl_ca'],$cfg['Servers'][$i]['ssl_ciphers'], $cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_ciphers']Type chaîneDefault value NULL

Liste des chiffrements SSL disponibles pour les connexions au serveur MySQL.Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQLavec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_cert'], $cfg['Servers'][$i]['ssl_ca'],$cfg['Servers'][$i]['ssl_ca_path'], $cfg['Servers'][$i]['ssl_verify']

34 Chapitre 4. Configuration

Page 41: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Servers'][$i]['ssl_verify']

Type booléen

Default value trueNouveau dans la version 4.6.0 : Ceci est géré depuis phpMyAdmin 4.6.0.Si votre installation PHP utilise le pilote natif de MySQL (mysqlnd), que votre serveur MySQL est en version5.6 ou supérieure et que votre certificat SSL est auto-signé, il y a des chances que votre connexion SSL échoueen raison de la validation. Définir ceci à false désactivera la vérification de validation.Depuis PHP 5.6.0, il vérifie aussi si le nom du serveur correspond au CN de son certificat. Il n’existe actuellementaucun moyen de désactiver uniquement cette vérification sauf à désactiver totalement la vérification SSL.

Avertissement : Désactiver la vérification du certificat SSL Rend inutile l’utilisation de SSL. Ceci rendrala connexion vulnérable à des attaque de type « man in the middle ».

Note : Cette étiquette ne fonctionne qu’avec PHP 5.6.16 ou supérieur.

Voir aussi :Utilisation de SSL pour la connexion au serveur de base de données, Google Cloud SQLavec SSL, $cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_cert'], $cfg['Servers'][$i]['ssl_ca'],$cfg['Servers'][$i]['ssl_ca_path'], $cfg['Servers'][$i]['ssl_ciphers'],$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['connect_type']

Type chaîne

Default value 'tcp'

Obsolète depuis la version 4.7.0 : Ce réglage n’est plus utilisé à aprtir de la version 4.7.0, depuis queMySQL a décidé du type de connexion basé sur l’hôte. Merci de définir à la place et en conséquence$cfg['Servers'][$i]['host'].Quel type de connexion utiliser avec le serveur MySQL. Vos choix sont 'socket' et 'tcp'. Par défaut, c’est“tcp” parce qu’il est pratiquement sûr qu’il est disponible sur tous les serveurs MySQL, alors que les sockets nesont pas gérés sur certaines plateformes.

$cfg['Servers'][$i]['compress']

Type booléen

Default value falsePour utiliser ou non un protocole compressé pour la connexion au serveur MySQL (expérimental).

$cfg['Servers'][$i]['controlhost']

Type chaîne

Default value ''

Permet d’utiliser un hôte alternatif pour la configuration des données de stockage.Voir aussi :$cfg['Servers'][$i]['control_*']

$cfg['Servers'][$i]['controlport']

Type chaîne

Default value ''

Permet d’utiliser un port alternatif pour accéder à l’hôte contenant la configuration du stockage.Voir aussi :$cfg['Servers'][$i]['control_*']

4.2. Paramètres de connexion au serveur 35

Page 42: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Servers'][$i]['controluser']

Type chaîne

Default value ''

$cfg['Servers'][$i]['controlpass']

Type chaîne

Default value ''

Ce compte spécial est utilisé pour accéder aux Configuration de stockage de phpMyAdmin. Vous n’en avez pasbesoin dans le cas d’un utilisateur unique, mais si phpMyAdmin est partagé, il est recommandé de donner accèsaux Configuration de stockage de phpMyAdmin seulement à cet utilisateur et de configurer phpMyAdmin pourl’utiliser. Tous les utilisateurs seront alors capables d’utiliser les fonctionnalités sans avoir d’accès direct auxConfiguration de stockage de phpMyAdmin.Modifié dans la version 2.2.5 : ceux-ci étaient appelés stduser et stdpassVoir aussi :Installation, Utiliser les modes d’authentification :, Configuration de stockage de phpMyAd-min, $cfg['Servers'][$i]['pmadb'], $cfg['Servers'][$i]['controlhost'],$cfg['Servers'][$i]['controlport'], $cfg['Servers'][$i]['control_*']

$cfg['Servers'][$i]['control_*']

Type mixte

Nouveau dans la version 4.7.0.Vous pouvez modifier tout paramètre de connexion MySQL pour le lien de contrôle (utilisé pour accéder auxConfiguration de stockage de phpMyAdmin) en utilisant la configuration préfixée avec control_.Ceci peut être utilisé pour modifier tout aspect du contrôle de connexion, qui utilise par défaut les mêmesparamètres que ceux de l’utilisateur.Par exemple, vous pouvez configurer SSL pour le contrôle de connexion :

// Enable SSL$cfg['Servers'][$i]['control_ssl'] = true;// Client secret key$cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem';// Client certificate$cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem';// Server certification authority$cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';

Voir aussi :$cfg['Servers'][$i]['ssl'], $cfg['Servers'][$i]['ssl_key'],$cfg['Servers'][$i]['ssl_cert'], $cfg['Servers'][$i]['ssl_ca'],$cfg['Servers'][$i]['ssl_ca_path'], $cfg['Servers'][$i]['ssl_ciphers'],$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['auth_type']

Type chaîne

Default value 'cookie'

Définit le mode d’authentification config, cookie, signon ou HTTP qui sera utilisé sur le serveur.— l’authentification “config” ($auth_type = 'config') est la bonne vieille méthode : nom d’utilisateur

et mot de passe sont stockés dans config.inc.php.— La méthode d’authentification par cookie ($auth_type = 'cookie') permet de se connecter comme

un utilisateur MySQL valide à l’aide des cookies.— La méthode d’authentification “http” permet de se connecter comme un utilisateur MySQL valide à l’aide

de HTTP-Auth.

36 Chapitre 4. Configuration

Page 43: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Le mode d’authentification “signon” ($auth_type = 'signon') permet de se connecter en utilisantdes données de session PHP préparée ou en utilisant le script PHP fourni.

Voir aussi :Utiliser les modes d’authentification :

$cfg['Servers'][$i]['auth_http_realm']

Type chaîne

Default value ''

En utilisant l’authentification auth_type = http, ce champ permet de définir un flux d’authentification HTTPbasique personnalisé qui sera affiché à l’utilisateur. Si ce n’est pas explicitement spécifié dans votre configu-ration, une chaîne combinée de « phpMyAdmin » et soit de $cfg['Servers'][$i]['verbose'] ou$cfg['Servers'][$i]['host'] sera utilisée.

$cfg['Servers'][$i]['user']

Type chaîne

Default value 'root'

$cfg['Servers'][$i]['password']

Type chaîne

Default value ''

En utilisant $cfg['Servers'][$i]['auth_type'] défini à “config”, c’est la paire utilisateur/mot depasse qu’utilisera phpMyAdmin pour se connecter au serveur MySQL. Cette paire utilisateur/mot de passe n’estpas nécessaire quand les modes d’authentification HTTP ou cookie sont utilisés, et doit rester vide.

$cfg['Servers'][$i]['nopassword']

Type booléen

Default value false

Obsolète depuis la version 4.7.0 : Ce paramètre a été supprimé car il peut produire des résultats inattendus.Permet d’essayer de se connecter sans mot de passe quand la connexion avec mot de passe a échoué. Ceci peutêtre utilisé en conjonction avec l’authentification http, quand l’authentification est faite par d’autres moyenset que phpMyAdmin obtient le nom d’utilisateur à partir de auth et utilise un mot de passe « vide » pour seconnecter à MySQL. La connexion par mot de passe est d’abord essayée, mais ensuite, en moyen de secours,aucune méthode par mot de passe n’est essayée.

$cfg['Servers'][$i]['only_db']

Type chaîne ou tableau

Default value ''

S’il est indiqué un nom de base de données (ou un tableau de noms de bases de données), seule(s) cette (ces)base(s) sera (seront) affichée(s) à l’utilisateur. Depuis la version 2.2.1 de phpMyAdmin, ce(s) nom(s) de base(s)de données peuvent contenir des méta-caractères MySQL (« _ » et « % ») : si vous voulez utiliser des ins-tances littérales de ces caractères, utilisez des séquences d’échappement (c’est-à-dire écrivez 'ma\_bdd' etpas 'ma_bdd').Ce paramétrage est un moyen efficace de diminuer la charge du serveur puisque ce dernier n’a pas besoin d’en-voyer des requêtes MySQL pour construire la liste des bases de données disponibles. Mais cela ne remplacerapas les règles de privilèges sur le serveur de base de données MySQL. S’il est utilisé, cela signifie seulementque seules ces bases de données seront affichées, mais pas que toutes les autres bases de données ne pourrontpas être utilisées.Un exemple d’utilisation de plus d’une base de données :

$cfg['Servers'][$i]['only_db'] = array('db1', 'db2');

Modifié dans la version 4.0.0 : Les versions précédentes permettaient d’indiquer l’ordre d’affichage des nomsde bases de données à l’aide de cette directive.

4.2. Paramètres de connexion au serveur 37

Page 44: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Servers'][$i]['hide_db']

Type chaîne

Default value ''

Expression régulière pour masquer certaines bases pour les utilisateurs sans privilèges. Ceci ne les masque quepour le listage, l’utilisateur est toujours capable d’y accéder (en utilisant par exemple la zone de requête SQL).Pour limiter l’accès, utiliser le système de privilège de MySQL. Par exemple, pour masquer toutes les bases dedonnées commençant par la lettre « a », utiliser :

$cfg['Servers'][$i]['hide_db'] = '^a';

et pour masquer les bases de données « db1 » et « db2 », utiliser

$cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';

Vous pourrez trouver plus d’informations sur les expressions régulières dans la section syntaxe de motif PCREdans le manuel de référence de PHP.

$cfg['Servers'][$i]['verbose']

Type chaîne

Default value ''

Seulement utile si vous utilisez phpMyAdmin avec plusieurs entrées de serveurs. Si elle est définie, cette chaînesera affichée à la place du nom d’hôte dans le menu déroulant de la page principale. Cela peut être utile si vous nevoulez montrer que certaines bases de données sur votre système,par exemple. Pour le mode d’authentificationHTTP, tous les caractères non-US-ASCII seront enlevés.

$cfg['Servers'][$i]['extension']

Type chaîne

Default value 'mysqli'

L’extension PHP MySQL à utiliser (mysql ou mysqli).Il est recommandé d’utiliser l’extension 'mysqli' pour toutes les installations.

$cfg['Servers'][$i]['pmadb']

Type chaîne

Default value ''

Le nom de la base de données contenant la configuration de stockage de phpMyAdmin.Voir la section Configuration de stockage de phpMyAdmin dans ce document pour voir les avantages de cettefonctionnalité, ainsi qu’une manière rapide de créer cette base de données et les tables nécessaires.Si vous êtes le seul utilisateur de cette installation phpMyAdmin, vous pouvez utiliser votre base de donnéescourante pour stocker ces tables spéciales ; dans ce cas, mettez juste le nom de votre base de données dans$cfg['Servers'][$i]['pmadb']. Pour une installation multi-utilisateurs, renseigner ce paramètre avecle nom de votre base de données centrale contenant la configuration de stockage de phpMyAdmin.

$cfg['Servers'][$i]['bookmarktable']

Type chaîne ou false

Default value ''

Depuis la version 2.2.0, phpMyAdmin permet aux utilisateurs la mise en signets (favoris) des requêtes. Celapeut être utile pour les requêtes que vous utilisez souvent. Pour permettre l’utilisation de cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— saisir le nom de la table dans $cfg['Servers'][$i]['bookmarktable']Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['relation']

Type chaîne ou false

38 Chapitre 4. Configuration

Page 45: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Default value ''

Depuis la version 2.2.4, vous pouvez décrire, dans une table spéciale « relation », quel colonne est une clé pourune autre table (une clé étrangère). phpMyAdmin utilise actuellement cela pour :— rendre cliquable, quand vous affichez la table maître, les valeurs des données qui pointent vers une table

étrangère ;— afficher dans une info-bulle optionnelle « Afficher la colonne » lors du parcours de la table maître, si vous

déplacez la souris sur une colonne contenant une clé étrangère (utilise aussi la table “table_info”) ; (voir 6.7Comment puis-je utiliser la fonctionnalité « Colonnes à afficher » ?)

— en mode modification/insertion, afficher une liste déroulante des clés étrangères disponibles (la valeur de laclé et le champ d’affichage sont indiqués) (voir 6.21 En mode modifier/insérer, comment puis-je voir uneliste des valeurs possibles pour une colonne, basée sur une table étrangère ?)

— afficher les liens dans la page de propriétés de la table, pour vérifier l’intégrité référentielle (affiche les clésétrangères manquantes) pour chaque clé décrite ;

— dans Query-by-example, créer des jointures automatiques (voir la section 6.6 Comment puis-je utiliser latable relation dans Query-by-example ?)

— vous permettre d’obtenir un schéma PDF de votre base de données (utilise également la table table_coords).Les clés peuvent être numériques ou alphanumériques.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table de relation dans $cfg['Servers'][$i]['relation']— puis, en tant qu’utilisateur normal, ouvrir phpMyAdmin et pour chacune de vos tables où vous voulez utiliser

cette fonctionnalité, cliquer sur Structure/Gestion des relations/ et choisir les colonnes étrangers.Cette fonctionnalité peut être désactivée en définissant la configuration à false.

Note : Veuillez noter que dans la version actuelle, master_db doit être identique à foreign_db. Ceschamps ont été prévus pour le développement futur de relations inter-bases.

$cfg['Servers'][$i]['table_info']

Type chaîne ou false

Default value ''

Depuis la version 2.3.0, vous pouvez décrire dans une table spéciale « table_info », quel colonne doit êtreaffichée comme info-bulle en déplaçant le curseur sur la clé correspondante. Pour permettre l’utilisation de cettefonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['table_info'] (par ex.

pma__table_info)— ensuite, pour chaque table pour laquelle vous voulez utiliser cette fonctionnalité, cliquer sur « Struc-

ture/Gestion des relations/Champ à afficher » pour choisir la colonne.Cette fonctionnalité peut être désactivée en définissant la configuration à false.Voir aussi :6.7 Comment puis-je utiliser la fonctionnalité « Colonnes à afficher » ?

$cfg['Servers'][$i]['table_coords']

Type chaîne ou false

Default value ''

La fonctionnalité de conception peut enregistrer l’agencement de votre page ; en cliquant sur le bouton « En-registrer la page » ou « Enregistrer la page sous » dans le menu de conception, vous pouvez personnaliserl’agencement et le charger automatiquement lors de la prochaine utilisation de la fonctionnalité de conception.L’agencement est stocké dans cette table. De plus, cette table est également nécessaire pour la fonctionnalitéd’export de relation PDF, voir $cfg['Servers'][$i]['pdf_pages'] pour plus de détails.

$cfg['Servers'][$i]['pdf_pages']

4.2. Paramètres de connexion au serveur 39

Page 46: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type chaîne ou falseDefault value ''

Depuis la version 2.3.0, phpMyAdmin peut créer des pages PDF montrant les relations entre vos tables. Deplus, l’interface Concepteur vous permet de gérer visuellement les relations. Pour ce faire, on doit utiliser deuxtables « pdf_pages » (qui stocke les informations sur les pages PDF disponibles) et « table_coords » (qui stockeles coordonnées où chaque table sera placée sur le schéma PDF réalisé). Vous devez utiliser la fonctionnalité «relation ».Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre les noms corrects de tables dans $cfg['Servers'][$i]['table_coords'] et

$cfg['Servers'][$i]['pdf_pages']Cette fonctionnalité peut être désactivée également en définissant la configuration à false.Voir aussi :6.8 Comment puis-je produire un schéma PDF de ma base de données ?.

$cfg['Servers'][$i]['column_info']

Type chaîne ou falseDefault value ''

Cette partie nécessite une mise à jour du contenu ! Depuis la version 2.3.0, vous pouvez stocker des commen-taires pour décrire chaque colonne de chaque table. Ils seront alors visibles dans « Version imprimable ».À partir de la version 2.5.0, les commentaires sont par conséquent utilisés dans les pages de propriété de table etdans la vue afficher la table, apparaissant sous forme d’info-bulle au-dessus du nom de colonne (page propriétés)ou intégrés dans l’en-tête de la vue parcours de table. Ils peuvent aussi être vus dans un fichier d’exportation detable. Veuillez consulter les directives de configuration adéquates plus loin.Une autre nouveauté de la version 2.5.0 est le système de conversion MIME qui est également fondé sur la struc-ture de table suivante. Voir la section Transformations pour plus de renseignements. Pour utiliser le système deconversion MIME, votre table column_info doit contenir les trois nouveaux champs “mimetype”, “transforma-tion”, “transformation_options”.À compter de la version 4.3.0, un nouveau système de transformations orienté saisie a été introduit. Parconséquent, la compatibilité ascendante du code utilisé dans l’ancien système de transformations a été re-tiré. Il est donc nécessaire de mettre à jour la table column_info afin que les anciennes transformations etle nouveau système de transformations orienté saisie fonctionnent. phpMyAdmin la mettra à jour automati-quement en analysant la structure actuelle de votre table column_info. Cependant, si quelque chose se pas-sait mal avec la mise à jour automatique, vous pouvez utiliser le script SQL qui se trouve dans ./sql/upgrade_column_info_4_3_0+.sql pour faire la mise à jour manuellement.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['column_info'] (par ex.

pma__column_info)— pour mettre à jour votre table PRE-2.5.0 Column_comments, utilisez ceci : et souvenez-vous que la variable

dans config.inc.php a été renommée de $cfg['Servers'][$i]['column_comments'] en$cfg['Servers'][$i]['column_info']

ALTER TABLE `pma__column_comments`ADD `mimetype` VARCHAR( 255 ) NOT NULL,ADD `transformation` VARCHAR( 255 ) NOT NULL,ADD `transformation_options` VARCHAR( 255 ) NOT NULL;

— pour mettre à jour votre table PRE-4.3.0 Column_info manuellement, utilisez ce script SQL : ./sql/upgrade_column_info_4_3_0+.sql.

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

Note : Pour que la fonctionnalité de mise à jour automatique fonctionne, votre$cfg['Servers'][$i]['controluser'] doit avoir le privilège ALTER sur la base de données

40 Chapitre 4. Configuration

Page 47: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

phpmyadmin. Consulter la Documentation MySQL au sujet de GRANT pour savoir comment donner leprivilège GRANT à un utilisateur.

$cfg['Servers'][$i]['history']

Type chaîne ou false

Default value ''

Depuis la version 2.5.0, vous pouvez stocker votre historique SQL, ce qui signifie toutes les requêtes que voussaisissez manuellement dans l’interface de phpMyAdmin. Si vous ne voulez pas utiliser un historique stockédans une table, vous pouvez choisir un historique utilisant JavaScript.En utilisant $cfg['QueryHistoryMax'], vous pouvez spécifier le nombre d’entrées de l’historique quevous voulez conserver. À chaque connexion, cette liste est réduite au nombre maximum d’entrées.La requête historique n’est disponible que si JavaScript est activé dans votre navigateur.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table $cfg['Servers'][$i]['history'] (par ex. pma_history)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['recent']

Type chaîne ou false

Default value ''

Depuis la version 3.5.0, vous pouvez afficher les tables récemment utilisées dans le panneau de navigation àgauche. C’est utile pour se rendre directement sur une table sans avoir besoin de la sélectionner dans la base.En utilisant $cfg['NumRecentTables'] vous pouvez configurer le nombre maximum de tables récentesà afficher. En sélectionnant une table dans cette liste, cela vous amènera directement à la page spécifiée dans$cfg['NavigationTreeDefaultTabTable'].Sans configurer le stockage, vous pouvez toujours accéder aux tables récemment utilisées, mais elles disparaî-tront après votre déconnexion.Pour pouvoir utiliser cette fonctionnalité de façon persistante :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['recent'] (par ex. pma__recent)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['favorite']

Type chaîne ou false

Default value ''

Depuis la version 4.2.0, vous pouvez afficher la liste des tables sélectionnées dans le panneau de navi-gation à gauche. C’est utile pour se rendre directement sur une table sans avoir besoin sélectionner labase, puis la table. Quand vous sélectionnez une table dans la liste, cela ira dans la page spécifiée dans$cfg['NavigationTreeDefaultTabTable'].Vous pouvez ajouter ou retirer des tables de cette liste dans la page structure de la base de données en cliquantsur les icônes étoile à côté du nom des tables. En utilisant $cfg['NumFavoriteTables'] vous pouvezdéfinir le nombre maximum de tables favorites à afficher.Sans configurer le stockage, vous pouvez toujours accéder aux tables favorites, mais elles disparaîtront aprèsvotre déconnexion.Pour pouvoir utiliser cette fonctionnalité de façon persistante :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['favorite'] (par ex. pma__favorite)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['table_uiprefs']

Type chaîne ou false

4.2. Paramètres de connexion au serveur 41

Page 48: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Default value ''

Depuis la version 3.5.0, phpMyAdmin peut être configuré pour se rappeler diverses choses (colonne triée$cfg['RememberSorting'], ordre des colonnes et visibilité des colonnes dans une table) pour la na-vigation dans les tables. Sans configurer le stockage, ces fonctionnalités peuvent être utilisées mais les valeursdisparaîtront après votre déconnexion.Pour pouvoir utiliser cette fonctionnalité de façon persistante :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['table_uiprefs'] (par ex.

pma__table_uiprefs)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['users']

Type chaîne ou false

Default value ''

$cfg['Servers'][$i]['usergroups']

Type chaîne ou false

Default value ''

Depuis la version 4.1.0, vous pouvez créer différents groupes d’utilisateurs avec différents éléments de menu.Les utilisateurs peuvent être affectés à ces groupes et lors de leur connexion, ils ne verront que les menus associésaux groupes auxquels ils appartiennent. Pour cela, il faut deux tables : « usergroups » (stockant les éléments demenu autorisés pour chaque groupe) et « users » (stockant les utilisateurs et leur appartenance aux groupes).Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre les noms corrects de table dans $cfg['Servers'][$i]['users'] (par ex. pma__users) et

$cfg['Servers'][$i]['usergroups'] (par ex. pma__usergroups)Cette fonctionnalité peut être désactivée également en définissant la configuration à false.Voir aussi :Menus et groupes utilisateurs configurables

$cfg['Servers'][$i]['navigationhiding']

Type chaîne ou false

Default value ''

Depuis la version 4.1.0, vous pouvez masquer/afficher les éléments dans l’arbre de navigation.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['navigationhiding'] (par ex.

pma__navigationhiding)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['central_columns']

Type chaîne ou false

Default value ''

Depuis la version 4.3.0, vous pouvez avoir une liste centrale des colonnes par base de données. Vous pouvezajouter/retirer des colonnes à la liste selon votre convenance. Ces colonnes de la liste centrale seront disponibleslorsque vous créerez une nouvelle colonne pour une table ou une nouvelle table. Vous pouvez sélectionner unecolonne de la liste centrale lors de la création d’une nouvelle colonne. Cela vous épargnera de saisir la mêmedéfinition de colonne encore et encore, ou de saisir des noms différents pour des colonnes similaires.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['central_columns'] (par ex.

pma__central_columns)

42 Chapitre 4. Configuration

Page 49: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['designer_settings']

Type chaîne ou false

Default value ''

Depuis la version 4.5.0 les paramètres de votre concepteur peuvent être mémorisés. Votre choix concernant «Liens angulaires / Liens directs », « Accrocher à la grille », « Basculement des lignes de relations », « Agrandir/ Réduire tout », « Déplacer le menu » et « Épingler le texte » peut être mémorisé de manière persistante.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— ajoutez le nom de la table dans $cfg['Servers'][$i]['designer_settings'] (par ex.

pma__designer_settings)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['savedsearches']

Type chaîne ou false

Default value ''

Depuis la version 4.2.0, vous pouvez enregistrer et charger des requêtes « query-by-example » à partir du menuBase de données > Panneau de requêtes.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['savedsearches'] (par ex.

pma__savedsearches)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['export_templates']

Type chaîne ou false

Default value ''

Depuis la version 4.5.0, vous pouvez enregistrer et charger des modèles d’exportation.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['export_templates'] (par ex.

pma__export_templates)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['tracking']

Type chaîne ou false

Default value ''

Depuis la version 3.3.x, un mécanisme de suivi est disponible. Il vous aide à suivre toutes les commandesSQL exécutées par phpMyAdmin. Le mécanisme gère la journalisation de la manipulation de données et lesdéclarations de définition de données. Après son activation, vous pouvez créer des versions de tables.La création d’une version a deux effets :— phpMyAdmin enregistre un cliché de la table, y compris sa structure et ses index.— phpMyAdmin journalise toutes les commandes qui modifie la structure et/ou les données de la table et lie

ces commandes au numéro de la version.Bien sûr, vous pouvez voir les modifications suivies. Dans la page Tracking, un rapport complet est disponiblepour chaque version. Pour le rapport, vous pouvez utiliser des filtres, par exemple, vous pouvez obtenir une listedes déclarations dans un intervalle de temps donné. Si vous voulez filtrer les noms d’utilisateurs, vous pouvezsaisir « * » pour tous les noms ou une liste de nom séparés par des virgules (« , »). De plus, vous pouvez exporterle rapport (filtré) dans un fichier ou une base de données temporaire.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin

4.2. Paramètres de connexion au serveur 43

Page 50: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— mettre le nom de la table dans $cfg['Servers'][$i]['tracking'] (par ex. pma__tracking)Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['tracking_version_auto_create']

Type booléen

Default value false

Définit si le mécanisme de suivi crée automatiquement des versions pour les tables et les vues.Si ceci est défini à « true » et que vous créez une table ou une vue avec— CREATE TABLE . . .— CREATE VIEW . . .et qu’il n’existe pas de version pour celle-ci, le mécanisme de suivi créera automatiquement une version pourvous.

$cfg['Servers'][$i]['tracking_default_statements']

Type chaîne

Default value 'CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,CREATEINDEX,DROP INDEX,INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,CREATEVIEW,ALTER VIEW,DROP VIEW,CREATE DATABASE,ALTER DATABASE,DROPDATABASE'

Définit la liste des instructions que le mécanisme d’auto-création utilise pour les nouvelles versions.

$cfg['Servers'][$i]['tracking_add_drop_view']

Type booléen

Default value true

Si une instruction DROP VIEW IF EXISTS sera ajoutée en première ligne dans le journal lors de la création dela vue.

$cfg['Servers'][$i]['tracking_add_drop_table']

Type booléen

Default value true

Si une instruction DROP TABLE IF EXISTS sera ajoutée en première ligne du journal lors de la création d’unetable.

$cfg['Servers'][$i]['tracking_add_drop_database']

Type booléen

Default value true

Si une instruction DROP DATABASE IF EXISTS sera ajoutée en première ligne du journal lors de la créationd’une base de données.

$cfg['Servers'][$i]['userconfig']

Type chaîne ou false

Default value ''

Depuis la version 3.4.x, phpMyAdmin permet aux utilisateurs de définir eux-mêmes la plupart des préférenceset de les stocker en base de données.Si vous n’autorisez pas le stockage des préférences dans $cfg['Servers'][$i]['pmadb'], les utilisa-teurs pourront quand même personnaliser phpMyAdmin, mais les paramètres seront enregistrés dans le stockagelocal du navigateur, ou, si indisponible, jusqu’à la fin de la session.Pour pouvoir utiliser cette fonctionnalité :— paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin— mettre le nom de la table dans $cfg['Servers'][$i]['userconfig']Cette fonctionnalité peut être désactivée en définissant la configuration à false.

44 Chapitre 4. Configuration

Page 51: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Servers'][$i]['MaxTableUiprefs']

Type entier

Default value 100

Nombre maximum de lignes enregistrées dans la table $cfg['Servers'][$i]['table_uiprefs'].Quand les tables sont supprimées ou renommées, $cfg['Servers'][$i]['table_uiprefs'] peutcontenir des données invalides (se référant à des tables qui n’existent plus). Nous ne conservons que ce nombredes lignes les plus récentes dans $cfg['Servers'][$i]['table_uiprefs'] et supprimons automa-tiquement les lignes plus anciennes.

$cfg['Servers'][$i]['SessionTimeZone']

Type chaîne

Default value ''

Définit le fuseau horaire utilisé par phpMyAdmin. Laisser vide pour utiliser le fuseau horaire de votre ser-veur de base de données. Les valeurs autorisées sont expliquées dans https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.htmlCeci est utile quand votre serveur de base de données utilise un fuseau horaire différent de celui que vous voulezutiliser dans phpMyAdmin.

$cfg['Servers'][$i]['AllowRoot']

Type booléen

Default value true

Autoriser ou non un accès à la racine. Il s’agit seulement d’un raccourci pour les règles$cfg['Servers'][$i]['AllowDeny']['rules'] ci-dessous.

$cfg['Servers'][$i]['AllowNoPassword']

Type booléen

Default value false

Permet d’autoriser les connexions sans mot de passe. La valeur par défaut est false pour ce paramètre, ce quiempêche les accès non voulus à un serveur MySQL pour lequel le mot de passe root est vide ou pour lequel unutilisateur anonyme (vide) a été défini.

$cfg['Servers'][$i]['AllowDeny']['order']

Type chaîne

Default value ''

Si votre règle « order » est vide, alors l’autorisation IP est désactivée.Si votre règle « order » est définie à 'deny,allow' alors le système applique toutes les règles « deny » puisles règles « allow ». L’accès est autorisé par défaut. Tout client qui ne répondrait pas à une commande « deny »ou « allow » sera autorisé à accéder au serveur.Si votre règle « order » est définie à 'allow,deny' alors le système applique toutes les règles « allow » puisles règles « deny ». L’accès est refusé par défaut. Tout client qui ne répondrait pas à une directive « allow » ou« deny » se verra refuser l’accès au serveur.Si votre règle « order » est définie à 'explicit', l’authentification est réalisée de manière similaire à larègle “deny,allow”, avec en plus la restriction que la combinaison de votre hôte/nom d’utilisateur doit êtreprésente dans les règles « allow », et pas dans les règles « deny ». C’est le moyen le plus sûr d’utiliser les règlesallow/deny, et qui est employé pour Apache pour spécifier les règles allow et deny sans définir d’ordre.Veuillez également consulter $cfg['TrustedProxies'] pour la détection d’adresse IP derrière des ser-veurs mandataires.

$cfg['Servers'][$i]['AllowDeny']['rules']

Type tableau chaînes

Default value array()

4.2. Paramètres de connexion au serveur 45

Page 52: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Le format général des règles est le suivant :

<'allow' | 'deny'> <username> [from] <ipmask>

Si vous voulez que cela concerne tous les utilisateurs, il est possible d’utiliser un symbole '%' comme méta-caractère dans le champ username.Il y a quelques raccourcis que vous pouvez utiliser dans le champ ipmask (notez que ceux contenant SER-VER_ADDRESS ne sont pas disponibles sur tous les serveurs web) :

'all' -> 0.0.0.0/0'localhost' -> 127.0.0.1/8'localnetA' -> SERVER_ADDRESS/8'localnetB' -> SERVER_ADDRESS/16'localnetC' -> SERVER_ADDRESS/24

Avoir une liste de règles vide est équivalent à l’utilisation de 'allow % from all' si l’ordre de votre règleest définie à 'deny,allow' ou 'deny % from all' si l’ordre de votre règle est définie à 'allow,deny' ou 'explicit'.Pour le système de concordance IP address, ce qui suit fonctionne :— xxx.xxx.xxx.xxx (une adresse IP exacte)— xxx.xxx.xxx.[yyy-zzz] (une plage d’adresses IP)— xxx.xxx.xxx.xxx/nn (CIDR, adresses IP de type Classless Inter-Domain Routing – routage inter-

domaine sans classe)Mais ce qui suit ne fonctionne pas :— xxx.xxx.xxx.xx[yyy-zzz] (plage partielle d’adresses IP)Pour les adresses IPv6, ce qui suit fonctionne :— xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (une adresse IPv6 exacte)— xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] (une plage d’adresses IPv6)— xxxx.xxxx.xxxx.xxxx/nn (CIDR, adresses IPv6 de type Classless Inter-Domain Routing – routage

inter-domaine sans classe)Mais ce qui suit ne fonctionne pas :— xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] (plage partielle d’adresses IPv6)

$cfg['Servers'][$i]['DisableIS']

Type booléen

Default value falseDésactiver en utilisant INFORMATION_SCHEMA pour retrouver les informations (utiliser des commandesSHOW à la place), à cause de problèmes de performances quand il y a beaucoup de bases de données.

Note : Activer cette option pourrait donner un gain de performance notable sur les serveurs MySQL plusanciens.

$cfg['Servers'][$i]['SignonScript']

Type chaîne

Default value ''

Nouveau dans la version 3.5.0.Le nom du script PHP qui doit être exécuté pour obtenir les crédentiels de connexion. C’est une ap-proche alternative aux sessions basées sur le single signon. Le script doit fournir la fonction appeléeget_login_credentials qui renvoie le nom d’utilisateur et le mot de passe, en acceptant un seul para-mètre d’utilisateur existant (peut être vide). Consulter examples/signon-script.php pour un exemple :

<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//**

46 Chapitre 4. Configuration

Page 53: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

* Single signon for phpMyAdmin

** This is just example how to use script based single signon with

* phpMyAdmin, it is not intended to be perfect code and look, only

* shows how you can integrate this functionality in your application.

** @package PhpMyAdmin

* @subpackage Example

*/

/*** This function returns username and password.

** It can optionally use configured username as parameter.

** @param string $user User name

** @return array

*/function get_login_credentials($user){

/* Optionally we can use passed username */if (!empty($user)) {

return array($user, 'password');}

/* Here we would retrieve the credentials */$credentials = array('root', '');

return $credentials;}

Voir aussi :Mode d’authentification “signon”

$cfg['Servers'][$i]['SignonSession']

Type chaîneDefault value ''

Nom de la session que sera utilisée pour la méthode d’authentification signon. Vous devrez utiliser quelquechose de différent de phpMyAdmin, car c’est le nom de session qu’utilise phpMyAdmin en interne. N’est prisen compte que si $cfg['Servers'][$i]['SignonScript'] n’est pas configuré.Voir aussi :Mode d’authentification “signon”

$cfg['Servers'][$i]['SignonCookieParams']

Type arrayDefault value array()

Nouveau dans la version 4.7.0.Un tableau associatif de paramètres de cookies de session d’autres systèmes d’authentification. Ce n’estpas nécessaire si l’autre système n’utilise pas session_set_cookie_params(). Les clés doivent contenir « life-time », « path », « domain », « secure » ou « httponly ». Les valeurs valides sont mentionnées dans ses-sion_get_cookie_params, et devraientt être définies avec les mêmes valeurs que celles utilisées par l’autre ap-plication. N’a d’effet que si $cfg['Servers'][$i]['SignonScript'] n’est pas configuré.Voir aussi :Mode d’authentification “signon”

4.2. Paramètres de connexion au serveur 47

Page 54: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Servers'][$i]['SignonURL']

Type chaîne

Default value ''

URL où sera redirigé l’utilisateur pour se connecter avec le mode d’authentification “signon”. Doit être absolueet inclure le protocole.Voir aussi :Mode d’authentification “signon”

$cfg['Servers'][$i]['LogoutURL']

Type chaîne

Default value ''

URL où sera redirigé l’utilisateur après la déconnexion (ceci n’affecte pas la mode d’authentification “config”).Doit être absolue et inclure le protocole.

4.3 Paramètres génériques

$cfg['DisableShortcutKeys']

Type booléen

Default value false

Vous pouvez aussi désactiver les raccourcis en définissant à false $cfg['SuhosinDisableWarning'].

$cfg['ServerDefault']

Type entier

Default value 1

Si vous avez plus d’un serveur, vous pouvez définir $cfg['ServerDefault'] sur n’importe lequel d’entreeux pour s’auto-connecter sur celui-ci quand phpMyAdmin est démarré, ou le définir à 0 sur tous les serveurspour avoir une liste de serveurs auxquels se connecter.Si vous n’avez qu’un seul serveur, $cfg['ServerDefault'] DOIT être défini sur ce serveur.

$cfg['VersionCheck']

Type booléen

Default value true

Active la vérification des dernières versions en utilisant JavaScript sur la page principale de phpMyAdmin parun accès direct à version_check.php.

Note : Ce paramètre peut être ajusté par votre vendeur.

$cfg['ProxyUrl']

Type chaîne

Default value»«

L’URL du serveur mandataire à utiliser quand phpMyAdmin doit accéder à Internet comme par exemple pourrécupérer l’information au sujet de la plus récente version de phpMyAdmin ou pour envoyer des rapports d’er-reur. Ceci est nécessaire si le serveur sur lequel phpMyAdmin est installé n’a pas d’accès direct à Internet. Leformat est « nom de serveur :numéro de port »

$cfg['ProxyUser']

Type chaîne

48 Chapitre 4. Configuration

Page 55: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Default value»«

Le code utilisateur pour s’authentifier sur le serveur mandataire. Par défaut, aucune authentification n’est utilisée.Si un code utilisateur est fourni, l’authentification de base sera utilisée. Aucun autre type d’authentification n’estpermis pour le moment.

$cfg['ProxyPass']

Type chaîneDefault value

»«Le mot de passe pour s’authentifier sur le serveur mandataire.

$cfg['MaxDbList']

Type entierDefault value 100

Le nombre maximum de noms de bases de données à afficher dans la liste des bases de données.

$cfg['MaxTableList']

Type entierDefault value 250

Le nombre maximum de tables à afficher dans le panneau principal (sauf sur le panneau Exporter).

$cfg['ShowHint']

Type booléenDefault value true

Affichage ou pas des astuces (par exemple, les astuces lors du survol des en-têtes de tables par la souris).

$cfg['MaxCharactersInDisplayedSQL']

Type entierDefault value 1000

Le nombre maximum de caractères d’une requête SQL à afficher. La limite par défaut de 1000 devrait êtrecorrecte pour éviter l’affichage de tonnes de code hexadécimal représentant des BLOB, mais certains utilisateursont de vraies requêtes SQL qui dépassent 1000 caractères. Également, si la longueur d’une requête excède cettelimite, la requête n’est pas conservée dans l’historique.

$cfg['PersistentConnections']

Type booléenDefault value false

Indique si les connexions persistantes doivent être utilisées ou pas. Fonctionne avec les extensions suivantes :— mysql (mysql_pconnect),— mysqli (nécessite PHP 5.3.0 ou suivantes, plus de détails).

$cfg['ForceSSL']

Type booléenDefault value false

Obsolète depuis la version 4.6.0 : Ce paramètre n’est plus disponible depuis phpMyAdmin 4.6.0. Veuillez adap-ter la configuration de votre serveur Web en conséquence.Pour forcer ou pas l’utilisation de https lors de l’accès à phpMyAdmin. Dans une configuration de proxy inverse,paramétrer ceci à true n’est pas pris en charge.

Note : Dans certaines configurations comme un proxy SSL séparé ou un équilibreur de charge (load balancer)vous pourriez avoir besoin de définir $cfg['PmaAbsoluteUri'] pour avoir une redirection correcte.

4.3. Paramètres génériques 49

Page 56: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['ExecTimeLimit']

Type entier [nombre de secondes]

Default value 300

Définit le nombre de secondes pendant lequel un script est autorisé à s’exécuter. Si ce chiffre est zéro, aucunelimite de temps n’est imposée. Ce paramètre est utilisé lors de l’importation/exportation de fichiers dump etdans la fonctionnalité de synchronisation mais n’a aucun effet lorsque PHP est exécuté en mode sécurisé.

$cfg['SessionSavePath']

Type chaîne

Default value ''

Chemin de stockage des données de session (session_save_path PHP parameter).

Avertissement : Ce dossier ne doit pas être publiquement accessible via le serveur web, sinon vous risquezla fuite de données privées provenant de votre session.

$cfg['MemoryLimit']

Type chaîne [nombre d’octets]

Default value '-1'

Définit le nombre d’octets qu’un script est autorisé à allouer. Si ce nombre est défini à '-1', aucune limite n’estimposée. S’il est défini à '0', aucun changement à la limite de mémoire n’est tenté et le réglage de php.inimemory_limit est utilisé.Ce paramètre est utilisé lors de l’importation/exportation de fichiers dump, vous ne voulez donc pas mettre unevaleur trop basse ici. Il n’a aucun effet lorsque PHP est exécuté en mode sécurisé.Vous pouvez aussi utiliser une chaîne comme dans le fichier php.ini, par ex. “16M”. Assurez-vous de ne pasoublier le suffixe (16 signifie 16 octets !)

$cfg['SkipLockedTables']

Type booléen

Default value false

Marque les tables utilisées et permet de montrer les bases de données avec des tables verrouillées (depuis laversion MySQL 3.23.30).

$cfg['ShowSQL']

Type booléen

Default value true

Définit si les requêtes SQL générées par phpMyAdmin doivent être affichées.

$cfg['RetainQueryBox']

Type booléen

Default value false

Définit si la boîte de requête SQL doit rester affichée après soumission de la requête.

$cfg['CodemirrorEnable']

Type booléen

Default value true

Définit s’il faut utiliser un éditeur de code JavaScript pour les boîtes de requêtes. CodeMirror fournit la colorationsyntaxique et la numérotation des lignes. Cependant, un double clic pour copier des contenus dans le presse-papiers dans certaines distributions GNU/Linux (comme Ubuntu) n’est pas supporté dans tous les navigateurs.

$cfg['DefaultForeignKeyChecks']

50 Chapitre 4. Configuration

Page 57: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type chaîne

Default value 'default'

La valeur par défaut de la case à cocher pour la vérification des clés étrangères, qui sert à désactiver/activer lesvérification de clés étrangères pour certaines requêtes. Les valeurs possibles sont « Valeur par défaut du serveur», « Activer » ou « Désactiver ». Si « Valeur par défaut du serveur » est sélectionné, la valeur de la variableMySQL FOREIGN_KEY_CHECKS est utilisée.

$cfg['AllowUserDropDatabase']

Type booléen

Default value false

Avertissement : Ceci n’est pas une mesure de sécurité car il existera toujours des moyens de la contourner.Si vous voulez empêcher les utilisateurs de supprimer des bases de données, révoquez leurs privilèges DROPcorrespondant.

Définit si les utilisateurs lambda (non administrateur) sont autorisés à supprimer leur propre base de données.S’il est défini à FALSE, le lien guilabel :Supprimer la base ne sera pas visible, et même la commande DROPDATABASE ma_base_de_donnees sera rejetée. Très pratique pour un FAI avec beaucoup de clients.Veuillez noter que cette limitation des requêtes SQL n’est pas aussi stricte en utilisant les privilèges MySQL.Cela est dû à la nature des requêtes SQL qui peuvent être très compliquées. Aussi, ce choix doit être vu commeune aide pour éviter une suppression accidentelle plutôt qu’une limitation de privilèges stricte.

$cfg['Confirm']

Type booléen

Default value true

Définit si un avertissement (« Êtes-vous vraiment sûr. . . ») doit être affiché quand vous êtes sur le point de perdredes données.

$cfg['UseDbSearch']

Type booléen

Default value true

Définit si « rechercher une chaîne dans la base de données » est activé.

$cfg['IgnoreMultiSubmitErrors']

Type booléen

Default value false

Définit si phpMyAdmin continuera à exécuter une requête multiple si l’une d’elles échoue. Par défaut, l’exécu-tion de la requête multiple sera arrêtée.

4.4 Options du mode d’authentification « cookie »

$cfg['blowfish_secret']

Type chaîne

Default value ''

Le mode d’authentification par “cookie” utilise l’algorithme AES pour chiffrer le mot de passe. Si vous utilisezle mode d’authentification par “cookie”, saisissez ici une phrase aléatoire de votre choix. Elle sera utilisée demanière interne par l’algorithme AES : cette phrase mot de passe ne vous sera pas demandée.Le mot de passe doit avoir au moins 32 caractères. En utiliser moins affaiblira la sécurité des cookies chiffrés.En utiliser plus ne pose pas de problème.

4.4. Options du mode d’authentification « cookie » 51

Page 58: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Note : La configuration est appelée blowfish_secret pour des raisons historiques car Blowfish était à l’origineutilisé pour faire le chiffrement.

Modifié dans la version 3.1.0 : Depuis la version 3.1.0, phpMyAdmin peut générer ceci à la volée, mais celaaffaiblit un peu la sécurité car le mot de passe est stocké en session et de plus, cela rend impossible de se rappelerdu nom de l’utilisateur à partir du cookie.

$cfg['LoginCookieRecall']

Type booléen

Default value true

Définit si le nom de l’utilisateur précédent devrait apparaître dans le panneau de connexion en mode cookie.Ceci est automatiquement désactivé si vous n’avez pas configuré $cfg['blowfish_secret'].

$cfg['LoginCookieValidity']

Type entier [nombre de secondes]

Default value 1440

Définit la durée de validité d’un cookie de connexion. Veuillez notez que l’option de configuration php ses-sion.gc_maxlifetime pourrait limiter la validité de session, et si la session est perdue, le cookie de connexion estaussi invalidé. Il est donc conseillé de définir session.gc_maxlifetime au moins aussi haut que la valeurde $cfg['LoginCookieValidity'].

$cfg['LoginCookieStore']

Type entier [nombre de secondes]

Default value 0

Définit la durée de stockage d’un cookie de connexion dans votre navigateur. Par défaut, 0 signifie qu’il seraconservé pour la session en cours. Ceci est recommandé pour les environnements non sécurisés.

$cfg['LoginCookieDeleteAll']

Type booléen

Default value true

Si activé (par défaut), la déconnexion supprime les cookies pour tous les serveurs, sinon seulement pour leserveur en cours. Définir ce paramètre à false permet d’oublier plus facilement de se déconnecter des autresdes autres serveurs quand vous en utilisez plusieurs.

$cfg['AllowArbitraryServer']

Type booléen

Default value false

Si ce paramètre est activé, il vous permet de vous connecter à des serveurs arbitraires en utilisant l’authentifica-tion par cookie.

Note : Veuillez utiliser ce paramètre avec précaution, car il peut permettre aux utilisateurs d’accéderaux serveurs MySQL placés derrière votre pare-feu où votre serveur HTTP est situé. Voir également$cfg['ArbitraryServerRegexp'].

$cfg['ArbitraryServerRegexp']

Type chaîne

Default value ''

52 Chapitre 4. Configuration

Page 59: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Restreint les serveurs MySQL auxquels l’utilisateur peut se connecter quand$cfg['AllowArbitraryServer'] est activée en faisant correspondre l’adresse IP ou le nom d’hôtedu serveur MySQL à l’expression régulière donnée. L’expression régulière doit être entourée d’un caractèredélimiteur.Il est recommandé d’utiliser des symboles de début et de fin dans l’expression régulière, de sorte à éviter lescorrespondances partielles sur la chaîne.Exemples :

// Allow connection to three listed servers:$cfg['ArbitraryServerRegexp'] = '/^(server|another|yetdifferent)$/';

// Allow connection to range of IP addresses:$cfg['ArbitraryServerRegexp'] = '@^192\.168\.0\.[0-9]{1,}$@';

// Allow connection to server name ending with -mysql:$cfg['ArbitraryServerRegexp'] = '@^[^:]\-mysql$@';

Note : Le nom complet du serveur est utilisé, il peut inclure également le port. En raison de la per-missivité de MySQL pour les paramètres de connexion, il est possible d’utiliser des chaînes comme`server:3306-mysql`. Ceci peut être utilisé pour outrepasser l’expression régulière par le suffixe lorsde la connexion à un autre serveur.

$cfg['CaptchaLoginPublicKey']

Type chaîne

Default value ''

On peut se procurer sur https://www.google.com/recaptcha/intro/ une clé publique pour le service reCaptcha.reCaptcha sera alors utilisé avec Mode d’authentification par « cookie ».

$cfg['CaptchaLoginPrivateKey']

Type chaîne

Default value ''

La clé privée pour le service de reCaptcha que vous pourrez obtenir auprès de https://www.google.com/recaptcha/intro/.reCaptcha sera alors utilisé avec Mode d’authentification par « cookie ».

4.5 Paramétrage du panneau de navigation

$cfg['ShowDatabasesNavigationAsTree']

Type booléen

Default value true

Dans le volet de navigation, remplace l’arborescence de la base de données par un sélecteur

$cfg['FirstLevelNavigationItems']

Type entier

Default value 100

Le nombre de bases de données de premier niveau qui peuvent être affichées pour chaque page de l’arborescencede navigation.

$cfg['MaxNavigationItems']

4.5. Paramétrage du panneau de navigation 53

Page 60: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type entier

Default value 50

Le nombre d’éléments (tables, colonnes, index) qui peuvent être affichés pour chaque page de l’arborescence denavigation.

$cfg['NavigationTreeEnableGrouping']

Type booléen

Default value true

Définit s’il faut grouper les bases de données en se basant sur un préfixe commun dans leur nom$cfg['NavigationTreeDbSeparator'].

$cfg['NavigationTreeDbSeparator']

Type chaîne

Default value '_'

La chaîne est utilisée pour séparer les parties du nom de la base de données lors de leur affichage dans un arbre.

$cfg['NavigationTreeTableSeparator']

Type chaîne ou tableau

Default value '__'

Définit une chaîne à utiliser pour les espaces de table imbriquée. Ceci signifie que si vous avez des tables tellesque première__seconde__troisième elles seront affichées comme une hiérarchie à trois niveaux telleque : première > seconde > troisième. Si défini à false ou vide, la fonctionnalité est désactivée. REMARQUE :vous ne devez pas utiliser ce séparateur dans un nom de table comme préfixe ou suffixe, ou plusieurs foisconsécutivement à l’intérieur du nom de la table.

$cfg['NavigationTreeTableLevel']

Type entier

Default value 1

Définit le nombre de sous-niveaux qui doivent être affichés quand les tables sont subdivisées par le séparateurci-dessus.

$cfg['NumRecentTables']

Type entier

Default value 10

Le nombre maximum de tables récemment utilisées affichées dans le panneau de navigation à gauche. Définirce paramètre à 0 désactive l’affichage de la liste des tables récentes.

$cfg['NumFavoriteTables']

Type entier

Default value 10

Le nombre maximum de tables favorites affichées dans le panneau de navigation à gauche. Définir ce paramètreà 0 désactive l’affichage de la liste des tables favorites.

$cfg['ZeroConf']

Type booléen

Default value true

Active le mode Zéro configuration dans lequel l’utilisateur se voit proposer de créer la configuration de stockagede phpMyAdmin dans la base de données courante ou d’utiliser l’existante si elle est déjà créée.Ce paramètre n’a pas d’effet si la base de données de configuration de stockage de phpMyAdmin est créecorrectement et que les directives de configuration relatives (telle que $cfg['Servers'][$i]['pmadb']etc.) sont paramétrées.

54 Chapitre 4. Configuration

Page 61: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['NavigationLinkWithMainPanel']

Type booléen

Default value true

Définit si on fait le lien avec le panneau général en mettant en surbrillance la base de données ou la tablecourante.

$cfg['NavigationDisplayLogo']

Type booléen

Default value true

Définit si le logo de phpMyAdmin est affiché en haut du panneau de navigation.

$cfg['NavigationLogoLink']

Type chaîne

Default value 'index.php'

Saisissez l”URL vers laquelle le logo du panneau de navigation pointera. À utiliser notamment pour les thèmespersonnalisés qui changent cela. Pour les URL externes, vous devez également inclure le schéma d’URL.

$cfg['NavigationLogoLinkWindow']

Type chaîne

Default value 'main'

Définit si la page liée doit s’ouvrir dans la fenêtre principale (main) ou dans une nouvelle fenêtre (new). Note :utilisez new si vous êtes lié à phpmyadmin.net.

$cfg['NavigationTreeDisplayItemFilterMinimum']

Type entier

Default value 30

Définit le nombre d’éléments minimum (tables, vues, routines et événements) pour afficher une boîte de filtreen JavaScript au-dessus de la liste des éléments dans le panneau de navigation.Pour désactiver complètement le filtre vous pouvez un très grand nombre (par ex : 9999)

$cfg['NavigationTreeDisplayDbFilterMinimum']

Type entier

Default value 30

Définit le nombre minimum de bases de données pour afficher une boîte de filtre en JavaScript au-dessus de laliste des bases de données dans le cadre de navigation.Pour désactiver complètement le filtre vous pouvez un très grand nombre (par ex : 9999)

$cfg['NavigationDisplayServers']

Type booléen

Default value true

Définit s’il faut afficher ou non un choix de serveur en haut du panneau de navigation.

$cfg['DisplayServersList']

Type booléen

Default value false

Définit s’il faut afficher afficher le choix de serveur sous forme de lien plutôt que de liste déroulante.

$cfg['NavigationTreeDefaultTabTable']

Type chaîne

Default value 'structure'

4.5. Paramétrage du panneau de navigation 55

Page 62: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Définit l’onglet affiché par défaut en cliquant sur l’icône à côté du nom des tables dans le cadre de navigation.Les valeurs possibles sont les traductions équivalentes à :— structure— sql— search— insérer— afficher

$cfg['NavigationTreeDefaultTabTable2']

Type chaîneDefault value null

Définit l’onglet affiché par défaut en cliquant sur la deuxième icône à côté du nom des tables dans le cadre denavigation. Les valeurs possibles sont les traductions équivalentes à :— (vide)— structure— sql— search— insérer— afficher

$cfg['NavigationTreeEnableExpansion']

Type booléenDefault value true

Pour offrir la possibilité d’expansion de l’arborescence dans le panneau de navigation.

$cfg['NavigationTreeShowTables']

Type booléenDefault value true

Si vous souhaitez afficher les tables sous chaque base de données dans le panneau de navigation.

$cfg['NavigationTreeShowViews']

Type booléenDefault value true

Afficher ou non les vues sous la base de données dans le cadre de navigation.

$cfg['NavigationTreeShowFunctions']

Type booléenDefault value true

Afficher ou non les fonctions sous la base de données dans le cadre de navigation.

$cfg['NavigationTreeShowProcedures']

Type booléenDefault value true

Afficher ou non les procédures sous la base de données dans le cadre de navigation.

$cfg['NavigationTreeShowEvents']

Type booléenDefault value true

Afficher ou non les évènements sous base de données dans le cadre de navigation.

$cfg['NavigationWidth']

Type entierDefault value 240

Largeur du cadre de navigation, mettre à 0 pour le faire disparaitre par défaut.

56 Chapitre 4. Configuration

Page 63: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

4.6 Panneau principal

$cfg['ShowStats']

Type booléen

Default value true

Définit s’il faut afficher ou non les statistiques et l’usage de l’espace de stockage des bases de données et destables. Les statistiques nécessitent au moins la version 3.23.3 de MySQL 3.23.3 et, à ce jour, MySQL ne fournitpas de telles informations pour les tables de base de données Berkeley.

$cfg['ShowServerInfo']

Type booléen

Default value true

Définit si l’affichage des informations détaillées sur le serveur doit se faire sur la page principale. Vous pouvezaussi masquer plus d’informations en utilisant $cfg['Servers'][$i]['verbose'].

$cfg['ShowPhpInfo']

Type booléen

Default value false

Définit si on affiche ou pas les liens Informations PHP dans le cadre principal (de droite) de démarrage.Veuillez noter que pour empêcher l’utilisation de phpinfo() dans les scripts, vous devez mettre ceci dansvotre fichier php.ini :

disable_functions = phpinfo()

Avertissement : En activant la page phpinfo, vous perdrez beaucoup d’informations sur la configuration duserveur. Il n’est pas recommandé de l’activer sur les installations partagées.Cela pourrait également rendre certaines attaques à distance plus facile sur vos installations, activez doncceci seulement lorsque c’est nécessaire.

$cfg['ShowChgPassword']

Type booléen

Default value true

Définit si on affiche ou pas les liens Modifier le mot de passe dans le cadre principal (de droite) de démarrage.Ce paramètre ne vérifie pas les commandes MySQL saisies directement.Merci de noter qu’activer le lien Modifier le mot de passe n’a pas d’effet avec le mode d’authentification« config » : leur mot de passe étant codé dans le fichier de configuration, les utilisateurs n’ont pas la possi-bilité de le modifier.

$cfg['ShowCreateDb']

Type booléen

Default value true

Définit si on affiche ou pas le formulaire de création de base de données dans le cadre principal (de droite) dedémarrage. Ce paramètre ne vérifie pas les commandes MySQL saisies directement.

$cfg['ShowGitRevision']

Type booléen

Default value true

Définit s’il faut afficher des informations sur la révision Git actuelle (le cas échéant) sur le panneau principal.

$cfg['MysqlMinVersion']

4.6. Panneau principal 57

Page 64: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type array

Définit la version minimum de MySQL qui est supportée. La version par défaut est choisie par l’équipe php-MyAdmin ; cependant ce paramètre a été demandé par un développeur du panneau de contrôle Plesk pourfaciliter l’intégration avec d’anciens serveurs MySQL (où la plupart des fonctionnalités de phpMyAdmin sontpossibles).

4.7 Structure de base de données

$cfg['ShowDbStructureCreation']

Type booléen

Default value false

Définit si la page de structure de base de données (liste des tables) a une colonne « Création » qui s’affichelorsque chaque table est créée.

$cfg['ShowDbStructureLastUpdate']

Type booléen

Default value false

Définit si la page de structure de base de données (liste des tables) a une colonne « Dernière mise à jour » quis’affiche pour la date de dernière mise à jour de la table.

$cfg['ShowDbStructureLastCheck']

Type booléen

Default value false

Définit si la page de structure de base de données (liste des tables) a une colonne « Dernière vérification » quiaffiche la date de la dernière vérification de la table.

$cfg['HideStructureActions']

Type booléen

Default value true

Définit si les actions sur la structure des tables doivent être masquées dans une liste déroulante « Plus ».

$cfg['ShowColumnComments']

Type booléen

Default value true

Définit si les commentaires des colonnes doivent être affichés dans la vue de structure de table.

4.8 Mode de navigation

$cfg['TableNavigationLinksMode']

Type chaîne

Default value 'icons'

Définit si les liens vers les tables contiennent des « Icônes », du « Texte » ou « Les deux ».

$cfg['ActionLinksMode']

Type chaîne

Default value 'both'

58 Chapitre 4. Configuration

Page 65: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Si défini à icons, les liens vers les propriétés des tables et les menus seront affichés avec des icônes à la placedu texte (comme Parcourir, Sélectionner, Insérer, . . . ). Peut être défini à 'both' si vous voulez des icônes ETdu texte. Quand cette valeur vaut text il ne sera affiché que du texte.

$cfg['RowActionType']

Type chaîne

Default value 'both'

Pour activer ou non l’affichage des icônes ou du texte ou des deux dans le segment action d’une ligne de table.Les valeurs peuvent être 'icons', 'text' ou 'both'.

$cfg['ShowAll']

Type booléen

Default value false

Définit si un utilisateur peut afficher un bouton « Afficher tout » en mode navigation ou dans tous les cas. Pardéfaut, il est affiché pour les petites tables (moins de 500 lignes) pour éviter les problèmes de performance.

$cfg['MaxRows']

Type entier

Default value 25

Nombre de lignes affichées lors de la navigation sur un ensemble de résultats et si aucune clause LIMIT n’estutilisée. Si le nombre des colonnes est supérieur à cette valeur, des liens « Suivant » et « Précédent » serontaffichés. Les valeurs possibles sont 25,50,100,250,500.

$cfg['Order']

Type chaîne

Default value 'SMART'

Définit si les colonnes sont affichées en ordre croissant (ASC), décroissant (DESC) ou en ordre « intelligent »(SMART) - c’est-à-dire en ordre décroissant pour les colonnes de type TIME, DATE, DATETIME &amp ; TI-MESTAMP et croissant pour les autres - par défaut.Modifié dans la version 3.4.0 : Depuis phpMyAdmin 3.4.0, la valeur par défaut est 'SMART'.

$cfg['GridEditing']

Type chaîne

Default value 'double-click'

Définit quelle action (double-clic ou clic) déclenche l’édition de la grille. Peut être désactivé avec lavaleur disabled.

$cfg['RelationalDisplay']

Type chaîne

Default value 'K'

Définit le comportement initial pour Options > Relations. K , qui est la valeur par défaut, affiche la clé alors queD montre colonne d’affichage.

$cfg['SaveCellsAtOnce']

Type booléen

Default value false

Définit s’il faut enregistrer toutes les cellules éditées à la fois en édition de grille.

4.8. Mode de navigation 59

Page 66: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

4.9 Mode de modification

$cfg['ProtectBinary']

Type booléen ou chaîne

Default value 'blob'

Définit si les colonnes BLOB ou BINARY sont protégés lors de l’affichage du contenu d’une table. Les valeursvalides sont :— false pour permettre la modification de toutes les colonnes ;— blob pour autoriser la modification de toutes les colonnes sauf les colonnes de type BLOBS ;— 'noblob' pour désactiver la modification de toutes les colonnes sauf les colonnes de type BLOBS (le

contraire de 'blob') ;— 'all' pour interdire la modification des colonnes de types BINARY ou BLOB.

$cfg['ShowFunctionFields']

Type booléen

Default value true

Définit si les champs des fonctions MySQL doivent être affichés en mode modification/insertion. Depuis laversion 2.10, l’utilisateur peut changer ce paramètre à partir de l’interface.

$cfg['ShowFieldTypesInDataEditView']

Type booléen

Default value true

Définit si les colonnes type doivent être affichées en mode modification/insertion. L’utilisateur peut changer ceparamètre à partir de l’interface.

$cfg['InsertRows']

Type entier

Default value 2

Définit le nombre de lignes par défaut devant être saisies depuis la page d’insertion. Les utilisateurs peuvent lemodifier manuellement depuis le bas de cette page pour ajouter/retirer des lignes vides.

$cfg['ForeignKeyMaxLimit']

Type entier

Default value 100

S’il y a moins d’éléments que ce nombre dans le jeu de clés étrangères, alors un menu déroulant des clésétrangères est proposé, avec le style décrit dans le paramètre $cfg['ForeignKeyDropdownOrder'].

$cfg['ForeignKeyDropdownOrder']

Type array

Default value array(“content-id”, “id-content”)

Il y a plusieurs méthodes d’affichage pour les champs du menu déroulant des clés étrangères, proposant la clé etsa valeur. Le tableau doit contenir une ou les deux valeurs suivantes : content-id, id-content.

4.10 Exporter et importer des paramètres

$cfg['ZipDump']

Type booléen

Default value true

60 Chapitre 4. Configuration

Page 67: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['GZipDump']

Type booléen

Default value true

$cfg['BZipDump']

Type booléen

Default value true

Définit si on utilise la compression zip/GZip/BZip2 lors de la création de fichiers d’exportation

$cfg['CompressOnFly']

Type booléen

Default value true

Définit si on autorise la compression à la volée pour des exportations au formats GZip/BZip2. Ceci n’affecte pasles plus petites exportations et permet aux utilisateurs d’en créer de plus grandes, qui sans cela, ne tiendraient pasen mémoire, à cause de la limitation mémoire de php. Produit des fichiers contenant plus d’en-têtes GZip/BZip2,mais tous les programmes courants les manipulent correctement.

$cfg['Export']

Type array

Default value array(. . . )

Dans ce tableau sont définis les paramètres par défaut pour les fichiers d’exportation ; les noms des items sontsimilaires aux textes vus dans la page d’exportation, de la sorte vous pouvez facilement identifier ce qu’ilssignifient.

$cfg['Export']['format']

Type chaîne

Default value 'sql'

Format d’exportation par défaut.

$cfg['Export']['method']

Type chaîne

Default value 'quick'

Définit le mode d’affichage du formulaire d’export lors de son chargement. Les valeurs permises sont :— quick pour afficher le nombre minimum d’options à configurer— custom pour afficher toutes les options de configuration disponibles— custom-no-form est identique à custom mais n’affiche pas l’option d’export rapide

$cfg['Export']['charset']

Type chaîne

Default value ''

Définit l’encodage pour l’exportation générée. Par défaut, aucune conversion d’encodage n’est effectuée ensupposant UTF-8.

$cfg['Export']['file_template_table']

Type chaîne

Default value '@TABLE@'

Modèle de nom de fichier par défaut pour les exportations de tables.Voir aussi :6.27 Quels formats de chaînes puis-je utiliser ?

$cfg['Export']['file_template_database']

4.10. Exporter et importer des paramètres 61

Page 68: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type chaîne

Default value '@DATABASE@'

Modèle de nom de fichier par défaut pour les exportations de bases de données.Voir aussi :6.27 Quels formats de chaînes puis-je utiliser ?

$cfg['Export']['file_template_server']

Type chaîne

Default value '@SERVER@'

Modèle de nom de fichier par défaut pour les exportations de serveurs.Voir aussi :6.27 Quels formats de chaînes puis-je utiliser ?

$cfg['Import']

Type array

Default value array(. . . )

Dans ce tableau sont définis les paramètres par défaut pour l’importation. Les noms des éléments sont similairesaux textes affichés dans la page d’importation, de sorte que vous pouvez facilement identifier ce qu’ils signifient.

$cfg['Import']['charset']

Type chaîne

Default value ''

Définit l’encodage pour l’importation. Par défaut, aucune conversion d’encodage n’est effectuée en supposantUTF-8.

4.11 Paramètres d’affichage des onglets

$cfg['TabsMode']

Type chaîne

Default value 'both'

Définit si les onglets de menu contiennent des « Icônes », du « Texte » ou « les deux ».

$cfg['PropertiesNumColumns']

Type entier

Default value 1

Définit le nombre de colonnes qui seront utilisées pour afficher les tables dans la vue propriété de la base dedonnées. En définissant cette variable à une valeur supérieure à un, le type de la base de données sera omis pouroffrir plus de place pour l’affichage.

$cfg['DefaultTabServer']

Type chaîne

Default value 'welcome'

Définit l’onglet affiché par défaut dans la vue serveur. Les valeurs autorisées sont les traductions équivalentesà :— `welcome (recommandé pour les installations multi-utilisateurs)— databases,— status— variables— privileges

62 Chapitre 4. Configuration

Page 69: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['DefaultTabDatabase']

Type chaîne

Default value 'structure'

Définit l’onglet affiché par défaut pour la vue base de données. Les valeurs possibles sont les traductions équi-valentes à :— structure— sql— search— opérations

$cfg['DefaultTabTable']

Type chaîne

Default value 'browse'

Définit l’onglet affiché par défaut pour la vue base de données. Les valeurs autorisées sont les traductionséquivalentes à :— structure— sql— search— insérer— afficher

4.12 Options PDF

$cfg['PDFPageSizes']

Type array

Default value array('A3', 'A4', 'A5', 'letter', 'legal')

Tableau des différentes tailles de papier possibles pour la création des pages PDF.Vous ne devriez jamais avoir besoin de modifier cela.

$cfg['PDFDefaultPageSize']

Type chaîne

Default value 'A4'

Taille de page par défaut à utiliser pour la création de pages PDF. Les valeurs autorisées sont énumérées dans$cfg['PDFPageSizes'].

4.13 Langues

$cfg['DefaultLang']

Type chaîne

Default value 'en'

Définit la langue à utiliser par défaut, s’il n’est pas définit par le navigateur ou l’utilisateur. Le fichier de languecorrespondant doit être dans locale/code/LC_MESSAGES/phpmyadmin.mo.

$cfg['DefaultConnectionCollation']

Type chaîne

Default value 'utf8mb4_general_ci'

4.12. Options PDF 63

Page 70: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Définit la collation utilisée par défaut. Consultez la documentation MySQL pour les jeux de caractères pourobtenir une liste des valeurs possibles.

$cfg['Lang']

Type chaîne

Default value non défini

Force la langue à utiliser. Le fichier de langue correspondant doit être dans lo-cale/code/LC_MESSAGES/phpmyadmin.mo.

$cfg['FilterLanguages']

Type chaîne

Default value ''

Limite la liste des langues disponibles à celle correspondant à une expression régulière donnée. Par exemple, sivous ne voulez que le tchèque et l’anglais, vous devrez définir le filtre suivant : '^(cs|en)'.

$cfg['RecodingEngine']

Type chaîne

Default value 'auto'

Pour pouvez choisir ici quelles fonctions seront utilisées pour la conversion de page de code. Les valeurs auto-risées sont :— auto - utilise automatiquement une fonction disponible (la première testée est iconv, puis recode),— iconv - utilise les fonctions iconv ou libiconv,— recode - utilise la fonction recode_string— mb - utilise l’extension mbstring— none - désactive la conversion de l’encodageQuand la conversion de caractères est activée, cela active un menu déroulant dans les pages d’export et d’import,afin de choisir le jeu de caractères utilisé lors de l’exportation d’un fichier. La valeur par défaut dans ce menuprovient de $cfg['Export']['charset'] et $cfg['Import']['charset'].

$cfg['IconvExtraParams']

Type chaîne

Default value '//TRANSLIT'

Spécifie des paramètres pour iconv utilisés dans la conversion de jeux de caractères. Voir la documentation iconvpour plus de renseignements. Par défaut //TRANSLIT est utilisé de sorte que les caractères invalides soientsubstitués.

$cfg['AvailableCharsets']

Type array

Default value array(. . . )

Jeux de caractères disponibles pour la conversion MySQL. Vous pouvez ajouter le vôtre (n’importe lequel prisen charge par recode/iconv) ou supprimer celui dont vous ne vous servez pas. Les jeux de caractères serontaffichés dans le même ordre que celui défini ici ; aussi, si vous en utilisez fréquemment quelques-uns, faites-lesfigurer en début de tableau.

4.14 Paramètres du serveur web

$cfg['OBGzip']

Type chaîne/booléen

Default value 'auto'

64 Chapitre 4. Configuration

Page 71: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Définit s’il faut utiliser la mise en cache des sorties de GZIP pour améliorer les vitesses de transfert HTTP.Mettre à true/false pour activer/désactiver. Quand défini sur “auto” (chaîne), phpMyAdmin essaie d’activer lamise en cache des sorties et la désactivera automatiquement si votre navigateur a des problèmes avec la mise encache. IE6, avec un certain correctif, est connu pour provoquer une corruption de données en ayant la mise encache activée.

$cfg['TrustedProxies']

Type arrayDefault value array()

Liste les serveurs mandataires et les en-têtes HTTP de confiance pour$cfg['Servers'][$i]['AllowDeny']['order']. Cette liste est vide par défaut. Vous devezrenseigner des serveurs mandataires de confiance si vous voulez utiliser des règles pour les adresses IP derrièreun serveur mandataire.L’exemple suivant spécifie que phpMyAdmin doit faire confiance à un en-tête HTTP_X_FORWARDED_FOR(X -Forwarded-For) provenant du serveur mandataire 1.2.3.4 :

$cfg['TrustedProxies'] = array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR');

La directive $cfg['Servers'][$i]['AllowDeny']['rules'] utilise l’adresse IP du client commed’habitude.

$cfg['GD2Available']

Type chaîneDefault value 'auto'

Spécifie si GD est disponible en version 2 ou supérieure. Si c’est le cas, il peut être utilisé pour les transforma-tions MIME. Les valeurs autorisées sont :— auto - détecte automatiquement— yes - les fonctions GD 2 peuvent être utilisées,— no - les fonctions GD 2 ne peuvent pas être utilisées

$cfg['CheckConfigurationPermissions']

Type booléenDefault value true

Nous vérifions normalement les permissions sur le fichier de configuration pour nous assurer qu’il n’est pasaccessible en écriture pour tout le monde. Cependant, phpMyAdmin pourrait être installé sur un système defichiers NTFS monté sur un serveur non-Windows, auquel cas les permissions semblent erronées mais elles nepeuvent en fait pas être détectées. Dans ce cas, un administrateur système devrait définir ce paramètre à FALSE.

$cfg['LinkLengthLimit']

Type entierDefault value 1000

Longueur limite de l”URL dans les liens. Quand la longueur est supérieure à cette limite, le lien est remplacépar un formulaire avec un bouton. Ceci est nécessaire car certains serveurs Web (IIS) ont des problèmes avec lesURL longues.

$cfg['CSPAllow']

Type chaîneDefault value ''

Chaîne supplémentaire à inclure dans les sources autorisées de script et d’image dans l’en-tête de de la politiquede sécurité du contenu.Cela peut être utile lorsque vous souhaitez inclure des fichiers externes de JavaScript dans config.footer.inc.php ou config.header.inc.php, ce qui ne serait normalement pas autorisé par la politique desécurité du contenu.Pour permettre certains sites, il suffit de les énumérer à l’intérieur de la chaîne :

4.14. Paramètres du serveur web 65

Page 72: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['CSPAllow'] = 'example.com example.net';

Nouveau dans la version 4.0.4.

$cfg['DisableMultiTableMaintenance']

Type booléen

Default value false

Dans la page Structure de la base de données, il est possible de marquer certaines tables puis de choisir uneopération comme l’optimisation de plusieurs tables. Ceci peut ralentir le serveur ; par conséquent, définir ceci àtrue empêche ce type d’opération de maintenance multiple.

4.15 Paramètres des thèmes

Veuillez modifier directement themes/themename/layout.inc.php, bien que vos changementsseront écrasés lors de la prochaine mise à jour.

4.16 Personnalisation du design

$cfg['NavigationTreePointerEnable']

Type booléen

Default value true

Lorsque défini à true, placer le curseur sur un élément dans le panneau de navigation provoque le marquage decet élément (le fond est mis en surbrillance).

$cfg['BrowsePointerEnable']

Type booléen

Default value true

Lorsque défini à true, survoler une ligne dans le volet Afficher provoque le marquage de cette ligne (le fond estmis en surbrillance).

$cfg['BrowseMarkerEnable']

Type booléen

Default value true

Lorsque réglé à la valeur true, une ligne de données est marquée (le fond est mis en surbrillance) lorsque la ligneest sélectionnée avec la case à cocher.

$cfg['LimitChars']

Type entier

Default value 50

Nombre maximum de caractères affichés dans un champ non numérique en mode Afficher. Peut être désactivépar un bouton radio dans la page de navigation.

$cfg['RowActionLinks']

Type chaîne

Default value 'left'

Définit l’endroit où les liens modifier, copier et effacer seront placés quand le contenu des tables est affiché(vous pouvez les afficher à gauche, à droite, des deux côtés ou nulle part).

$cfg['RowActionLinksWithoutUnique']

66 Chapitre 4. Configuration

Page 73: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type booléen

Default value false

Définit si l’on doit afficher les liens relatifs aux lignes (Modifier, Copier, Effacer) et les cases à cocher pourdes opérations sur plusieurs lignes, même si la sélection ne comporte pas de unique key. Faire des actions surdes lignes en l’absence d’une clé unique peut faire en sorte que des lignes différentes ou plus de lignes soientaffectées puisqu’il n’y a aucun garantie quant à la sélection exacte des lignes.

$cfg['RememberSorting']

Type booléen

Default value true

Si activé, l’ordre de tri des tables est conservé lors de la navigation dans les tables.

$cfg['TablePrimaryKeyOrder']

Type chaîne

Default value 'NONE'

Ceci définit l’ordre de tri par défaut des tables possédant une primary key, lorsqu’il n’y a aucun ordre de tridéfini à l’externe. Les valeurs possibles sont : [“NONE”, “ASC”, “DESC”]

$cfg['ShowBrowseComments']

Type booléen

Default value true

$cfg['ShowPropertyComments']

Type booléen

Default value true

En définissant la variable correspondante à TRUE, vous pouvez afficher les commentaires de colonnes en modeNavigation ou Propriétés. En mode navigation, les commentaires sont affichés à l’intérieur de l’en-tête. En modepropriétés, les commentaires sont affichés en utilisant une feuille de style qui met une ligne de tirets sous le nomdu champ. Le commentaire est affiché en tant qu’info-bulle pour ce champ.

4.17 Champs texte

$cfg['CharEditing']

Type chaîne

Default value 'input'

Définit quels types de contrôles d’édition doivent être utilisés pour les colonnes CHAR et VARCHAR. Celas’applique à l’édition des données ainsi qu’aux valeurs par défaut dans l’édition de structure. Les valeurs per-mises sont :— input - ceci permet de limiter la taille du texte en fonction de la taille des colonnes dans MySQL, mais il y a

des problèmes avec les caractères « newline » dans les colonnes— textarea - aucun problème avec les caractères « newline » dans les colonnes, mais ne permet pas de limitation

de taille

$cfg['MinSizeForInputField']

Type entier

Default value 4

Définit la taille minimale des champs de saisie générés pour les colonnes CHAR et VARCHAR.

$cfg['MaxSizeForInputField']

Type entier

4.17. Champs texte 67

Page 74: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Default value 60

Définit la taille maximale des champs de saisie générés pour les colonnes CHAR et VARCHAR.

$cfg['TextareaCols']

Type entier

Default value 40

$cfg['TextareaRows']

Type entier

Default value 15

$cfg['CharTextareaCols']

Type entier

Default value 40

$cfg['CharTextareaRows']

Type entier

Default value 2

Le nombre de colonnes et de lignes pour les zones de text (textareas). Cette valeur sera multipliée par 2 pour leszones de texte de requête SQL et par 1,25 pour les zones de texte SQL à l’intérieur de la fenêtre de requête.Les valeurs Char* sont utilisées pour la modification de CHAR et VARCHAR (si configurées dans$cfg['CharEditing']).

$cfg['LongtextDoubleTextarea']

Type booléen

Default value true

Définit si la zone de texte pour les colonnes LONGTEXT doit avoir une taille double.

$cfg['TextareaAutoSelect']

Type booléen

Default value false

Définit si toute la surface de la zone de texte de la boîte de requête sera sélectionnée en cliquant dessus.

$cfg['EnableAutocompleteForTablesAndColumns']

Type booléen

Default value true

Si vous voulez activer la saisie semi-automatique pour les noms de table et de colonne dans n’importe quelleboîte de requête SQL.

4.18 Paramètres de la fenêtre de requête SQL

$cfg['SQLQuery']['Edit']

Type booléen

Default value true

Définit l’affichage d’un lien pour modifier une requête dans toute boîte SQL Query.

$cfg['SQLQuery']['Explain']

Type booléen

Default value true

68 Chapitre 4. Configuration

Page 75: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Définit l’affichage d’un lien pour expliquer une requête SELECT dans toute boîte SQL Query.

$cfg['SQLQuery']['ShowAsPHP']

Type booléenDefault value true

Définit l’affichage d’un lien pour incorporer une requête dans du code PHP dans toute boîte SQL Query.

$cfg['SQLQuery']['Refresh']

Type booléenDefault value true

Définit l’affichage d’un lien pour actualiser une requête dans toute boîte SQL Query.

4.19 Les répertoires de transfert/sauvegarde/import du serveur web

Si PHP est exécuté en mode sécurisé, tous les répertoires doivent appartenir au même utilisateur que le propriétairedes scripts phpMyAdmin.

Si le répertoire où est installé phpMyAdmin est sujet à une restriction open_basedir, vous devez créer un répertoiretemporaire dans un répertoire accessible par l’interprêteur PHP.

Pour des raisons de sécurité, tous les répertoires doivent être en dehors de l’arbre publié par le serveur Web. Si vousne pouvez faire autrement, limitez l’accès aux répertoires en utilisant la configuration du serveur Web (par exempleen utilisant des fichiers .htaccess ou web.config) ou placez au moins un fichier index.html vide ici, de sorte quele parcours de répertoires ne soit pas possible. Cependant, tant que le répertoire est accessible par le serveur Web, unattaquant peut deviner les noms de fichiers pour les télécharger.

$cfg['UploadDir']

Type chaîneDefault value ''

Le nom du répertoire où les fichiers SQL ont été transférés autrement qu’avec phpMyAdmin (ftp, par exemple).Ces fichiers sont disponibles sous forme d’une liste déroulante quand vous cliquez sur le nom d’une base dedonnées ou d’une table, puis l’onglet Import.Si vous voulez un répertoire différent pour chaque utilisateur, %u sera remplacé par le nom d’utilisateur.Veuillez noter que le nom des fichiers doit avoir le suffixe « .sql » (ou « .sql.bz2 » ou « .sql.gz » si la gestion desformats compressés est activée).Cette fonctionnalité est utile quand votre fichier est trop gros pour être transféré via HTTP, ou quand les trans-ferts de fichiers sont désactivés dans PHP.

Avertissement : Veuillez consulter le début de ce chapitre (Les répertoires de transfert/sauvegarde/importdu serveur web) pour des instructions sur la configuration de ce répertoire et comment le sécuriser.

Voir aussi :Voir 1.16 Je ne peux pas transférer de gros fichiers d’exportation (problèmes de mémoire, HTTP ou de tempori-sation - timeout). pour des alternatives.

$cfg['SaveDir']

Type chaîneDefault value ''

Le nom du répertoire où les fichiers d’exportation peuvent être sauvegardés.Si vous voulez un répertoire différent pour chaque utilisateur, %u sera remplacé par le nom d’utilisateur.Veuillez noter que le répertoire doit être accessible en écriture à l’utilisateur du serveur Web.

4.19. Les répertoires de transfert/sauvegarde/import du serveur web 69

Page 76: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Avertissement : Veuillez consulter le début de ce chapitre (Les répertoires de transfert/sauvegarde/importdu serveur web) pour des instructions sur la configuration de ce répertoire et comment le sécuriser.

$cfg['TempDir']

Type chaîne

Default value './tmp/'

Le nom du répertoire où les fichiers temporaires peuvent être stockés. Il est utilisé pour :— La cache des templates ce qui accélère le chargement de page.— Import de fichiers ESRI Shapefiles, voir 6.30 Import : Comment puis-je importer des fichiers ESRI Shape-

files ?.— Pour contourner les limitations de open_basedir pour les fichiers téléchargés, consulter la 1.11 J’obtiens

“open_basedir restriction” en téléchargeant un fichier depuis l’onglet d’import..Ce répertoire devra avoir les permissions les plus strictes possibles car le seul utilisateur à devoir accéder à cerépertoire est celui qui exécute le serveur Web. Si vous avez des privilèges root, rendez simplement cet utilisateurpropriétaire de ce répertoire, et ne le rendez accessible que par lui :

chown www-data:www-data tmpchmod 700 tmp

Si vous ne pouvez changer le propriétaire du répertoire, vous pouvez effectuer une configuration similaire enutilisant une ACL :

chmod 700 tmpsetfacl -m "g:www-data:rwx" tmpsetfacl -d -m "g:www-data:rwx" tmp

Si aucune de ces deux solutions ne fonctionne pour vous, vous pouvez toujours faire un chmod 777 sur lerépertoire, mais cela pourrait imposer des risques de sécurité aux autres utilisateurs du système qui lisent etécrivent des données dans ce répertoire.

Avertissement : Veuillez consulter le début de ce chapitre (Les répertoires de transfert/sauvegarde/importdu serveur web) pour des instructions sur la configuration de ce répertoire et comment le sécuriser.

4.20 Divers paramètres d’affichage

$cfg['RepeatCells']

Type entier

Default value 100

Répète les en-têtes toutes les X cellules, ou 0 pour désactiver.

$cfg['QueryHistoryDB']

Type booléen

Default value false

$cfg['QueryHistoryMax']

Type entier

Default value 25

Si $cfg['QueryHistoryDB'] est défini à true, toutes vos requêtes sont journalisées dans une table,que vous devez créer (voir $cfg['Servers'][$i]['history']). S’il est défini à false, toutes vos

70 Chapitre 4. Configuration

Page 77: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

requêtes seront ajoutées au formulaire, mais elles seront sauvegardées seulement tant que votre fenêtre est ou-verte.En utilisant la fenêtre de requête basée sur JavaScript, elle sera toujours mise à jour quand vous cliquez sur unenouvelle table/base de données à afficher et se réduira si vous cliquez sur Modifier SQL après avoir utilisé unerequête. Vous pouvez supprimer la mise à jour de la fenêtre de requête en cochant la case « Ne pas écraser cetterequête depuis une autre fenêtre » sous la zone de texte de requête. Alors vous pouvez afficher des tables/basesde données en arrière-plan sans perdre le contenu de la zone de texte, ce qui est particulièrement pratique quandvous faites des requêtes sur des tables dont vous devez d’abord regarder le contenu. La case à cocher seraautomatiquement cochée chaque fois que vous changez le contenu de la zone de texte. Décochez cette case sijamais vous vouliez que la fenêtre de requêtes soit toujours mise à jour, même si vous avez fait des modifications.Si $cfg['QueryHistoryDB'] est défini à true, vous pouvez spécifier le nombre d’entrées sauvegardéesdans l’historique en utilisant $cfg['QueryHistoryMax'].

$cfg['BrowseMIME']

Type booléen

Default value true

Activer les Transformations.

$cfg['MaxExactCount']

Type entier

Default value 50000

Pour les tables InnoDB, détermine pour quelle taille de tables phpMyAdmin doit obtenir le nombre de lignesexact avec SELECT COUNT. Si le nombre approximatif de lignes renvoyé par SHOW TABLE STATUS estinférieur à cette valeur, SELECT COUNT sera utilisé, sinon, la valeur approximative sera utilisée.Modifié dans la version 4.8.0 : La valeur par défaut a été abaissée à 50000 pour des raisons de performance.Modifié dans la version 4.2.6 : La valeur par défaut a été changée à 500000.Voir aussi :3.11 Le nombre d’enregistrements pour les tables InnoDB est incorrect.

$cfg['MaxExactCountViews']

Type entier

Default value 0

Pour les vues, puisqu’obtenir le compte exact pourrait avoir un impact sur les performances, cette valeur est lavaleur maximum à afficher, en utilisant un SELECT COUNT ... LIMIT. Mettre cette valeur à 0 passe outretout comptage de lignes.

$cfg['NaturalOrder']

Type booléen

Default value true

Trie les noms des bases de données et des tables en ordre naturel (par exemple, t1, t2, t10). Actuellement mis enœuvre dans le panneau de navigation et dans la vue Base de données, pour la liste des tables.

$cfg['InitialSlidersState']

Type chaîne

Default value 'closed'

Si défini à 'closed', les cases de défilement sont initialement dans un état fermé. Une valeur 'open' fait lecontraire. Pour désactiver complètement toutes les cases de défilement visuel, utiliser 'disabled'.

$cfg['UserprefsDisallow']

Type array

Default value array()

4.20. Divers paramètres d’affichage 71

Page 78: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Contient les noms des options de configuration (clés d’un tableau $cfg) que les utilisateurs ne peuvent défi-nir via les préférences. Pour les valeurs autorisées, voir les classes sous libraries/classes/Config/Forms/User/.

$cfg['UserprefsDeveloperTab']

Type booléenDefault value false

Active dans les préférences utilisateur un onglet contenant les options pour les développeurs de phpMyAdmin.

4.21 Titres de page

$cfg['TitleTable']

Type chaîneDefault value '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ / @TABLE@ |

@PHPMYADMIN@'

$cfg['TitleDatabase']

Type chaîneDefault value '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ | @PHPMYADMIN@'

$cfg['TitleServer']

Type chaîneDefault value '@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@'

$cfg['TitleDefault']

Type chaîneDefault value '@HTTP_HOST@ | @PHPMYADMIN@'

Vous permet d’indiquer le titre de la fenêtre. Vous pouvez utiliser 6.27 Quels formats de chaînes puis-je utiliser ?.

4.22 Paramètres du gestionnaire de thèmes

$cfg['ThemeManager']

Type booléenDefault value true

Active les thèmes sélectionnables par l’utilisateur. Voir 2.7 Utiliser et créer des thèmes.

$cfg['ThemeDefault']

Type chaîneDefault value 'pmahome'

Le thème par défaut (un sous-répertoire de ./themes/).

$cfg['ThemePerServer']

Type booléenDefault value false

Autorise ou non un thème différent pour chaque serveur.

$cfg['FontSize']

Type chaîneDefault value “82%”

Taille de la police à utilisé, est utilisée dans le CSS.

72 Chapitre 4. Configuration

Page 79: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

4.23 Requêtes par défaut

$cfg['DefaultQueryTable']

Type chaîne

Default value 'SELECT * FROM @TABLE@ WHERE 1'

$cfg['DefaultQueryDatabase']

Type chaîne

Default value ''

Requêtes par défaut qui seront affichées dans les boîtes de requête quand l’utilisateur ne spécifie rien. Vouspouvez utiliser 6.27 Quels formats de chaînes puis-je utiliser ?.

4.24 Paramètres MySQL

$cfg['DefaultFunctions']

Type array

Default value array(. . . )

Fonctions sélectionnées par défaut pour insérer/modifier un enregistrement. Les fonctions sont définies pourles méta-types comme (FUNC_NUMBER, FUNC_DATE, FUNC_CHAR, FUNC_SPATIAL, FUNC_UUID) etpour first_timestamp, qui est utilisé pour la première colonne d’horodatage dans une table.

4.25 Options par défaut pour les transformations

$cfg['DefaultTransformations']

Type array

Default value Un tableau avec les clés-valeurs listées ci-dessous

$cfg['DefaultTransformations']['Substring']

Type array

Default value array(0, “tout”, “. . . ”)

$cfg['DefaultTransformations']['Bool2Text']

Type array

Default value array(“T”, “F”)

$cfg['DefaultTransformations']['External']

Type array

Default value array(0, “-f /dev/null -i -wrap -q”, 1, 1)

$cfg['DefaultTransformations']['PreApPend']

Type array

Default value array(“”, “”)

$cfg['DefaultTransformations']['Hex']

Type array

Default value array(“2”)

$cfg['DefaultTransformations']['DateFormat']

4.23. Requêtes par défaut 73

Page 80: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Type array

Default value array(0, “”, “local”)

$cfg['DefaultTransformations']['Inline']

Type array

Default value array(“100”, 100)

$cfg['DefaultTransformations']['TextImageLink']

Type array

Default value array(“”, 100, 50)

$cfg['DefaultTransformations']['TextLink']

Type array

Default value array(“”, “”, “”)

4.26 Paramètres de la console

Note : Ces réglages sont principalement à modifier par l’utilisateur.

$cfg['Console']['StartHistory']

Type booléen

Default value false

Afficher l’historique des requêtes au démarrage

$cfg['Console']['AlwaysExpand']

Type booléen

Default value false

Toujours développer les messages

$cfg['Console']['CurrentQuery']

Type booléen

Default value true

Afficher la requête de navigation courante

$cfg['Console']['EnterExecutes']

Type booléen

Default value false

Exécuter les requêtes avec Entrée et insérer une nouvelle ligne avec Maj+Entrée

$cfg['Console']['DarkTheme']

Type booléen

Default value false

Passer au thème sombre

$cfg['Console']['Mode']

Type chaîne

Default value « infos »

Mode console de requêtes SQL

74 Chapitre 4. Configuration

Page 81: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg['Console']['Height']

Type entier

Default value 92

Hauteur de la console de requêtes SQL

4.27 Développeur

Avertissement : Ces paramètres peuvent avoir un effet énorme sur les performances ou la sécurité.

$cfg['DBG']

Type array

Default value array(. . . )

$cfg['DBG']['sql']

Type booléen

Default value false

Active la journalisation des requêtes et des temps d’exécution qui sont alors affichés dans la console de l’ongletDebug SQL.

$cfg['DBG']['sqllog']

Type booléen

Default value false

Active la journalisation des requêtes et des temps d’exécution dans syslog. Nécessite que$cfg['DBG']['sql'] soit activé.

$cfg['DBG']['demo']

Type booléen

Default value false

Activer pour permettre au serveur de se présenter comme un serveur de démonstration. Ceci est utilisé pour leserveur de démonstration phpMyAdmin.Actuellement, il modifie le comportement suivant :— Il y a un message d’accueil sur la page principale.— Il y a de l’information de pied de page à propos de la démo de server et de la révision de git utilisée.— Le script d’installation est activé même pour une configuration existante.— L’installation n’essaie pas de se connecter au serveur MySQL.

$cfg['DBG']['simple2fa']

Type booléen

Default value false

Peut être utilisé pour tester l’authentification à deux facteurs avec Authentification simple à deux facteurs.

4.28 Exemple

Consulter les parties de configuration suivantes pour les configurations typiques de phpMyAdmin.

4.27. Développeur 75

Page 82: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

4.28.1 Exemple de base :

Exemple de fichier de configuration qui peut être copié dans config.inc.php pour obtenir une configuration debase pour le rendu. Il est distribué avec phpMyAdmin sous le nom config.sample.inc.php. Veuillez noterqu’il ne contient pas toutes les options de configuration, seulement les plus fréquemment utilisées.

<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//*** phpMyAdmin sample configuration, you can use it as base for

* manual configuration. For easier setup you can use setup/

** All directives are explained in documentation in the doc/ folder

* or at <https://docs.phpmyadmin.net/>.

** @package PhpMyAdmin

*/

/*** This is needed for cookie based authentication to encrypt password in

* cookie. Needs to be 32 chars long.

*/$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/*** Servers configuration

*/$i = 0;

/*** First server

*/$i++;/* Authentication type */$cfg['Servers'][$i]['auth_type'] = 'cookie';/* Server parameters */$cfg['Servers'][$i]['host'] = 'localhost';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['AllowNoPassword'] = false;

/*** phpMyAdmin configuration storage settings.

*/

/* User used to manipulate with storage */// $cfg['Servers'][$i]['controlhost'] = '';// $cfg['Servers'][$i]['controlport'] = '';// $cfg['Servers'][$i]['controluser'] = 'pma';// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';// $cfg['Servers'][$i]['relation'] = 'pma__relation';// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';

76 Chapitre 4. Configuration

Page 83: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

// $cfg['Servers'][$i]['history'] = 'pma__history';// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';// $cfg['Servers'][$i]['recent'] = 'pma__recent';// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';// $cfg['Servers'][$i]['users'] = 'pma__users';// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

/*** End of servers configuration

*/

/*** Directories for saving/loading files from server

*/$cfg['UploadDir'] = '';$cfg['SaveDir'] = '';

/*** Whether to display icons or text or both icons and text in table row

* action segment. Value can be either of 'icons', 'text' or 'both'.

* default = 'both'

*///$cfg['RowActionType'] = 'icons';

/*** Defines whether a user should be displayed a "show all (records)"

* button in browse mode or not.

* default = false

*///$cfg['ShowAll'] = true;

/*** Number of rows displayed when browsing a result set. If the result

* set contains more rows, "Previous" and "Next".

* Possible values: 25, 50, 100, 250, 500

* default = 25

*///$cfg['MaxRows'] = 50;

/*** Disallow editing of binary fields

* valid values are:

* false allow editing

* 'blob' allow editing except for BLOB fields

* 'noblob' disallow editing except for BLOB fields

* 'all' disallow editing

* default = 'blob'

*///$cfg['ProtectBinary'] = false;

/**

4.28. Exemple 77

Page 84: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

* Default language to use, if not browser-defined or user-defined

* (you find all languages in the locale folder)

* uncomment the desired line:

* default = 'en'

*///$cfg['DefaultLang'] = 'en';//$cfg['DefaultLang'] = 'de';

/*** How many columns should be used for table display of a database?

* (a value larger than 1 results in some information being hidden)

* default = 1

*///$cfg['PropertiesNumColumns'] = 2;

/*** Set to true if you want DB-based query history.If false, this utilizes

* JS-routines to display query history (lost by window close)

** This requires configuration storage enabled, see above.

* default = false

*///$cfg['QueryHistoryDB'] = true;

/*** When using DB-based query history, how many entries should be kept?

* default = 25

*///$cfg['QueryHistoryMax'] = 100;

/*** Whether or not to query the user before sending the error report to

* the phpMyAdmin team when a JavaScript error occurs

** Available options

* ('ask' | 'always' | 'never')

* default = 'ask'

*///$cfg['SendErrorReports'] = 'always';

/*** You can find more configuration options in the documentation

* in the doc/ folder or at <https://docs.phpmyadmin.net/>.

*/

Avertissement : N’utilisez pas l’utilisateur de contrôle “pma” s’il n’existe pas encore et n’utilisez pas “pmapass”comme mot de passe.

4.28.2 Exemple pour l’authentification “signon”

Cet exemple utilise examples/signon.php pour montrer l’utilisation de Mode d’authentification “signon” :

<?php$i = 0;

78 Chapitre 4. Configuration

Page 85: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$i++;$cfg['Servers'][$i]['extension'] = 'mysqli';$cfg['Servers'][$i]['auth_type'] = 'signon';$cfg['Servers'][$i]['SignonSession'] = 'SignonSession';$cfg['Servers'][$i]['SignonURL'] = 'examples/signon.php';?>`

4.28.3 Exemple de limitation de l’adresse IP pour la connexion automatique

Si vous voulez vous connecter automatiquement pour accéder à phpMyAdmin localement, et avec la demande d’unmot de passe pour l’accès à distance, vous pouvez utiliser le bout de code suivant :

if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {$cfg['Servers'][$i]['auth_type'] = 'config';$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = 'yourpassword';

} else {$cfg['Servers'][$i]['auth_type'] = 'cookie';

}

Note : Le filtrage basé sur les adresses IP n’est pas fiable sur Internet. Ne l’utiliser que pour les adresses locales.

4.28.4 Exemple pour l’utilisation de plusieurs serveurs MySQL

Vous pouvez configurer plusieurs serveurs en utilisant $cfg['Servers'], l’exemple suivant en propose deux :

<?php$cfg['blowfish_secret']='multiServerExample70518';//any string of your choice$i = 0;

$i++; // server 1 :$cfg['Servers'][$i]['auth_type'] = 'cookie';$cfg['Servers'][$i]['verbose'] = 'no1';$cfg['Servers'][$i]['host'] = 'localhost';$cfg['Servers'][$i]['extension'] = 'mysqli';// more options for #1 ...

$i++; // server 2 :$cfg['Servers'][$i]['auth_type'] = 'cookie';$cfg['Servers'][$i]['verbose'] = 'no2';$cfg['Servers'][$i]['host'] = 'remote.host.addr';//or ip:'10.9.8.1'// this server must allow remote clients, e.g., host 10.9.8.%// not only in mysql.host but also in the startup configuration$cfg['Servers'][$i]['extension'] = 'mysqli';// more options for #2 ...

// end of server sections$cfg['ServerDefault'] = 0; // to choose the server on startup

// further general options ...?>

4.28. Exemple 79

Page 86: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

4.28.5 Google Cloud SQL avec SSL

Pour se connecter à Google Cloud SQL, vous devez désactiver la vérification de certificat. Ceci survient quant le CNdu certificat correspond au nom de votre instance mais que vous vous connectez en utilisant l’adresse IP et PHP essaiede faire correspondre les deux. Quand la vérification est activée, vous obtenez un message d’erreur du type :

Peer certificate CN=`api-project-851612429544:pmatest' did not match expected CN=`8.8.→˓8.8'

Avertissement : En désactivant la vérification, votre trafic est chiffré mais vous êtes vulnérable aux attaque detype « man in the middle ».

Pour connecter phpMyAdmin à Google Cloud SQL en utilisant SSL, télécharger les certificats client et serveur etindiquer à phpMyAdmin de les utiliser :

// IP address of your instance$cfg['Servers'][$i]['host'] = '8.8.8.8';// Use SSL for connection$cfg['Servers'][$i]['ssl'] = true;// Client secret key$cfg['Servers'][$i]['ssl_key'] = '../client-key.pem';// Client certificate$cfg['Servers'][$i]['ssl_cert'] = '../client-cert.pem';// Server certification authority$cfg['Servers'][$i]['ssl_ca'] = '../server-ca.pem';// Disable SSL verification (see above note)$cfg['Servers'][$i]['ssl_verify'] = false;

Voir aussi :

Utilisation de SSL pour la connexion au serveur de base de données, $cfg['Servers'][$i]['ssl'],$cfg['Servers'][$i]['ssl_key'], $cfg['Servers'][$i]['ssl_cert'],$cfg['Servers'][$i]['ssl_ca'], $cfg['Servers'][$i]['ssl_verify'], <https://bugs.php.net/bug.php?id=72048>

80 Chapitre 4. Configuration

Page 87: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 5

Guide utilisateur

5.1 Configuration de phpMyAdmin

phpMyAdmin possède de nombreux paramètres de configuration décrits dans Configuration. Il y a plusieurs couchesdans la configuration.

Les paramètres globaux peuvent être configurés dans config.inc.php comme décrit dans Configuration. C’est laseule manière de configurer les connexions aux base de données et les autres paramètres système.

En plus de tout ceci, des paramètres utilisateur peuvent être stockés en permanence dans Configuration de stockage dephpMyAdmin, et possiblement configurés automatiquement avec Zéro configuration. Si les Configuration de stockagede phpMyAdmin ne sont pas configurées, les paramètres sont temporairement stockés dans les données de session, etsont valides jusqu’à la déconnexion.

Il est aussi possible de sauvegarder la configuration pour utilisation ultérieure, soit en l’enregistrant en fichier, soitdans le stockage local du navigateur. Ces options sont disponibles dans l’onglet Paramètres. Les paramètres stockéslocalement dans le navigateur seront automatiquement chargés lors de la connexion à phpMyAdmin.

5.2 Authentification à deux facteurs

Nouveau dans la version 4.8.0.

Depuis phpMyAdmin 4.8.0, il est possible de configurer l’authentification à deux facteurs pour s’identifier. Pourl’utiliser, il faut d’abord configurer les Configuration de stockage de phpMyAdmin. Une fois fait, chaque utilisateurpourra activer le second facteur d’authentification dans les Paramètres.

Lorsque vous exécutez phpMyAdmin à partir du répertoire source Git, les dépendances doivent être installées manuel-lement ; la façon habituelle de le faire est avec la commande :

composer require pragmarx/google2fa bacon/bacon-qr-code

Ou en utilisant un jeton de sécurité matériel avec FIDO U2F :

81

Page 88: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

composer require samyoul/u2f-php-server

5.2.1 Application d’authentification (2FA)

L’utilisation d’une application pour s’authentifier est une approche assez commune basée sur HOTP et TOTP. L’idéeest de transmettre une clé privée depuis phpMyAdmin vers l’application d’authentification, laquelle sera mesure degénérer un code à usage unique basé sur cette clé.

Il existe des dizaines d’applications disponibles sur mobile qui implémentent ces standards, les plus connues étant :— FreeOTP pour iOS, Android et Pebble— Authy pour iOS, Android, Chrome, OS X— Google Authenticator pour iOS— Google Authenticator pour Android— LastPass Authenticator pour iOS, Android, OS X, Windows

5.2.2 Clé de sécurité matérielle (FIDO U2F)

L’utilisation de jetons matériels est considérée plus sécurisée que les solutions logicielles. phpMyAdmin prend encharge les jetons FIDO U2F.

Il existe plusieurs fabricants pour ces jetons, par exemple :— clé de sécurité youbico FIDO U2F— HyperFIDO— ePass FIDO USB— porte-monnaie Bitcoin TREZOR can act as an U2F token

5.2.3 Authentification simple à deux facteurs

Cette authentification n’est inclue que pour test et démonstration seuls puisqu’elle ne fournit pas vraiment d’authenti-fication à deux facteurs du fait qu’elle demande à l’utilisateur de confirmer son identification en cliquant sur le bouton.

Elle ne devrait pas être utilisé en production et est désactivé à moins que $cfg['DBG']['simple2fa'] ne soitdéfini.

5.3 Transformations

Note : Vous devez avoir configuré Configuration de stockage de phpMyAdmin pour utiliser la fonctionnalité de trans-formations.

5.3.1 Introduction

Pour permettre les transformations, vous devez paramétrer la table column_info et les directives appropriées.Veuillez consulter la section Configuration sur la manière de faire.

Vous pouvez appliquer différentes transformations au contenu de chaque colonne. La transformation prendra lecontenu de chaque colonne et le transformera en fonction des règles définies dans la transformation sélectionnée.

82 Chapitre 5. Guide utilisateur

Page 89: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Imaginons que vous ayez une colonne “nom_de_fichier” qui contient un nom de fichier. Normalement, vous ne verriezdans phpMyAdmin que ce nom de fichier. En utilisant les transformations, vous pouvez transformer ce nom de fichieren lien HTML, et ainsi cliquer sur la structure de phpMyAdmin sur le lien du champ et voir le fichier affiché dansune nouvelle fenêtre de navigateur. En utilisant les options de transformation, vous pouvez également spécifier deschaînes pour préfixer ou suffixer des chaînes ou d’autres formats pour lesquels vous voulez voir le résultat avec cestransformations.

Pour un aperçu général sur les transformations et leurs options, vous pouvez consulter la page <www.votre-hote.com>/<votre-repertoire-installation>/transformations_overview.php de votre installation.

Pour un tutoriel sur la façon d’utiliser efficacement les transformations, voir notre section Liens sur la page d’accueilofficielle de phpMyAdmin.

5.3.2 Utilisation

Consultez votre page tbl_structure.inc.php (c’est-à-dire, atteindre la page en cliquant le lien “Structure” d’une table).Cliquez alors sur « Modifier » (ou l’icône Modifier) et alors vous verrez trois nouveaux champs à la fin de la ligne quisont : “Type MIME”, “Transformation” et “Options de transformation”.

— Le champ “Type MIME” est un champ déroulant. Sélectionnez le type MIME qui correspond au contenu de lacolonne. Veuillez noter que les transformations sont inactives tant qu’aucun type MIME n’est sélectionné.

— Le champ “Browser transformation” est un champ à liste déroulante. Vous pouvez choisir à partir d’une listegrandissant sans cesse de transformations prédéfinies. Voir ci-dessous pour des informations sur la manière deconstruire vos propres transformations. Il existe des transformations globales et des transformations liées auxtypes MIME. Les transformations globales peuvent être utilisées pour tous les types MIME. Elles prendront sinécessaire le type MIME en considération. Les transformations liées au type MIME n’opèrent habituellementque sur un certain type MIME. Il existe des transformations qui opèrent sur le type MIME principal (comme“image”), et qui prendront très vraisemblablement en compte le sous-type, et celles qui n’opèrent que sur unsous-type spécifique (comme “image/jpeg”). Vous pouvez utiliser les transformations sur les types MIME pourlesquels la fonction n’a pas été prévue. Il n’y a pas de vérification pour s’assurer que vous avez choisi la bonnetransformation, aussi, assurez-vous du résultat du traitement.

— Le champ « Options de transformation » est un champ de texte libre. Il faut saisir des options de fonction detransformation spécifiques ici. Habituellement, les transformations peuvent opérer avec les options par défaut,mais il est conseillé de s’assurer des options nécessaires. Comme pour les champs ENUM/SET, il faut séparerplusieurs options en utilisant le format “a”,”b”,”c”,. . . (NOTEZ L’ABSENCE D’ESPACES). La raison est queles options seront analysées comme un tableau, la première valeur étant vue comme le premier élément dutableau, et ainsi de suite. Pour spécifier un jeu de caractères MIME, il est possible de le définir dans transfor-mation_options. Il faut mettre cela hors des options prédéfinies d’une transformation mime spécifique, commedernière valeur du jeu. Utiliser le format « ” ; charset=XXX” ». En cas d’utilisation d’une transformation pourlaquelle il est possible de spécifier deux options et pour y ajouter un jeu de caractères, saisir « “premier para-mètre”,”second paramètre”,”charset=us-ascii” ». Il est toutefois possible d’utiliser les paramètres par défaut :« ”“,”“,”charset =us-ascii” »

5.3.3 Structure de fichier

Toutes les transformations spécifiques des types MIME sont définies en fichiers de classes dans le répertoire « libra-ries/classes/Plugins/Transformations/ ». Chacun d’eux étend une certaine classe abstraite de transformation déclaréedans libraries/classes/Plugins/Transformations/Abs.

Ils sont emmagasinés dans des fichiers pour faciliter la personnalisation et l’ajout aisé de nouvelles transformations.

Parce que l’utilisateur ne peut pas mettre ses propres types mime, on garde l’assurance que les transformations fonc-tionnent toujours. Cela n’a pas de sens d’appliquer une transformation à un type mime, que la fonction de transforma-tion ne sait pas manipuler.

5.3. Transformations 83

Page 90: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Il y a un fichier de base appelé “transformations.lib.php” qui fournit des fonctions de base qui peuvent être inclusesdans une autre fonction de transformation.

La convention de nommage de fichier est [Mimetype]_[Subtype]_[TransformationName].class.php, alors que la classe abstraite qui l’étend prend le nom [TransformationName]TransformationsPlugin. Toutes les méthodes qui doivent être implémentées par un plugin detransformation sont :

1. getMIMEType() et getMIMESubtype() dans la classe principale ;

2. getName(), getInfo() et applyTransformation() dans la classe abstraite qui l’étend.

Les méthodes getMIMEType(), getMIMESubtype() et getName() renvoient le nom du type MIME, les sous-typeMIME et la transformation respectivement. getInfo() renvoie la description de la transformation et les options éven-tuelles qu’il peut recevoir et applyTransformation() est la méthode qui effectue en fait le travail de transformation duplugin.

Merci de consulter les fichiers libraries/classes/Plugins/Transformations/TEMPLATE et libra-ries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT pour ajouter un plugin de transformation propre àl’utilisateur. Il est aussi possible de générer un nouveau plugin de transformation (avec ou sans la classe abstraitede transformation), en utilisant scripts/transformations_generator_plugin.sh ou scripts/transformations_generator_main_class.sh.

La méthode applyTransformation() a toujours besoin de trois variables :

1. $buffer - contient le texte de la colonne. C’est le texte que vous voulez transformer.

2. $options - contient toutes les options passées par l’utilisateur à la fonction de transformation sous forme detableau.

3. $meta - contient un objet avec une information sur votre colonne. L’information est tirée du résultat de la fonc-tion mysql_fetch_field(). Cela signifie, que toutes les propriétés décrites sur la page du manuel sont disponiblesdans cette variable et peuvent être utilisées pour transformer une colonne en accord avec les propriétés unsi-gned/zerofill/not_null/. . . La variable $meta->mimetype contient le type MIME original de la colonne (c-à-d.“text/plain”, “image/jpeg” etc.)

5.4 Signets

Note : Vous devez avoir configuré Configuration de stockage de phpMyAdmin pour utiliser la fonctionnalité de signets.

5.4.1 Stockage des signets

Dès que vous avez stocké un signet, il est relié à la base de données dans laquelle vous avez exécuté la requête. Voustrouverez un bouton libellé : Conserver cette requête SQL dans les signets juste à la fin de la page. Dès qu’un signetest stocké, il est relié à la base de données sur laquelle vous avez exécuté la requête. Vous pouvez maintenant avoiraccès à une liste déroulante de signets sur chacune des pages sur lesquelles la boîte de requête apparaît sur cette basede données.

5.4.2 Variables dans les signets

Vous pouvez aussi avoir, à l’intérieur d’une requête, des espaces réservés pour des variables. Ceci est effec-tué en insérant dans la requête un commentaire SQL entre /* et */. Dans le commentaire, la chaîne spéciale[VARIABLE{variable-number}] est utilisée. Gardez à l’esprit que toute la requête, moins le commentaire,doit être valide, sans quoi vous ne pourrez pas la stocker comme un signet.

84 Chapitre 5. Guide utilisateur

Page 91: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Quand vous exécutez un signet, tout ce qui est saisi dans les boîtes de variables sur la page de requête remplacera lachaîne /*[VARIABLE{variable-number}]*/ dans votre requête stockée.

Rappelez-vous également que tout ce qui se trouve à l’intérieur de la chaîne /

*[VARIABLE{variable-number}]*/ pour votre requête restera en l’état, mais sera débarrassé des caractères/**/. Donc vous pouvez utiliser :

/*, [VARIABLE1] AS myname */

qui sera reproduit en

, VARIABLE1 as myname

dans votre requête, où VARIABLE1 est la chaîne que vous avez saisie dans la boîte de saisie relative à la variable 1.

Un exemple plus complexe. Disons que vous avez stocké cette requête :

SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE '%[VARIABLE1]%' */

Imaginons que vous saisissiez « phpMyAdmin » comme variable pour votre requête stockée, la requête complète sera :

SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'

REMARQUEZ L’ABSENCE D’ESPACES à l’intérieur de la construction /**/. Tout espace inséré sera plus tardégalement inséré en tant qu’espace dans votre requête et peut conduire à des résultats inattendus, particulièrement enutilisant l’expansion de variable dans une expression « LIKE “” ».

5.4.3 Parcours des tables en utilisant les signets

Quand un signet est nommé de la même façon qu’une table, il sera utilisé comme requête lors du parcours de la table.

Voir aussi :

6.18 Signets : Où puis-je stocker les signets ? Pourquoi aucun signet n’est visible en-dessous de la boîte de requête ?Quel est le but de ces variables ?, 6.22 Signets : Puis-je exécuter automatiquement en entrant en mode Afficher pourune table ?

5.5 Gestion des utilisateurs

La gestion des utilisateurs est le processus contrôlant les utilisateurs autorisés à se connecter au serveur MySQL etdéfinissant les permissions d’accès sur chaque base de données. phpMyAdmin ne gère pas les utilisateurs : il passele nom et le mot de passe utilisateur à MySQL, qui détermine alors si un utilisateur est autorisé à réaliser une actionparticulière. Dans phpMyAdmin, les administrateurs ont tous les droits pour créer, voir et éditer les privilèges ousupprimer les utilisateurs.

Dans phpMyAdmin, la gestion des utilisateurs est contrôlée par le lien Users dans la page principale. Les utilisateurspeuvent être créés, modifiés et supprimés.

5.5.1 Création d’un nouvel utilisateur

Pour créer un nouvel utilisateur, cliquez sur le lien Ajouter un nouvel utilisateur en bas de la page Utilisateurs (vousdevez être un « super utilisateur », par exemple « root »). Utilisez les boîtes de texte et les listes déroulantes pourconfigurer l’utilisateur selon vos besoins. Vous pouvez alors choisir s’il faut créer une base de données pour cetutilisateur et accorder des privilèges globaux spécifiques. Une fois créé (en cliquant sur « Go »), vous pouvez définir

5.5. Gestion des utilisateurs 85

Page 92: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

les permissions de l’utiliateur sur une base de données spécifique (n’accordez pas de privilèges globaux dans ce cas).En général, les utilisateurs n’ont pas besoin de privilèges globaux (autre que USAGE), seulement des permissions surleur base de données spéciffique.

5.5.2 Modification d’un utilisateur existant

Pour modifier un utilisateur existant, cliquez sur l’icône représentant un crayon à droite de l’utilisateur dans la pageUtilisateurs. Vous pouvez modifier ses privilèges globaux ou spécifiques à une base de données, modifier son mot depasse ou copier ses privilèges vers un nouvel utilisateur.

5.5.3 Suppression d’un utilisateur

Dans la page Utilisateurs, cochez la case de l’utilisateur à supprimer, choisissez ou non de supprimer les bases dedonnées du même nom (s’il en existe) et cliquez sur « Go ».

5.5.4 Affectation de privilèges à un utilisateur pour une base de données spéci-fique

Les utilisateurs sont assignés à des bases de données en éditant l’enregistrement utilisateur (à partir du lien Utilisateursde la page d’accueil) et non à partir du lien Utilisateurs sous la table. Si vous créez un utilisateur spécifiquement pourune table, vous devez d’abord le créer (sans privilège global) puis revenir et éditer cet utilisateur pour ajouter la tableet les privilèges.

5.5.5 Menus et groupes utilisateurs configurables

En activant $cfg['Servers'][$i]['usergroups'] et $cfg['Servers'][$i]['usergroups']vous pouvez personnaliser ce que les utilisateurs verront dans l’interface de phpMyAdmin.

Avertissement : Cette fonctionnalité limite ce que peut voir un utilisateur, il reste toujours capable d’utiliser toutesles fonctions. Ceci n’est donc pas considéré comme une limitation de sécurité. Pour cela, vous devez utiliser lesprivilèges de MySQL.

Avec cette fonctionnalité activée, l’interface de gestion Comptes utilisateurs s’agrémente d’un nouvel onglet pour lagestion des Groupes utilisateurs, où vous pouvez définir ce que chaque groupe peut voir (voir l’image ci-dessous)et vous pouvez affecter un utilisateur à un groupe. Les utilisateurs auront alors une interface simplifiée, ce qui peuts’avérer utile pour des utilisateurs inexpérimentés qui seraient noyés par toutes les fonctionnalités que phpMyAdminpropose.

86 Chapitre 5. Guide utilisateur

Page 93: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

5.6 Relations

phpMyAdmin permet les relations (similaires au clés étrangères) en utilisant les méthodes natives MySQL (InnoDB)quand elles sont disponibles et les fonctionnalités spéciales propres à phpMyAdmin quand c’est nécessaire. Il existedeux façons d’éditer ces relations, avec la vue relation et le concepteur, qui sont expliqués sur cette page.

Note : Vous devez avoir configuré Configuration de stockage de phpMyAdmin pour utiliser les relations propres àphpMyAdmin.

5.6.1 Informations techniques

Actuellement, le seul type de table MySQL gérant nativement les relations est InnoDB. Lors de l’utilisation d’unetable InnoDB, phpMyAdmin créera de réelles relationsInnoDB qui seront mises en œuvre par MySQL, quelle quesoit l’application accédant à la base de données. Dans le cas d’un autre type de table, phpMyAdmin met en œuvre lesrelations en interne et ces relations ne sont pas disponibles pour d’autres applications.

5.6.2 Vue relationnelle

Pour que cela fonctionne, vous devez avoir créé correctement la [[pmadb|pmadb]]. Une fois fait, sélectionnez la page« Structure » d’une table. Sous la définition de la table, un lien appelé « Vue relationnelle » est affiché. Si vous cliquezsur ce lien, une page sera affichée proposant de créer un lien vers une autre table pour la plupart des champs. Seules lesCLÉS PRIMAIRES sont affichées ici, donc si le champ auquel vous voulez vous référer n’est pas affiché, vous faitesprobablement une erreur. La liste déroulante en bas est la champ qui sera utilisé comme nom pour l’enregistrement.

5.6. Relations 87

Page 94: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Exemple de vue relationnelle

Supposons que vous ayez des catégories et des liens et qu’une catégorie peut contenir plusieurs liens. Votre structure

88 Chapitre 5. Guide utilisateur

Page 95: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

de table ressemblera à ceci :— category.category_id (doit être unique)— category.name— link.link_id— link.category_id— link.uri.

Ouvrez la page de la vue relationnelle (sous la structure de la table) pour la table link et pour le champ category_id etsélectionnez category.category_id comme enregistrement maître.

Si vous parcourez maintenant la table link, le champ category_id sera un lien hypertexte cliquable vers l’enregistrementcatégorie. Mais ce que vous verrez sera seulement category_id et non le nom de la catégorie.

Pour corriger cela, ouvrez la vue relationnelle de la table category et dans la liste déroulante en bas, sélectionnez« nom ». Maintenant, si vous parcourez la table link et que vous passez la souris au-dessus de l’hyperlien category_id,la valeur de la catégorie relative sera affichée sous forme d’info-bulle.

5.6.3 Concepteur

La fonctionnalité Concepteur est un moyen graphique de créer, modifier et afficher les relations de phpMyAdmin. Cesrelations sont compatibles avec celles créées dans la vue relationnelle de phpMyAdmin.

5.6. Relations 89

Page 96: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Pour utiliser cette fonctionnalité, vous devez avoir correctement configuré les Configuration de stockage de phpMyAd-min et avoir configuré $cfg['Servers'][$i]['table_coords'].

Pour utiliser le concepteur, sélectionnez une page de structure de base de données, puis cherchez l’onglet Concepteur.

Pour exporter la vue en PDF, vous devez d’abord créer les pages PDF. Le concepteur crée l’agencement, la façon dontles tables seront affichées. Pour pouvoir enfin exporter la vue, vous devez le faire avec une page PDF en sélectionnantvotre agencement créé dans le concepteur.

Voir aussi :

6.8 Comment puis-je produire un schéma PDF de ma base de données ?

5.7 Tableaux

Nouveau dans la version 3.4.0.

Depuis la version 3.4.0 de phpMyAdmin, vous pouvez facilement générer des graphiques à partir d’un requête SQLen cliquant sur le lien « Afficher le graphique » dans la zone « Opérations sur les résultats de la requête ».

Une fenêtre « Afficher le graphique » est affichée dans laquelle il est possible de personnaliser le graphique avec lesoptions suivantes.

— Type de graphique : Permet de choisir le type de graphique. Les types gérés sont : graphiques en barres, encolonnes, en lignes, spline, en aires, en tarte et en moment (seuls les types applicables pour chaque série sontproposés).

— Axe des X : permet de choisir le champ pour l’axe principal.— Séries : permet de choisir des séries pour le graphique. Vous pouvez choisir plusieurs séries.— Titre : permet de spécifier un titre pour le graphique qui est affiché au-dessus du graphique.— Intitulés pour l’axe des X et des Y : permet de spécifier des libellés pour les axes.— Ligne de départ et nombre de lignes : permet de générer des graphiques pour un nombre de lignes déterminé.

90 Chapitre 5. Guide utilisateur

Page 97: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

5.7.1 Mise en œuvre des graphiques

Les graphiques dans phpMyAdmin sont construits en utilisant la bibliothèque JQuery jqPlot.

5.7.2 Exemple

Graphique en camembert

Les résultats de requête pour un graphique en camembert simple peut être généré avec :

SELECT 'Food' AS 'expense',1250 AS 'amount' UNION

SELECT 'Accommodation', 500 UNIONSELECT 'Travel', 720 UNIONSELECT 'Misc', 220

Et le résultat de la requête est :

dépenses montantNourriture 1250Hébergement 500Voyage 720Divers 220

Choisir les dépenses pour l’axe des abscisses et le montant dans les séries :

5.7. Tableaux 91

Page 98: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Graphique en barres et en colonnes

Les graphiques en barres et en colonnes gèrent l’empilage. Lors de la sélection de l’un de ces types, une case à cocherest affichées pour sélectionner l’empilage.

Les résultats de requêtes pour un graphique en barres ou en colonnes simple peut être généré avec :

SELECT'ACADEMY DINOSAUR' AS 'title',0.99 AS 'rental_rate',20.99 AS 'replacement_cost' UNION

SELECT 'ACE GOLDFINGER', 4.99, 12.99 UNIONSELECT 'ADAPTATION HOLES', 2.99, 18.99 UNIONSELECT 'AFFAIR PREJUDICE', 2.99, 26.99 UNIONSELECT 'AFRICAN EGG', 2.99, 22.99

Et le résultat de la requête est :

titre rental_rate replacement_costACADÉMIE DINOSAURE 0,99 20,99ATOUT 4,99 12,99TROUS D’ADAPTATION 2,99 18,99AFFAIRE PRÉJUDICE 2,99 26,99ŒUF AFRICAIN 2,99 22,99

Choisir le titre comme axe des abscisses et rental_rate et replacement_cost comme séries :

92 Chapitre 5. Guide utilisateur

Page 99: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Graphique en nuage de points

Les graphiques en nuages de points sont utiles pour identifier une variation d’une ou plusieurs variables en fonctiondes autres.

Utilisation du même jeu de données dans la section graphique en barres ou en colonnes et replacement_cost commeaxe des abscisses et rental_rate dans les séries :

5.7. Tableaux 93

Page 100: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Graphiques en lignes, spline et temporels

Ces graphiques peuvent être utilisés pour illustrer des tendances. Les graphiques spline dessinent des lignes régu-lières alors que les graphiques temporels dessinent l’axe des abscisses en prenant en compte les distances entre lesdates/heures.

Les résultats de requête pour un graphique en lignes, spline ou temporel simple peut être généré avec :

SELECTDATE('2006-01-08') AS 'date',2056 AS 'revenue',1378 AS 'cost' UNION

SELECT DATE('2006-01-09'), 1898, 2301 UNIONSELECT DATE('2006-01-15'), 1560, 600 UNIONSELECT DATE('2006-01-17'), 3457, 1565

Et le résultat de la requête est :

date revenu coût08-01-2016 2056 137809-01-2006 1898 230115-01-2006 1560 60017-01-2006 3457 1565

94 Chapitre 5. Guide utilisateur

Page 101: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

5.7. Tableaux 95

Page 102: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

5.8 Importer et exporter

5.8.1 Importer

Pour importer des données, aller dans l’onglet « Import » de phpMyAdmin. Pour importer des données dans une basede données ou une table spécifique, ouvrir la base de données ou la table avant d’aller dans l’onglet « Import ».

En plus de l’onglet normal « Importer et exporter », il est aussi possible d’importer un fichier SQL directement en leglissant-déposant depuis le gestionnaire de fichiers locaux sur l’interface de phpMyAdmin dans le navigateur.

En cas de problèmes pour l’importation de gros fichiers, merci de consulter 1.16 Je ne peux pas transférer de grosfichiers d’exportation (problèmes de mémoire, HTTP ou de temporisation - timeout)..

Il est possible d’importer en utilisant les méthodes suivantes :

Téléversement à l’aide d’un formulaire

Peut être réalisé avec tous les formats de fichiers gérés, et aussi les fichiers .gz ou .bz2, par exemple,mydump.sql.gz .

Requêtes SQL à l’aide d’un formulaire

Peut être réalisé avec tout export SQL valide.

Utilisation d’un répertoire de téléversement

Vous pouvez indiquer un répertoire de téléversement sur votre serveur Web où phpMyAdmin est ins-tallé. Après avoir téléversé votre fichier dans ce répertoire, vous pouvez le sélectionner dans le dialogued’import de phpMyAdmin, voir $cfg['UploadDir'].

phpMyAdmin peut importer différents formats couramment utilisés.

CSV

Le format de fichier de valeurs séparées par des virgules (CSV), souvent utilisés dans les tableurs et d’autres pro-grammes pour les imports/exports.

Note : Lors de l’import de données dans une table à partir d’un fichier CSV où la table à un champ “auto_increment”,mettez la valeur “auto_increment” pour chaque enregistrement dans le champ CSV à “0” (zéro). Ceci permet au champ“auto_increment” de fonctionner correctement.

Il est maintenant possible d’importer un fichier CSV au niveau du serveur ou de la base de données. Au lieu d’avoir àcréer une table pour y importer le fichier CSV, la structure la plus adaptée sera déterminée pour vous et les données yseront importées. Toutes les autres fonctionnalités, prérequis et limitations restent inchangés.

CSV en utilisant LOAD DATA

Similaire à CSV, mais utilisant l’analyseur interne de MySQL au lieu de celui de phpMyAdmin.

Fichier Shape d’ESRI

Les fichier shape d’ESRI est un format populaire de données vectorielles géospatiales utilisés dans les logiciels desystème d’information géographique. Il est développé et régulé par ESRI sous forme d’une spécification (presque)libre pour l’inter-opérabilité de données entre les logiciels ESRI et les autres logiciels.

96 Chapitre 5. Guide utilisateur

Page 103: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

MediaWiki

Les fichiers MediaWiki, qui peuvent être exportés par phpMyAdmin (version 4.0 et suivantes), peuvent maintenantêtre importés. C’est le format utilisé par Wikipedia pour afficher les tables.

Open Document Spreadsheet (ODS)

Les classeurs OpenDocument contenant une ou plusieurs feuilles de tableurs peuvent maintenant être importés direc-tement.

Pour importer un fichier ODS, les feuilles de tableur doivent être nommées d’une manière spécifique pour rendrel’import aussi simple que possible.

Nom de table

Pendant l’import, phpMyAdmin utilise le nom de la feuille comme nom de table. Vous devez renommer les feuillesdans votre classeur pour que leurs noms correspondent à ceux des tables existantes (ou de la table que vous vou-lez créer, bien que ce soit moins problématique puisque vous pouvez rapidement renommer la table dans l’ongletOpération).

Noms de colonnes

La première ligne de votre feuille de tableur doit contenir le com des colonnes (ceci peut être accompli en insérant unenouvelle ligne en haut de votre feuille). Sur l’écran d’import, cochez la case « La première ligne du fichier contient lenom des colonnes de la table ». De cette façon, les données seront importées dans les bonnes colonnes.

Note : Les formules et calculs ne seront PAS évalués, seules les dernières valeurs enregistrées seront chargées.Assurez-vous que toutes les valeurs soient dans l’état désiré avant l’import.

SQL

SQL peut être utilisé pour manipuler les données. Il est aussi utile pour restaurer des données.

XML

Les fichiers XML exportés par phpMyAdmin (version 3.3.0 et suivantes) peuvent désormais être importés. Les struc-tures (bases de données, tables, vues, déclencheurs, etc.) et/ou les données seront créées en fonction du contenu dufichier.

Les schémas XML gérés ne sont pas encore documentés dans ce wiki.

5.8.2 Exporter

phpMyAdmin peut faire des exports sous forme de fichiers texte (même compressés) sur votre disque local (ou dansle dossier $cfg['SaveDir'] de votre serveur Web) dans divers formats :

5.8. Importer et exporter 97

Page 104: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

CodeGen

Format NHibernate. Versions prévues : Java, Hibernate, PHP PDO, JSON, etc. Donc le nom préliminaire est codegen.

CSV

Le format de fichier de valeurs séparées par des virgules (CSV), souvent utilisés dans les tableurs et d’autres pro-grammes pour les imports/exports.

CSV pour Microsoft Excel

C’est une version pré-configurée d’un export CSV qui peut être importée dans la plupart des versions anglaises deMicrosoft Excel. Certaines versions localisées (comme le danois) nécessitent « ; » au lieu de « , » comme séparateurde champ.

Microsoft Word 2000

Si vous utilisez Microsoft Word 2000 ou les versions suivantes (ou compatibles comme OpenOffice.org), vous pouvezutiliser cet export.

JSON

JSON (JavaScript Object Notation) est un format d’échange de données léger. Il est facile à lire et écrire pour leshumains et facile à analyser et générer pour les machines.

Modifié dans la version 4.7.0 : La structure JSON générée a été changée dans phpMyAdmin 4.7.0 pour produire desdonnées JSON valides.

Le JSON généré est une liste d’objets avec les attributs suivants :

typeLe type d’un objet donné peut être :

header En-tête d’export contenant un commentaire et la version de phpMyAdmin.

database Marqueur de début de base de données, contenant le nom de la base de données.

table Export de données de tables.

versionUtilisé dans header type et indique la version de phpMyAdmin.

commentCommentaire textuel facultatif.

nameNom d’objet - table ou base de données basé sur type.

databaseNom de base de données pour table type.

dataContenu de table pour table type.

Exemple de sortie :

98 Chapitre 5. Guide utilisateur

Page 105: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

[{

"comment": "Export to JSON plugin for PHPMyAdmin","type": "header","version": "4.7.0-dev"

},{

"name": "cars","type": "database"

},{

"data": [{

"car_id": "1","description": "Green Chrysler 300","make_id": "5","mileage": "113688","price": "13545.00","transmission": "automatic","yearmade": "2007"

}],"database": "cars","name": "cars","type": "table"

},{

"data": [{

"make": "Chrysler","make_id": "5"

}],"database": "cars","name": "makes","type": "table"

}]

LaTeX

Si vous voulez intégrer des données de table ou de structure en LaTeX, c’est un bon choix.

LaTeX est un système de composition adapté pour les productions de documents scientifiques et mathématiques dequalité. Il est aussi adapté pour la production de toutes sortes de documents, de la simple lettre à des livres complets.LaTeX utilise TeX comme moteur de formatage. Vous pouvez en apprendre plus sur TeX et LaTeX sur the Compre-hensive TeX Archive Network et short description of TeX.

La sortie doit être intégrée dans un document LaTeX avant d’être rendue, par exemple dans le document suivant :

\documentclass{article}\title{phpMyAdmin SQL output}\author{}\usepackage{longtable,lscape}\date{}\setlength{\parindent}{0pt}\usepackage[left=2cm,top=2cm,right=2cm,nohead,nofoot]{geometry}

5.8. Importer et exporter 99

Page 106: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

\pdfpagewidth 210mm\pdfpageheight 297mm\begin{document}\maketitle

% insert phpMyAdmin LaTeX Dump here

\end{document}

MediaWiki

Les tables et les données doivent être exportées dans le format MediaWiki, qui est utilisé par Wikipedia pour afficherles tables. Il peut exporter les structures, les données ou les deux, y compris les en-têtes et les noms de tables.

Feuilles de tableur OpenDocument

Standard ouvert pour les données de tableurs, qui a été largement adopté. beaucoup de programmes de tableurs récentscomme LibreOffice, OpenOffice et Google Docs savent manipuler ce format. De plus, certaines versions de MicrosoftExcel peuvent être adaptées pour utiliser les formats OpenDocument à l’aide d’outil comme <http://odf-converter.sourceforge.net/>.

Texte OpenDocument

Nouveau standard pour les données texte qui a été adopté largement. La plus des traitement de texte (comme OpenOf-fice.org, AbiWord ou KWord) savent le manipuler.

PDF

Pour des raisons de présentation, des PDF non éditables pourraient être le meilleur choix pour vous.

Tableau PHP

Vous pouvez générer un fichier PHP déclarant un tableau multi-dimensionnel avec le contenant de la table ou de labase de données sélectionnée.

SQL

Les export SQL peuvent être utilisés pour restaurer votre base de données, et donc est utile pour les sauvegardes.

L’option « Taille maximum de la requête générée » semble ne pas être documentée. Mais l’expérience a montré qu’ildécoupait de gros INSERTS en plusieurs dont la taille ne dépasse pas le nombre d’octets donnés (ou caractères ?). Parconséquent, lors de l’import du fichiers, pour de grosses tables, vous éviterez d’avoir l’erreur : « Got a packet biggerthan “max_allowed_packet” bytes ».

Voir aussi :

https://dev.mysql.com/doc/refman/5.7/en/packet-too-large.html

100 Chapitre 5. Guide utilisateur

Page 107: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Options de données

Insertions complètes ajoute le nom des colonnes dans le fichiers d’export SQL. Ce paramètre améliore la lisibilitéet la robustesse du fichier d’export. Ajouter le nom de la colonne augmente la taille du fichier, mais en combinaisonsavec les « Insertions étendues », c’est négligeable.

Insertions étendues combine plus lignes de données dans une seule requête INSERT. Ceci réduit significativement lataille des fichiers d’export SQL, accélère l’importation et est généralement recommandé.

Voir aussi :

http://www.scriptalicious.com/blog/2009/04/complete-inserts-or-extended-inserts-in-phpmyadmin/

Texy !

Format de balisage Texy!. Vous pouvez voir un exemple sur Texy! demo.

XML

Export facilement analysable à utiliser avec des scripts personnalisés.

Modifié dans la version 3.3.0 : Le schéma XML utilisé a été changé à partir de la version 3.3.0

YAML

YAML est un format de sérialisation de données facilement lisible pour un humain et très puissante en termes detraitement ( <http://www.yaml.org> ).

5.9 Thèmes personnalisés

phpMyAdmin peut gérer les thèmes de tiers. Vous pouvez télécharger des thèmes supplémentaires sur notre si Web<https://www.phpmyadmin.net/themes/>.

5.9.1 Configuration

Les thèmes sont configurés avec $cfg['ThemeManager'] et $cfg['ThemeDefault']. Sous :file :./themes/,vous ne devez pas supprimer le répertoire pmahomme ou ses sous-répertoires, car c’est le thème système utilisé parphpMyAdmin. pmahomme contient tous les styles et images, pour des raisons de compatibilité descendante et pourtous les thèmes qui ne comportent pas d’images ou de fichiers css. Si $cfg['ThemeManager'] est activé, vouspouvez sélectionner votre thème préféré dans la page principale. Votre thème sélectionné sera stocké dans un cookie.

5.9.2 Création d’un thème personnalisé

Pour créer un thème :— créez un nouveau sous-répertoire (par exemple « votre_nom_de_theme ») dans ./themes/.— copiez les fichiers et les répertoires de pmahomme vers « votre_nom_de_theme »— éditez vos fichiers css dans « votre_nom_de_theme/css »— mettez vos nouvelles images dans « votre_nom_de_theme/img »— éditez layout.inc.php dans « votre_nom_de_theme »

5.9. Thèmes personnalisés 101

Page 108: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— éditez theme.json dans « votre_nom_de_theme » pour qu’il contienne les méta-données du thème (voirci-dessous)

— faites un nouveau cliché de votre thème et enregistrez-le sous « votre_nom_de_theme/screen.png »

Méta-données de thème

Modifié dans la version 4.8.0 : Avant la version 4.8.0, les méta-données de thème étaient passées dans le fichier info.inc.php. Ceci a été remplacé par le fichier file :theme.json pour permettre une analyse plus facile (sans avoir besoinde faire du code PHP) et pour gérer des fonctionnalités supplémentaires.

Dans le répertoire des thèmes se trouve le fichier theme.json qui contient les méta-données de thème. Il se composeactuellement ainsi :

nameNom d’affichage du thèmeCe champ est obligatoire.

versionLe numéro de version du thème, qui peut être arbitraire et qui n’a pas besoin de correspondre au numéro deversion de phpMyAdmin.Ce champ est obligatoire.

desciptionDescription du thème. Ceci sera affiché sur le site Web.Ce champ est obligatoire.

authorNom de l’auteur du thème.Ce champ est obligatoire.

urlLien vers le site Web de l’auteur du thème. C’est une bonne idée pour indiquer comment obtenir de l’assistance.

supportsTableau des versions majeures de phpMyAdmin gérées.Ce champ est obligatoire.

Exemple : définition du thème Original livré avec phpMyAdnin 4.8 :

{"name": "Original","version": "4.8","description": "Original phpMyAdmin theme","author": "phpMyAdmin developers","url": "https://www.phpmyadmin.net/","supports": ["4.8"]

}

Partage d’images

Si vous ne voulez pas utiliser vos propres symboles et boutons, supprimez le répertoire « img » dans« votre_nom_de_theme ». phpMyAdmin utilisera les icônes et boutons par défaut (du thème système pmahomme).

102 Chapitre 5. Guide utilisateur

Page 109: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

5.10 Autres sources d’informations

5.10.1 Livre imprimé

Le guide d’utilisation de phpMyAdmin est le livre « Mastering phpMyAdmin for Effective MySQL Management »par MArc Delisle. Vous pouvez obtenir des informations sur ce livre et d’autres livres officiels sur la page livres dusite phpMyAdmin.

5.10.2 Tutoriels

Articles et tutoriels de tiers que vous pourriez trouver intéressants :

Cesky (Tchèque)

— Seriál o phpMyAdminovi

Anglais

— Having fun with phpMyAdmin’s MIME-transformations & PDF-features— Learning SQL Using phpMyAdmin (old tutorial)

(Russe)

— Serveur russe sur phpMyAdmin

5.10. Autres sources d’informations 103

Page 110: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

104 Chapitre 5. Guide utilisateur

Page 111: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 6

FAQ - Foire Aux Questions

Veuillez jeter un œil à notre section Liens sur la page d’accueil officielle de phpMyAdmin pour une revue détailléedes fonctionnalités de phpMyAdmin et/ou de son interface.

6.1 Serveur

6.1.1 1.1 Mon serveur plante chaque fois qu’une action spécifique est requise ouphpMyAdmin renvoie une page vide ou remplie de caractères cryptiques, quepuis-je faire ?

Essayez de paramétrer la directive $cfg['OBGzip'] à false dans votre fichier config.inc.php et la directivezlib.output_compression à Off dans votre fichier de configuration php.

6.1.2 1.2 Mon serveur Apache plante en utilisant phpMyAdmin.

Vous devriez d’abord essayer les dernières versions d’Apache, et si possible de MySQL. Si votre serveur continue àplanter, veuillez demander de l’aide dans les divers groupes d’entraide de Apache.

Voir aussi :

1.1 Mon serveur plante chaque fois qu’une action spécifique est requise ou phpMyAdmin renvoie une page vide ouremplie de caractères cryptiques, que puis-je faire ?

105

Page 112: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.1.3 1.3 (retiré).

6.1.4 1.4 J’utilise phpMyAdmin avec IIS, et j’obtiens le message d’erreur : « L’ap-plication CGI spécifiée a mal fonctionné en ne renvoyant pas de jeu completd’en-têtes HTTP. . . ».

Vous avez juste oublié de lire le fichier install.txt de la distribution PHP. Consultez le dernier message dans ce rapportde bogue de la base de données officielle de bogues de PHP.

6.1.5 1.5 J’utilise phpMyAdmin avec IIS, et je suis confronté à des plantages et/oubeaucoup de messages d’erreur avec l’authentification HTTP.

Ceci est un problème connu du filtre ISAPI de PHP : il n’est pas très stable. Veuillez utiliser plutôt le mode d’authen-tification par cookie.

6.1.6 1.6 Je ne peux pas utiliser phpMyAdmin avec PWS : rien ne s’affiche !

Cela semble être un bogue de PWS. Filippo Simoncini a trouvé une solution de rechange (pour le moment, il n’y apas de meilleur moyen) : supprimez ou mettez en commentaire les déclarations de DOCTYPE (deux lignes) des scriptslibraries/Header.class.php et index.php.

6.1.7 1.7 Comment puis-je compresser avec gzip un fichier d’exportation ou unexport CSV ? Il semble que cela ne fonctionne pas.

Cette fonctionnalité est basée sur les fonctions PHP gzencode() pour être plus indépendantes de la plateforme(Unix/Windows, Mode sécurisé ou non, et ainsi de suite). Aussi, vous devez avoir le support de Zlib (--with-zlib).

6.1.8 1.8 Je ne peux pas insérer un fichier texte dans une table, et j’obtiens uneerreur concernant le mode sécurisé qui est utilisé.

Votre fichier uploadé est enregistré par PHP dans le répertoire d’upload, tel que défini dans le fichier php.ini par lavariable upload_tmp_dir (habituellement, le répertoire système par défaut est /tmp). Nous vous recommandons leparamétrage suivant pour les serveurs Apache exécutés en mode sécurisé, pour activer les transferts de fichiers tout enétant raisonnablement sécurisés :

— créer un répertoire séparé pour les transferts : mkdir /tmp/php— rendez propriétaire du répertoire le groupe et l’utilisateur du serveur Apache : chown apache.apache

/tmp/php— donnez les permissions appropriées : chmod 600 /tmp/php— mettez upload_tmp_dir = /tmp/php dans le fichier php.ini— redémarrez Apache

6.1.9 1.9 (retiré).

6.1.10 1.10 J’ai des problèmes en transférant des fichiers avec phpMyAdmin exé-cuté sur un serveur sécurisé. Mon navigateur est Internet Explorer et j’utiliseun serveur Apache.

Comme l’a suggéré « Rob M » dans le forum phpWizard, ajoutez cette ligne dans votre fichier httpd.conf :

106 Chapitre 6. FAQ - Foire Aux Questions

Page 113: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Il semble que cela supprime beaucoup de problèmes entre Internet Explorer et SSL.

6.1.11 1.11 J’obtiens “open_basedir restriction” en téléchargeant un fichier depuisl’onglet d’import.

Depuis la version 2.2.4, phpMyAdmin gère les serveurs avec les restrictions open_basedir. Cependant, vous devezcréer un répertoire temporaire et le configurer comme $cfg['TempDir']. Les fichiers transmis seront déplacés ici,et après l’exécution de vos commandes SQL, ils seront supprimés.

6.1.12 1.12 J’ai perdu le mot de passe de super-utilisateur de MySQL, que puis-jefaire ?

phpMyAdmin s’authentifie auprès du serveur MySQL utilisé, donc pour retrouver un mot de passe phpMyAdmin ilfaut le récupérer au niveau de MySQL.

Le manuel MySQL explique comment réinitialiser les permissions.

Si le serveur MySQL est installé chez un fournisseur d’hébergement, merci de le contacter pour récupérer le mot depasse.

6.1.13 1.13 (retiré).

6.1.14 1.14 (retiré).

6.1.15 1.15 J’ai des problèmes avec les noms de colonnes mysql.user.

Dans les précédentes versions de MySQL, les colonnes User et Password étaient nommés user et password.Veuillez modifier vos noms de colonnes pour qu’ils s’adaptent aux standards en vigueur.

6.1.16 1.16 Je ne peux pas transférer de gros fichiers d’exportation (problèmes demémoire, HTTP ou de temporisation - timeout).

À partir de la version 2.7.0, le moteur d’importation a été ré-écrit et ces problèmes ne devraient plus arriver. Si possible,mettez à jour votre phpMyAdmin avec la dernière version pour tirer parti des nouvelles fonctionnalités d’importation.

Les premières choses à vérifier (ou à demander à l’hébergeur de vérifier) sont les valeurs upload_max_filesize,memory_limit et post_max_size dans le fichier de configuration php.ini. L’ensemble de ces trois para-mètres limite la taille maximale des données qui peuvent être soumises et prises en charge par PHP. Merci de noterque post_max_size doit être plus grand upload_max_filesize. Il existe plusieurs moyens de contournementsi le fichier transféré est trop gros ou si l’hébergeur ne souhaite pas modifier ces paramètres :

— Regardez la fonctionnalité $cfg['UploadDir']. Ceci permet d’uploader un fichier vers un serveur via scp,ftp ou votre méthode de transfert de fichier préférée. PhpMyAdmin est alors capable d’importer les fichiers àpartir du répertoire temporaire. Plus d’informations sont disponibles dans la section Configuration.

— En utilisant un utilitaire (tel que BigDump) pour découper le fichier avant de l’uploader. Nous ne gérons pasceci ni aucune application tierce, mais nous savons que des utilisateurs ont réussi à le faire.

— Si vous avez un accès au shell (ligne de commande), utilisez MySQL pour importer les fichiers directement.Vous pouvez faire ceci en utilisant la commande « source » dans MySQL :

6.1. Serveur 107

Page 114: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

source filename.sql;

6.1.17 1.17 Quelles versions de bases de données sont gérées par phpMyAdmin ?

Pour MySQL, les versions 5.5 et plus récentes sont supportées. Quant aux plus anciennes version de MySQL, notrepage Downloads propose de plus anciennes versions de phpMyAdmin (qui pourraient ne plus être supportées).

Pour MariaDB, les versions 5.5 et plus récentes sont supportées.

6.1.18 1.17a Je ne peux pas me connecter au serveur MySQL. Il renvoie toujoursle message d’erreur, « Le client ne gère pas le protocole d’authentificationrequis par le serveur ; envisagez de mettre à jour votre client MySQL »

Vous avez essayé d’accéder à MySQL avec une ancienne bibliothèque client de MySQL. Cette version de bibliothèqueclient peut être vérifiée dans le résultat de phpinfo(). En général, elle doit avoir au moins le même numéro de versionmineure que votre serveur, comme indiqué dans 1.17 Quelles versions de bases de données sont gérées par php-MyAdmin ?. Ce problème est généralement observé en utilisant MySQL version 4.1 ou ultérieure. MySQL a changél’empreinte numérique (« hash ») d’authentification et PHP essaie d’utiliser l’ancienne méthode. La solution adéquateest d’utiliser l”extension mysqli avec la bonne bibliothèque client pour correspondre à cette installation de MySQL. Ily a plus d’informations (et de moyens de contournement) dans la documentation MySQL.

6.1.19 1.18 (retiré).

6.1.20 1.19 Je ne peux pas utiliser la fonctionnalité « Afficher les relations » parceque le script semble ne pas connaître la police que j’utilise !

La bibliothèque TCPDF que nous utilisons pour cette fonctionnalité nécessite des fichiers spéciaux pour utiliser lespolices. Veuillez vous référez au manuel TCPDF pour créer ces fichiers.

6.1.21 1.20 Je reçois une erreur sur l’absence des extensions mysqli et mysql.

Pour se connecter à un serveur MySQL, PHP a besoin d’un jeu de fonctions MySQL appelées « extension MySQL ».Cette extension peut faire partie de la distribution PHP (intégrée), sinon elle doit être chargée dynamiquement. Sonnom est vraisemblablement mysqli.so ou php_mysqli.dll. phpMyAdmin a essayé de charger l’extension mais a échoué.Habituellement, le problème est résolu en installant un paquet nommé « PHP-MySQL » ou similaire.

PHP fournit actuellement deux extensions pour MySQL - mysql et mysqli. L’extension mysqli est essayée d’abordcar c’est le meilleur choix.

Ce problème peut être causé par l’utilisation de mauvais chemin dans le fichier php.ini ou l’utilisation du mauvaisfichier php.ini.

Assurez-vous que les fichiers d’extension existent dans le répertoire indiqué par extension_dir et que les lignescorrespondantes dans votre fichier php.ini ne soient pas commentées (vous pouvez utiliser phpinfo() pourvérifier votre configuration) :

[PHP]

; Directory in which the loadable extensions (modules) reside.extension_dir = "C:/Apache2/modules/php/ext"

108 Chapitre 6. FAQ - Foire Aux Questions

Page 115: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Le fichier :php.ini peut être chargé de plusieurs emplacements (particulièrement sous Windows), aussi, veuillez vérifierque vous mettez à jour le bon. Avec Apache, vous pouvez indiquer un chemin spécifique pour ce fichier en utilisant ladirective PHPIniDir :

LoadFile "C:/php/php5ts.dll"LoadModule php5_module "C:/php/php5apache2_2.dll"<IfModule php5_module>

PHPIniDir "C:/PHP"<Location>

AddType text/html .phpAddHandler application/x-httpd-php .php

</Location></IfModule>

Dans quelques rares cas, ce problème peut être causé par d’autres extensions chargées dans PHP qui empêchent lesextensions MySQL d’être chargées. Si tout le reste a échoué, vous pouvez essayer de commenter les extensions desautres bases de données dans le fichier php.ini.

6.1.22 1.21 J’utilise la version CGI de PHP sous Unix, et je ne peux pas me connec-ter en utilisant l’authentification par cookie.

Dans le fichier php.ini, définissez mysql.max_links à une valeur supérieure à 1.

6.1.23 1.22 Je ne vois pas le champ « Emplacement du fichier texte », aussi je nepeux pas transférer.

Ceci est dû très probablement au fait que dans votre fichier php.ini, votre paramètre file_uploads n’est pasdéfini à « on ».

6.1.24 1.23 J’exécute MySQL sur une machine Win32. Chaque fois que je crée unenouvelle table, les noms de la table et des colonnes sont convertis en lettresminuscules !

Ceci arrive parce que la directive MySQL lower_case_table_names est définie par défaut à 1 (ON) dans laversion Win32 de MySQL. Vous pouvez changer ce comportement en changeant simplement la directive à 0 (OFF) :il suffit de modifier votre fichier my.ini qui devrait se situer dans votre répertoire Windows directory et ajouter laligne suivante au groupe [mysqld] :

set-variable = lower_case_table_names=0

Note : Forcer cette variable à 0 avec –lower-case-table-names=0 sur un système de fichier insensible à la casse etaccéder à des tables MyISAM utilisant des casses différentes peut provoquer des corruptions d’index.

Ensuite, sauvegardez le fichier et redémarrez le service MySQL. Vous pouvez toujours vérifier la valeur de cettedirective en utilisant la requête suivante

SHOW VARIABLES LIKE 'lower_case_table_names';

Voir aussi :

Sensibilité à la casse dans le manuel de référence de MySQL

6.1. Serveur 109

Page 116: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.1.25 1.24 (retiré).

6.1.26 1.25 J’utilise Apache avec mod_gzip-1.3.26.1a sur Windows XP, et j’ai desproblèmes, comme par exemple, des variables non définies quand j’exécuteune requête SQL.

Une astuce de Jose Fandos : mettez en commentaire les deux lignes suivantes dans votre fichier httpd.conf, commececi :

# mod_gzip_item_include file \.php$# mod_gzip_item_include mime "application/x-httpd-php.*"

car cette version de mod_gzip sur Apache (Windows) a des problèmes pour manipuler les scripts PHP. Bien sûr, vousdevrez redémarrer Apache.

6.1.27 1.26 Je viens d’installer phpMyAdmin dans le document racine de IIS maisj’obtiens l’erreur « Le fichier spécifié est introuvable » quand j’essaie d’exé-cuter phpMyAdmin.

C’est un problème de permission. Faites un clic droit sur le dossier phpmyadmin et sélectionner Propriétés. Dansl’onglet Sécurité, cliquez sur « Ajouter » et sélectionner l’utilisateur « IUSR_machine » à partir de la liste. Définissezmaintenant ses permissions et cela devrait fonctionner.

6.1.28 1.27 J’obtiens une page vide lorsque je veux voir une très grosse page (parexemple, db_structure.php avec beaucoup de tables).

C’est un bogue PHP qui survient quand le cache de résultats GZIP (output buffering) est activé. Si vous le désactivez(en définissant $cfg['OBGzip'] dans config.inc.php), cela devrait fonctionner. Ce bogue sera corrigé dansPHP version 5.0.0.

6.1.29 1.28 Mon serveur MySQL refuse quelquefois des requêtes et renvoie le mes-sage “Errorcode : 13”. Qu’est-ce que cela signifie ?

Cela peut arriver à cause d’un bogue de MySQL quand vous avez des noms de base de données/tables avec descaractères en majuscules bien que lower_case_table_names soit défini à 1. Pour corriger ceci, désactivez cettedirective, convertissez tous les noms de vos tables et base de données en minuscules et réactivez-la. Il y a égalementun correctif disponible à partir de MySQL 3.23.56 / 4.0.11-gamma.

6.1.30 1.29 Quand je crée une table ou que je modifie une colonne, j’obtiens uneerreur et les colonnes sont dupliquées.

Il est possible de configurer Apache de telle façon que PHP a des problèmes en interprétant les fichiers .php.

Les problèmes surviennent quand deux jeux de directives différents (et en conflit) sont utilisés :

SetOutputFilter PHPSetInputFilter PHP

et

110 Chapitre 6. FAQ - Foire Aux Questions

Page 117: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

AddType application/x-httpd-php .php

Dans le cas que nous avons constaté, un jeu de directives était dans le fichier /etc/httpd/conf/httpd.conf,alors que l’autre était dans le fichier /etc/httpd/conf/addon-modules/php.conf. La méthode recomman-dée est avec AddType, aussi, il faut juste commenter les premières lignes et redémarrer Apache :

#SetOutputFilter PHP#SetInputFilter PHP

6.1.31 1.30 J’obtiens l’erreur « left.php : Missing hash ».

Ce problème est connu pour survenir quand le serveur exécute Turck MMCache, mais la mise à jour de MMCache enversion 2.3.21 résoud le problème.

6.1.32 1.31 Quelles versions de PHP sont prises en charge par phpMyAdmin ?

Depuis la version 4.5, phpMyAdmin gère seulement PHP 5.5 et ses versions plus récentes. Depuis la version 4.1,phpMyAdmin gère seulement PHP 5.3 et ses versions plus récentes. Pour les versions 4.0.x vous pouvez utiliser PHP5.2.

PHP7 est pris en charge depuis phpMyAdmin 4.6, PHP 7.1 depuis la version 4.6.5, PHP 7.2 depuis la version 4.7.4.

phpMyAdmin fonctionne aussi très bien avec HHVM.

6.1.33 1.35 Puis-je utiliser l’authentification HTTP avec Apache CGI ?

Oui. Cette procédure a été testée avec phpMyAdmin 2.6.1, PHP 4.3.9 en mode ISAPI sous IIS 5.1.

1. Dans votre fichier php.ini, paramétrez cgi.rfc2616_headers = 0

2. Dans la boîte de dialogue Propriétés de site -> Sécurité de fichier/répertoire ->Accès anonyme, cochez la case Accès anonyme et décochez toutes les autres cases (c-à-d. déco-chez Authentification de base, Authentification intégrée Windows, et Digest si cescases sont cochées). Cliquez sur OK.

3. Dans Erreurs personnalisées, sélectionnez de 401;1 à 401;5 et cliquez sur le bouton Définirpar défaut.

Voir aussi :

RFC 2616

6.1.34 1.33 (retiré).

6.1.35 1.34 Puis-je accéder directement aux pages des bases de données ou destables ?

Oui. Sans autre configuration, vous pouvez utiliser des URL de type http://server/phpMyAdmin/index.php?db=database&amp;table=table&amp;target=script. Pour server, vous utilisez le numéro duserveur qui réfère à l’ordre dans le paragraphe server dans le fichier config.inc.php. Les parties « table »et « script » sont optionnelles. Si vous voulez utiliser des URL du type http://server/phpMyAdmin/database[/table][/script], vous devrez faire quelques ajustements. Les lignes suivantes ne s’appliquentque pour un serveur Web Apache. D’abord, assurez-vous que vous avez activé certaines fonctionnalités dans la confi-guration globale. Vous avez besoin que Options SymLinksIfOwnerMatch et AllowOverride FileInfo

6.1. Serveur 111

Page 118: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

soient activées pour le répertoire où est installé phpMyAdmin et que « mod_rewrite » soit activé. Alors, vous aurezseulement besoin de créer le fichier .htaccess suivant dans le dossier racine de l’installation de phpMyAdmin (n’ou-bliez pas de changer le nom du répertoire) :

RewriteEngine OnRewriteBase /path_to_phpMyAdminRewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&→˓target=$3 [R]RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]

6.1.36 1.35 Puis-je utiliser l’authentification HTTP avec Apache CGI ?

Oui. Cependant vous aurez besoin de passer la variable d’authentification à CGI en utilisant la règle rewrite sui-vante :

RewriteEngine OnRewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

6.1.37 1.36 J’obtiens une erreur « 500 Internal Server Error ».

Il peut y avoir plusieurs explications à cela et consulter le journal des erreurs de votre serveur devrait vous donner unepiste.

6.1.38 1.37 J’exécute phpMyAdmin sur un cluster de différentes machines et lechiffrement du mot de passe dans le cookie d’authentification ne fonctionnepas.

Si votre cluster est composé de machines d’architectures différentes, le code PHP utilisé pour le chiffre-ment/déchiffrement ne fonctionnera pas correctement. Ceci est dû à l’utilisation des fonctions pack/unpack dans lecode. La seule solution est d’utiliser l’extension mcrypt qui fonctionne bien dans ce cas.

6.1.39 1.38 Puis-je utiliser phpMyAdmin sur un serveur sur lequel Suhosin est ac-tivé ?

Oui, mais les valeurs de configuration par défaut de Suhosin sont connues pour provoquer des problèmes avec certainesopérations, comme par exemple, l’édition d’une table avec beaucoup de colonnes sans primary key ou sans primarykey textuelles.

La configuration de Suhosin pourrait mener à un dysfonctionnement dans certains cas et ne peut être totalementévité car phpMyAdmin est une application qui a besoin de transférer de gros volumes de colonnes dans une uniquerequête HHTP, ce qu’essaie parfois Suhosin d’empêcher. Généralement, toutes les directives suhosin.request.*, suhosin.post.* et suhosin.get.* peuvent avoir un effet négatif sur l’utilisabilité de phpMyAdmin. Vouspouvez toujours trouver dans le fichier journal des erreurs la limite qui a causé la suppression de la variable, et vouspouvez ainsi diagnostiquer le problème et ajuster la variable de configuration.

Les valeurs par défaut pour la plupart des options de configuration de Suhosin fonctionneront pour la plupart desscénarios, cependant, vous pourriez vouloir ajuster au moins les paramètres suivants :

— suhosin.request.max_vars devrait être augmentée (par ex. 2048)— suhosin.post.max_vars devrait être augmentée (par ex. 2048)

112 Chapitre 6. FAQ - Foire Aux Questions

Page 119: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— suhosin.request.max_array_index_length devrait être augmentée (par ex. 256)— suhosin.post.max_array_index_length devrait être augmentée (par ex. 256)— suhosin.request.max_totalname_length devrait être augmentée (par ex. 8192)— suhosin.post.max_totalname_length devrait être augmentée (par ex. 8192)— suhosin.get.max_value_length devrait être augmentée (par ex. 1024)— suhosin.sql.bailout_on_error doit être désactivée (par défaut)— suhosin.log.* ne doit pas inclure SQL, sans quoi, vous aurez un grand ralentissement— suhosin.sql.union doit être désactivée (par défaut).— suhosin.sql.multiselect doit être désactivée (par défaut).— suhosin.sql.comment doit être désactivée (par défaut).

Pour une sécurité améliorée, nous recommandons aussi ces modifications :— suhosin.executor.include.max_traversal doit être activé comme contre-mesure aux attaques par inclusion de

fichiers locaux. Nous suggérons de définir ceci à 2 car ../ est utilisé par la bibliothèque de ReCaptcha.— suhosin.cookie.encrypt doit être activé.— suhosin.executor.disable_emodifier doit être activé.

Vous pouvez aussi désactiver les avertissements en utilisant la directive $cfg['SuhosinDisableWarning'].

6.1.40 1.39 Quand j’essaie de me connecter en https, je peux me connecter, maisma connexion est redirigée en http. Qu’est-ce qui peut causer ce comporte-ment ?

Ceci est causé par le fait que les script PHP ne savent pas que le site utilise https. En fonction du serveur Web utilisé,vous devez le configurer pour indiquer à PHP l’URL à utiliser pour y accéder.

Par exemple, pour Apache, assurez-vous d’avoir activé SSLOptions et StdEnvVars dans votre configuration.

Voir aussi :

<https://httpd.apache.org/docs/2.4/mod/mod_ssl.html>

6.1.41 1.40 Quand j’accède à phpMyAdmin via un serveur mandataire inverséApache, le cookie de connexion ne fonctionne pas.

Pour pouvoir utiliser l’authentification par cookie, Apache doit savoir qu’il doit ré-écrire les en-têtes set-cookie. Unexemple de la documentation de Apache 2.2 :

ProxyPass /mirror/foo/ http://backend.example.com/ProxyPassReverse /mirror/foo/ http://backend.example.com/ProxyPassReverseCookieDomain backend.example.com public.example.comProxyPassReverseCookiePath / /mirror/foo/

Note : si l’URL de backend ressemble à http://server/~user/phpmyadmin, le tilde « ~ » doit être encodéen « %7E » dans les lignes ProxyPassReverse*. Ce n’est pas spécifique à phpmyadmin, c’est juste le comportementd’Apache.

ProxyPass /mirror/foo/ http://backend.example.com/~user/phpmyadminProxyPassReverse /mirror/foo/ http://backend.example.com/%7Euser/phpmyadminProxyPassReverseCookiePath /%7Euser/phpmyadmin /mirror/foo

Voir aussi :

<https://httpd.apache.org/docs/2.2/mod/mod_proxy.html>, $cfg['PmaAbsoluteUri']

6.1. Serveur 113

Page 120: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.1.42 1.41 Quand je vois une base de données et que je demande à voir ses privi-lèges, j’obtiens une erreur à propos d’une colonne inconnue.

Les tables de privilèges du serveur MySQL ne sont pas à jour, vous devez exécuter la commande mysql_upgradesur le serveur.

6.1.43 1.42 Comment empêcher les robots d’accéder à phpMyAdmin ?

Vous pouvez ajouter diverses règles dans .htaccess pour filtrer les accès en se basant sur le champ user agent. Ces règlessont facilement contournables, mais cela peut empêcher au moins quelques robots d’accéder à votre installation.

RewriteEngine on

# Allow only GET and POST verbsRewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]

# Ban Typical Vulnerability Scanners and others# Kick out Script KiddiesRewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-→˓perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^.→˓*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,→˓OR]

# Ban Search Engines, Crawlers to your administrative panel# No reasons to access from bots# Ultimately Better than the useless robots.txt# Did google respect robots.txt?# Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in"→˓-wiki -forum -forums -questions intext:"Cookies must be enabled"RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.→˓Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.→˓de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-→˓IT-Markt-Crawler|heritrix|ibm.com\cs/→˓crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-→˓Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.→˓validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.→˓Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~→˓crawler|SynooBot|[email protected]|TurnitinBot|voyager|W3.SiteSearch.→˓Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-→˓MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC]RewriteRule .* - [F]

6.1.44 1.43 Pourquoi ne puis-je pas afficher la structure de ma table contenant descentaines de colonnes ?

Car votre paramètre PHP memory_limit est trop faible ; ajustez-le dans php.ini.

114 Chapitre 6. FAQ - Foire Aux Questions

Page 121: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.1.45 1.44 Comment réduire la taille de la version installée de phpMyAdmin surdisque ?

Certains utilisateurs ont demandé la possibilité de réduire la taille d’une installation de phpMyAdmin. Ceci n’estpas recommandé et peut conduire à une confusion quant aux fonctionnalités manquantes, mais peut néanmoins êtreaccompli. Voici une liste des fichiers qui peuvent être supprimés et de la fonctionnalité correspondante qui est enlevéede manière élégante :

— dossier ./vendor/tecnickcom/tcpdf (exportation en PDF)— dossier ./locale/, ou des sous-dossiers inutilisés (traductions)— Tous les thèmes inutilisés dans ./themes/— ./js/vendor/jquery/src/ (inclus pour des raisons de licence)— :file :‘./js/line_counts.php‘(supprimé dans phpMyAdmin 4.8)— ./doc/ (documentation)— ./setup/ (script de configuration)— ./examples/— ./sql/ (scripts SQL pour configurer des fonctionnalités avancées)— ./js/vendor/openlayers/ (visualisation GIS)

6.2 Configuration

6.2.1 2.1 Le message d’erreur « Warning : Cannot add header information - headersalready sent by . . . » est affiché, quel est le problème ?

Éditer le fichier config.inc.php et s’assurer qu’il n’y a rien (c’est à dire pas de ligne blanche, pas d’espace, pasde caractère. . . ) ni devant la balise <?php au début du fichier, ni après la balise ?> à la fin du fichier.

6.2.2 2.2 phpMyAdmin ne peut pas se connecter à MySQL. Qu’est-ce qui ne vapas ?

Il y a soit une erreur dans votre configuration PHP, soit votre utilisateur/mot de passe. Essayez de faire un petit scriptqui utilise mysql_connect et voyez s’il fonctionne. Si ce n’est pas le cas, il se peut que vous n’ayez pas compilé lagestion de MySQL dans PHP.

6.2.3 2.3 Le message d’erreur « Warning : MySQL Connection Failed : Can’tconnect to local MySQL server through socket “/tmp/mysql.sock” (111). . . »est affiché. Que puis-je faire ?

Le message d’erreur peut être aussi : Error #2002 - The server is not responding (or the local MySQL server’s socketis not correctly configured).

Pour cela, connectez-vous à votre serveur et allez dans le répertoire bin de MySQL. Dans ce répertoire il devrait y avoirun fichier appelé mysqladmin. Saisissez alors ./mysqladmin variables, et cela devrait vous donner un paquetd’infos sur votre serveur MySQL, y compris le socket (/tmp/mysql.sock, par exemple). Vous pouvez aussi demander àvotre FAI les informations de connexion, ou, si vous hébergez votre serveur, utilisez l’interface de ligne de commande“mysql” et saisissez “status” pour obtenir le type de connexion, le socket et le port.

Vous devez ensuite indiquer à PHP d’utiliser ce socket. Vous pouvez faire cela pour tous les scripts PHPdans le fichier php.ini, ou seulement pour phpMyAdmin dans le fichier config.inc.php. Par exemple :$cfg['Servers'][$i]['socket'] Veuillez aussi vous assurer que les permissions de ce fichier permettentla lecture par votre serveur Web.

6.2. Configuration 115

Page 122: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Sur mon système RedHat le socket de MySQL est /var/lib/mysql/mysql.sock. Dans votre fichier php.ini vous trou-verez une ligne

mysql.default_socket = /tmp/mysql.sock

changez-la pour :

mysql.default_socket = /var/lib/mysql/mysql.sock

Redémarrez alors Apache et cela fonctionnera.

Consultez également la section correspondante dans la documentation MySQL.

6.2.4 2.4 Rien ne s’affiche dans mon navigateur quand j’essaie d’exécuter php-MyAdmin, que puis-je faire ?

Essayez de paramétrer la directive $cfg['OBGzip'] à false dans le fichier de configuration de phpMyAdmin.Cela aide parfois. Veuillez également regarder le numéro de version de PHP : s’il contient « b » ou « alpha » celasignifie que vous exécutez une version test de PHP. Ce n’est pas une très bonne idée, veuillez mettre à jour dans uneversion stable.

6.2.5 2.5 Chaque fois que je veux insérer ou modifier un enregistrement ou suppri-mer une base de données ou une table, une erreur 404 (page introuvable) estaffichée ; ou, avec l’authentification HTTP ou par cookie, on me demande deme reconnecter. Qu’est-ce qui ne va pas ?

Vérifier que les variables PHP_SELF ou REQUEST_URI soient correctement renseignées dans la configuration devotre serveur Web.

Si vous utilisez phpMyAdmin derrière un reverse proxy, veuillez définir la directive $cfg['PmaAbsoluteUri']dans votre fichier de configuration phpMyAdmin pour qu’elle soit conforme à votre installation.

6.2.6 2.6 J’obtiens une erreur « Access denied for user : “root@localhost” (Usingpassword : YES) » en essayant d’accéder un serveur MySQL sur un hôte dontle port est redirigé sur mon ordinateur hôte local.

Quand vous utilisez un port sur votre hôte local, que vous redirigez avec port-forwarding vers un autre hôte, MySQLne résout pas le nom d’hôte local comme attendu. Erik Wasser explique : La solution est : si votre hôte est « localhost »,MySQL (l’outil de commande en ligne “mysql aussi) essaie toujours d’utiliser la connexion socket pour accélérerles choses. Et cela ne fonctionne pas dans cette configuration avec redirection de port. Si vous saisissez « 127.0.0.1 »comme nom d’hôte, tout se passe bien et MySQL utilise la connexion TCP.

6.2.7 2.7 Utiliser et créer des thèmes

Voir Thèmes personnalisés.

6.2.8 2.8 J’obtiens des erreurs « Missing parameters », que puis-je faire ?

Vérifiez les points suivants :

116 Chapitre 6. FAQ - Foire Aux Questions

Page 123: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Dans config.inc.php, essayez de laisser la directive $cfg['PmaAbsoluteUri'] vide. Voir égale-ment 4.7 La fenêtre d’authentification est affichée plus d’une fois, pourquoi ?.

— Votre installation de PHP est peut-être corrompue ou vous avez besoin de mettre à jour votre Zend Optimizer.Voir <https://bugs.php.net/bug.php?id=31134>.

— Si vous utilisez Hardened PHP avec la directive ini varfilter.max_request_variables et la définis-sez à sa valeur par défaut (200) ou une autre valeur plus basse, vous pouvez obtenir cette erreur si votre table aun grand nombre de colonnes. Ajustez ce paramètre en conséquence. (Merci à Klaus Dorninger pour l’astuce).

— Dans le fichier php.ini la directive arg_separator.input, avec une valeur « ; » provoquera cetteerreur. Remplacez-la par « & ; ».

— Si vous utilisez Suhosin, vous devriez augmenter les limites de requête.— Le répertoire spécifié dans la directive session.save_path du fichier php.ini n’existe pas ou est en

lecture seule (ceci peut être causé par le bogue de l’installeur de PHP)..

6.2.9 2.9 Afficher les barres de progression d’upload

Pour pouvoir voir une barre de progression pendant vos uploads, votre serveur doit avoir soit l’extension APC soitl’extension uploadprogress ou vous devez utiliser PHP 5.4.0 ou supérieure. De plus, l’extension JSON doit être activéedans votre installation PHP.

Si vous utilisez APC, vous devez définir le paramètre apc.rfc1867 à on dans votre fichier php.ini.

Si vous utilisez PHP 5.4.0 ou supérieur, vous devez définir le paramètre session.upload_progress.enabledà 1 dans votre fichier php.ini. Cependant, à partir de phpMyAdmin 4.0.4, cette barre de progression basée sur lessessions a été désactivée en raison de problèmes.

Voir aussi :

RFC 1867

6.3 Limitations connues

6.3.1 3.1 En utilisant l’authentification HTTP, un utilisateur qui se déconnecte nepeut pas se reconnecter avec le même compte.

Cela est dû au mécanisme du protocole d’authentification utilisé par phpMyAdmin. Pour contourner ce problème :fermez toutes les fenêtres de navigateur ouvertes et retournez dans phpMyAdmin. Vous devriez être en mesure devous reconnecter.

6.3.2 3.2 En exportant une grosse table en mode compressé, j’obtiens une erreurde limitation mémoire ou une erreur de dépassement de limite de temps.

Les fichiers d’export compressés sont construits en mémoire et à cause de cela sont limités par la limitemémoire de php. Pour les exports gzip/bzip2, ceci peut être outrepassé depuis la version 2.5.4 en utilisant$cfg['CompressOnFly'] (activé par défaut). Les exports zip ne peuvent pas être traitées de cette façon, donc sivous avez besoin de fichiers zip pour des exports plus importants, vous devrez utiliser un autre moyen.

6.3.3 3.3 Avec les tables InnoDB, je perds les relations de clés étrangères quand jerenomme une table ou une colonne.

C’est un bogue de InnoDB, consulter <https://bugs.mysql.com/bug.php?id=21704>.

6.3. Limitations connues 117

Page 124: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.3.4 3.4 Je n’arrive pas à importer des fichiers d’exportation que j’ai créés avecl’outil mysqldump fourni dans la distribution de MySQL serveur.

Le problème vient du fait que les anciennes versions de mysqldump créaient des commentaires invalides commececi :

-- MySQL dump 8.22---- Host: localhost Database: database----------------------------------------------------------- Server version 3.23.54

La partie invalide du code est la ligne horizontale de tirets qui apparaît une fois dans chaque fichier d’expor-tation créé avec mysqldump. Si vous voulez utiliser votre fichier d’exportation, vous devrez le transformer encode valide MySQL. Cela signifie que vous devrez ajouter une espace après les deux premiers tirets de la ligneou ajouter un # devant : -- ------------------------------------------------------- ou#---------------------------------------------------------

6.3.5 3.5 En utilisant des dossiers imbriqués, les hiérarchies multiples sont incor-rectement affichées.

Veuillez noter que vous ne devez pas utiliser la chaîne de séparation plusieurs fois sans insérer de caractère entreces chaînes, ou au début/fin de votre nom de table. Si vous devez le faire, cherchez un autre séparateur de table oudésactivez la fonctionnalité.

Voir aussi :

$cfg['NavigationTreeTableSeparator']

6.3.6 3.6 (retiré).

6.3.7 3.7 J’ai une table avec beaucoup de colonnes (100+) et quand j’essaie d’af-ficher la table, j’obtiens une série d’erreurs du genre « Warning : unable toparse url ». Comment corriger cela ?

Votre table n’a pas de primary key ou de unique key, ce qui oblige à utiliser une expression longue pour identifier cetteligne. Cela pose des problèmes à la fonction parse_url. La solution de rechange est de créer une primary key ou uneunique key.

6.3.8 3.8 Je ne peux pas utiliser de formulaires HTML (cliquables) dans des co-lonnes où j’ai mis une transformation MIME !

À cause d’un container de formulaires (utilisé pour les cases à cocher de suppression de plusieurs lignes), les formu-laires imbriqués ne peuvent pas être mis à l’intérieur de la table ou phpMyAdmin affiche les résultats. Vous pouvezcependant utiliser tout formulaire à l’intérieur d’une table si vous gardez le container de formulaires parent avec lacible tbl_row_delete.php et mettez vos éléments de saisie à l’intérieur. Si vous utilisez un champ de soumission desaisie personnalisé, le formulaire sera soumis lui-même vers la page d’affichage à nouveau, où vous pouvez validerles $HTTP_POST_VARS dans une transformation. Pour un tutoriel sur la façon d’utiliser efficacement les transfor-mations, voir notre section Liens sur la page d’accueil officielle de phpMyAdmin.

118 Chapitre 6. FAQ - Foire Aux Questions

Page 125: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.3.9 3.9 J’obtiens des messages d’erreur en utilisant « –sql_mode=ANSI » pour leserveur MySQL.

Quand MySQL est exécuté en mode de compatibilité ANSI, il y a des différences majeures dans la façon dont SQL eststructuré (voir <https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html>). Le plus important, le caractère guillemet(« ) est interprété en tant que caractère guillemet identifiant et non comme le caractère guillemet annonçant unechaîne, ce qui provoque des requêtes SQL invalides dans beaucoup d’opérations internes de phpMyAdmin. Il n’y a pasde solution de rechange à ce comportement. Des nouvelles sur ce sujet seront postées dans le rapport de bogue #1013.

6.3.10 3.10 Homonymes et pas de clé primaire : Quand les résultats d’un SELECTaffichent plus d’une colonne avec la même valeur (par exemple SELECT nomfrom employes where prenom like 'A%' et que deux valeurs « Smith »sont affichées), si je clique sur Modifier, je ne peux pas être sûr que je mo-difie la bonne ligne.

Veuillez vous assurer que votre table a une primary key, ainsi phpMyAdmin peut l’utiliser pour les liens Modifier etEffacer.

6.3.11 3.11 Le nombre d’enregistrements pour les tables InnoDB est incorrect.

phpMyAdmin utilise une méthode rapide pour obtenir le nombre de lignes, et cette méthode ne renvoie qu’un nombreapproximatif pour les tables InnoDB. Voir $cfg['MaxExactCount'] pour le moyen de modifier ces résultats,mais cela peut avoir un sérieux impact sur les performances. Cependant, ce nombre approximatif peut être facilementremplacé par le nombre exact en cliquant sur le nombre approximatif. Ceci peut être réalisé pour toutes les tables à lafois en cliquant sur la somme des lignes affichée en bas.

Voir aussi :

$cfg['MaxExactCount']

6.3.12 3.12 (retiré).

6.3.13 3.13 J’obtiens une erreur en saisissant USE suivi du nom d’une base de don-nées contenant un trait d’union.

Les tests que j’ai effectués avec l’API actuelle de MySQL 5.1.49, montre que cette API n’accepte pas cette syntaxepour la commande USE.

6.3.14 3.14 Je n’arrive pas à naviguer dans une table quand je n’ai pas le droit defaire un SELECT sur une des colonnes.

C’est une limitation connue de phpMyAdmin depuis le début et ce ne sera probablement pas résolu à l’avenir.

6.3. Limitations connues 119

Page 126: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.3.15 3.15 (retiré).

6.3.16 3.16 (retiré).

6.3.17 3.17 (retiré).

6.3.18 3.18 Lors de l’import d’un fichier CSV qui contient plusieurs tables, ellessont fusionnées en une seule.

Il n’existe pas de moyen fiable de différencier les tables en format CSV . Pour le moment, vous devrez fractionner lesfichiers CSV contenant plusieurs tables.

6.3.19 3.19 Lors de l’import d’un fichier et quand phpMyAdmin détermine la struc-ture de données appropriée, il n’utilise que les types int, decimal et varchartypes.

Actuellement, le système de détection de type d’import ne peut assigner que ces types MySQL aux colonnes. Dans lefutur, d’autres seront ajoutés, mais en attendant, vous devrez éditer la structure après l’import. Vous devez égalementnoter que phpMyAdmin utilisera la taille de l’élément le plus gros pour toute colonne donnée comme taille de colonnepour le type approprié. Si vous savez que vous importerez des éléments plus gros pour cette colonne, vous devez alorsajuster la taille de la colonne. Ceci est fait dans un but d’efficacité.

6.3.20 3.20 Après la mise à jour, certains signets disparaissent ou leur contenu nepeut être affiché.

À un certain moment, le jeu de caractères utilisé pour stocker les signets a changé. Il est préférable de recréer vossignets à partir de la nouvelle version de phpMyAdmin.

6.3.21 3.21 Je ne peux pas me connecter avec un nom d’utilisateur contenant descaractères unicode comme « à ».

Ceci peut arriver si le serveur MySQL n’est pas configuré pour utiliser par défaut le jeu de caractères utf-8. Ceci estune limitation de l’interaction de PHP et MySQL. Il n’existe pas de moyen pour PHP pour définir le jeu de caractèresavant l’authentification.

Voir aussi :

Problème phpMyAdmin 12232, Note de documentation MySQL

6.4 FAI et installation multi-utilisateurs

6.4.1 4.1 Je suis un FAI. Puis-je configurer une seule copie centralisée de php-MyAdmin ou dois-je faire l’installation pour chaque client ?

Depuis la version 2.0.3, vous pouvez configurer une copie centralisée de phpMyAdmin pour tous vos utilisateurs.Le développement de cette fonctionnalité a été aimablement sponsorisé par NetCologne GmbH. Ceci requiert uneconfiguration correcte de la gestion des utilisateurs MySQL et l’utilisation de l’authentification HTTP ou par cookiepour phpMyAdmin.

120 Chapitre 6. FAQ - Foire Aux Questions

Page 127: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Voir aussi :

Utiliser les modes d’authentification :

6.4.2 4.2 Quel est le meilleur moyen de sécuriser phpMyAdmin contre les attaquesmalicieuses ?

Si vous utilisez un serveur qui ne peut pas être accédé par d’autres personnes, il est suffisant d’utiliser la protection derépertoire fournie avec votre serveur Web (avec Apache vous pouvez utiliser les fichiers .htaccess, par exemple). Sid’autres personnes ont un accès telnet à votre serveur, vous devriez utiliser les fonctionnalités d’authentification parHTTP ou par cookie de phpMyAdmin.

Suggestions :— Votre fichier config.inc.php devrait être chmod 660.— Tous les fichiers phpMyAdmin devraient être chown -R phpmy:apache, où phpmy est un utilisateur dont

le mot de passe est connu de vous seul, et apache est le groupe avec lequel Apache est exécuté.— Suit les recommandations de sécurité pour PHP et votre serveur Web.

6.4.3 4.3 J’obtiens des erreurs sur l’impossibilité d’inclure un fichier dans /lang oudans /libraries.

Vérifier votre fichier php.ini, ou demander à votre administrateur système de le faire. include_path doit conte-nir « . » dans ses chemins et open_basedir, s’il est utilisé, doit contenir « . » et « ./lang » pour permettre unfonctionnement normal de phpMyAdmin.

6.4.4 4.4 phpMyAdmin donne toujours « Accès refusé » en utilisant l’authentifica-tion HTTP.

Cela peut arriver pour différentes raisons :— $cfg['Servers'][$i]['controluser'] et/ou $cfg['Servers'][$i]['controlpass']

sont erronés.— L’utilisateur/mot de passe que vous spécifiez dans le dialogue de connexion sont invalides.— Vous avez déjà configuré un mécanisme de sécurité pour le répertoire phpMyAdmin, par exemple un fichier

.htaccess. Cela doit interférer avec l’authentification phpMyAdmin, aussi, supprimez-le.

6.4.5 4.5 Est-il possible de laisser les utilisateurs créer leurs propres bases de don-nées ?

À partir de la version 2.2.5, dans la page de gestion des utilisateurs, vous pouvez mettre un méta-caractère dans lenom de la base de données pour un utilisateur (par exemple « joe% »), et mettre les privilèges que vous voulez. Parexemple, en ajoutant SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER permet-tra à un utilisateur de créer/administrer sa(ses) base(s) de données.

6.4.6 4.6 Comment puis-je utiliser en plus l’authentification basée sur l’hôte ?

Si vous avez des règles existantes d’un ancien fichier .htaccess, vous pouvez le prendre et ajouter le nom d’utilisateurentre les chaînes 'deny'/'allow' et 'from'. Utiliser le méta-caractère '%' pour le nom d’utilisateur est un grandavantage si votre installation est adaptée pour l’utiliser. Ensuite, vous pouvez ajouter ces lignes mises à jour dans letableau $cfg['Servers'][$i]['AllowDeny']['rules'].

6.4. FAI et installation multi-utilisateurs 121

Page 128: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Si vous voulez un exemple préfabriqué, vous pouvez essayer celui-ci. Il empêche l’utilisateur “root” de se connecter àpartir de n’importe quels réseaux autres que les réseaux IP privés.

//block root from logging in except from the private networks$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';$cfg['Servers'][$i]['AllowDeny']['rules'] = array(

'deny root from all','allow root from localhost','allow root from 10.0.0.0/8','allow root from 192.168.0.0/16','allow root from 172.16.0.0/12',

);

6.4.7 4.7 La fenêtre d’authentification est affichée plus d’une fois, pourquoi ?

Ceci arrive si vous utilisez une URL pour démarrer phpMyAdmin qui est différente de celle définie dans votre$cfg['PmaAbsoluteUri']. Par exemple, s’il manque « www », ou si vous saisissez une adresse IP alors qu’unnom de domaine est défini dans le fichier de configuration.

6.4.8 4.8 Quels paramètres puis-je utiliser dans l’URL de démarrage de phpMyAd-min ?

Au démarrage de phpMyAdmin, vous pouvez utiliser les paramètres db, pma_username, pma_password etserver. Ce dernier peut contenir soit l’index numérique de l’hôte (à partir de $i du fichier de configuration), soitun des noms d’hôtes présents dans le fichier de configuration. L’utilisation de pma_username et pma_passworda été testée avec l’authentification “cookie” auth_type.

Par ex., une URL de connexion directe peut être construite selon https://example.com/phpmyadmin/?pma_username=user&pma_password=password.

Avertissement : Passer le mot de passe et le nom d’utilisateur dans l’URL n’est pas sécurisé et ne devrait pas êtreutilisé en environnements de production.

6.5 Navigateurs ou systèmes d’exploitation client

6.5.1 5.1 J’obtiens une erreur « out of memory », ou mes contrôles ne sont plusfonctionnels, en essayant de créer une table avec plus de 14 colonnes.

Nous n’avons pu reproduire ce problème que sous Win98/98SE. En testant avec WinNT4 ou Win2K, nous avons pufacilement créer plus de 60 colonnes. Un moyen de contournement est de créer un plus petit nombre de colonnes, puisde revenir dans les propriétés de la table et d’ajouter les autres colonnes.

6.5.2 5.2 Avec Xitami 2.5b4, phpMyAdmin ne traite pas les champs formulaires.

Ce n’est pas un problème de phpMyAdmin mais un bogue connu de Xitami : vous rencontrerez ce problème chaquefois qu’un script/site Web utilise des formulaires. Mettez à jour votre serveur Xitami ou utilisez une précédente version.

122 Chapitre 6. FAQ - Foire Aux Questions

Page 129: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.5.3 5.3 J’ai des problèmes d’exportation de table avec Konqueror (phpMyAdmin2.2.2).

Avec Konqueror 2.1.1 : les exports classiques, zippés et gzippés fonctionnent correctement, sauf que le nom de fichierproposé est toujours “tbl_dump.php”. Les exports au formats bzip2 ne semblent pas fonctionner. Avec Konqueror2.2.1 : les fichiers d’exportation simples fonctionnent ; les fichiers d’exportation zip sont placés dans le répertoiretemporaire de l’utilisateur, aussi, ils doivent être déplacés avant de fermer Konqueror, sinon ils disparaissent. Lesfichiers d’exportation gzip donnent un message d’erreur. Des tests doivent être effectués pour Konqueror 2.2.2.

6.5.4 5.4 Je ne peux pas utiliser le mode d’authentification par cookie car InternetExplorer ne stocke jamais les cookies.

Néanmoins, sachez que MS Internet Explorer paraît être vraiment bogué en ce qui concerne les cookies, au moinsjusqu’à la version 6.

6.5.5 5.5 (retiré).

6.5.6 5.6 (retiré).

6.5.7 5.7 Je rafraîchis (actualise) mon navigateur, et je reviens à la page de bienve-nue.

Certains navigateurs gèrent le clic-droit dans le cadre que vous voulez rafraîchir, faites cela dans le cadre approprié.

6.5.8 5.8 Avec Mozilla 0.9.7 j’ai des problèmes en envoyant une requête modifiéedans la boîte de requêtes.

Cela ressemble à un bogue de Mozilla : la version 0.9.6 était OK. Nous garderons ce bogue à l’esprit pour les futuresversions de Mozilla.

6.5.9 5.9 Avec Mozilla 0.9. ? à 1.0 et Netscape 7.0-PR1, je ne peux pas taper d’es-pace dans le zone d’édition de requête SQL : la page défile vers le bas.

Ceci est un bogue Mozilla (voir bogue #26882 sur Bugzilla).

6.5.10 5.10 (retiré).

6.5.11 5.11 Les caractères ASCII-étendu comme le tréma (umlaut allemand) sontmal affichés.

Veuillez vous assurer que vous avez paramétré le jeu de caractères de votre navigateur sur l’un des fichiers de langueque vous avez choisi dans la page de démarrage de phpMyAdmin. Vous pouvez également essayer le mode autodétection, mode qui est géré par les versions récentes de la plupart des navigateurs.

6.5. Navigateurs ou systèmes d’exploitation client 123

Page 130: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.5.12 5.12 Mac OS X : le navigateur Safari change les caractères spéciaux en « ? ».

Ce problème a été rapporté par un utilisateur de Mac OS X qui ajoute que Chimera, Netscape et Mozilla n’ont pas ceproblème.

6.5.13 5.13 (retiré)

6.5.14 5.14 (retiré)

6.5.15 5.15 (retiré)

6.5.16 5.16 Avec Internet Explorer, j’obtiens des erreurs JavaScript « Accès re-fusé ». Ou je n’arrive pas à faire fonctionner phpMyAdmin sous Windows.

Vérifiez les points suivants :— Vous avez peut-être défini votre paramètre $cfg['PmaAbsoluteUri'] du fichier config.inc.php

avec une adresse IP et vous démarrez phpMyAdmin avec une URL contenant un nom de domaine, ou inverse-ment.

— Les paramètres de sécurité de Internet Explorer et/ou du Centre de sécurité Microsoft sont trop élevés etempêchent par conséquent l’exécution des scripts.

— Le pare-feu de Windows bloque Apache et MySQL. Vous devez autoriser les ports HTTP (80 ou 443) et le portMySQL (normalement 3306) en entrée et en sortie.

6.5.17 5.17 Avec Firefox, je ne peux pas supprimer des lignes de données ou unebase de données.

Plusieurs utilisateurs ont confirmé que l’extension « Tabbrowser » qu’ils avaient installé sur leur Firefox est la causede ce problème.

6.5.18 5.18 (retiré)

6.5.19 5.19 J’obtiens des erreurs JavaScript dans mon navigateur.

Des problèmes ont été rapportés avec la combinaison de plusieurs extensions de navigateur. Désactivez toutes lesextensions et vider le cache de votre navigateur pour voir si le problème disparaît.

6.5.20 5.20 J’obtiens des erreurs sur la violation de politique de sécurité decontenu.

Si vous obtenez des erreurs du type :

Refused to apply inline style because it violates the following Content Security→˓Policy directive

Ceci est habituellement provoqué par un logiciel, qui réécrit de façon incorrecte les en-têtes Content SecurityPolicy. Il s’agit généralement de l’antivirus du proxy ou d’extensions de votre navigateur.

Si vous obtenez de telles erreurs, essayez de désactiver le proxy HTTP dans l’antivirus ou de désactiver la réécrituredes en-têtes Content Security Policy dans celui-ci. Si cela ne fonctionne toujours pas, essayez de désactiverles extensions de votre navigateur.

124 Chapitre 6. FAQ - Foire Aux Questions

Page 131: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Cela paut être aussi un problème de configuration du serveur (si le serveur Web est configuré pour émettre des en-têtesContent Security Policy, ils peuvent écraser ceux de phpMyAdmin).

Les programmes connus pour provoquer de telles erreurs sont :— Kaspersky Internet Security

6.5.21 5.21 Je reçois des erreurs au sujet d’une opération potentiellement dange-reuse lors de la recherche de table ou de l’exécution d’une requête SQL.

Si vous obtenez des erreurs du type :

A potentially unsafe operation has been detected in your request to this site.

Cela est généralement causé par le pare-feu d’application Web faisant filtrage des demandes. Il essaie d’empêcherl’injection SQL, cependant phpMyAdmin est un outil conçu pour exécuter des requêtes SQL, donc il rend inutilisable.

Veuillez mettre en liste blanche les scripts de phpMyAdmin à partir des paramètres du pare-feu de l’application Webou le désactiver complètement pour le chemin phpMyAdmin.

Les programmes connus pour provoquer de telles erreurs sont :— Pare-feu d’application Web Wordfence

6.6 Utiliser phpMyAdmin

6.6.1 6.1 Je ne peux pas insérer de lignes dans une table / je ne peux pas créer unetable - MySQL renvoie une erreur SQL.

Examinez l’erreur SQL avec attention. Le problème est souvent provoqué par la spécification d’un mauvais type decolonne. Les erreurs courantes sont :

— l’utilisation de VARCHAR sans l’argument de taille— l’utilisation de TEXT ou BLOB avec une taille en argument

Regardez également le chapitre syntaxe dans le manuel MySQL pour confirmer que votre syntaxe est correcte.

6.6.2 6.2 Quand je crée une table, je définis un index pour deux colonnes et php-MyAdmin ne génère qu’un seul index avec ces deux colonnes.

C’est la façon de créer un index multi-colonnes. Si vous voulez deux index, créer le premier en créant la table, sauve-gardez, puis affichez les propriétés de la table et cliquez sur le lien Index pour créer l’autre index.

6.6.3 6.3 Comment puis-je insérer une valeur nulle dans ma table ?

Depuis la version 2.2.3, il y a une case à cocher pour chaque colonne qui peut être nulle. Avant la version 2.2.3, vousdeviez saisir « null », sans les guillemets, comme valeur de colonne. Depuis la version 2.5.5, vous devez utiliser lacase à cocher pour obtenir une réelle valeur NULL, aussi, si vous saisissez « NULL » cela signifie que vous voulez unNULL littéral dans la colonne et non une valeur NULL (cela fonctionne dans PHP4).

6.6. Utiliser phpMyAdmin 125

Page 132: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.6.4 6.4 Comment puis-je sauvegarder ma base de données ou ma table ?

Cliquez sur le nom d’une base de données ou d’une table dans le panneau de navigation pour afficher les propriétés.Ensuite à partie du menu, cliquez sur « Export », pour exporter la structure, les données ou les deux. Ceci générera lesdéclarations SQL standards qui pourront être utilisées pour recréer votre base de données/table. Vous devrez utiliser «Enregistrer comme un fichier » pour que phpMyAdmin puisse transmettre le fichier d’export à votre PC. En fonctionde votre configuration PHP, vous verrez des options de compression du fichier d’export. Consultez aussi la variable deconfiguration $cfg['ExecTimeLimit']. Pour de l’aide supplémentaire sur ce sujet, recherchez le mot « export» dans ce document.

6.6.5 6.5 Comment puis-je restaurer (transmettre) ma base de données ou ma tableen utilisant un fichier d’exportation ? Comment puis-je exécuter un fichier« .sql » ?

Cliquer sur le nom d’une base de données dans le cadre de navigation pour afficher les propriétés. Sélectionnez« Importer » dans la liste des onglets dans le cadre de droite (ou « SQL » si votre version de phpMyAdmin est antérieureà la version 2.7.0). Dans la section « Emplacement du fichier texte », saisissez votre nom de fichier d’exportation, oucliquez sur le bouton Parcourir. Puis cliquez sur Exécuter. Avec la version 2.7.0, le moteur d’import a été ré-écrit.Si c’est possible, nous vous suggérons de mettre à jour pour tirer partie des nouvelles fonctionnalités. Pour de l’aidesupplémentaire sur ce sujet, recherchez le mot « upload » dans ce document.

Note : Pour les erreurs lors de l’importation des dumps exportées depuis les anciennes versions de MySQL vers lesnouvelles versions de MySQL, veuillez vérifier 6.41 Je reçois des erreurs d’importation lors de l’importation desdumps exportées depuis les anciennes versions de MySQL (antérieures à 5.7.6) vers les nouvelles versions de MySQL(5.7.7+), mais elles fonctionnent correctement lorsqu’elles sont importées sur les mêmes anciennes versions ?.

6.6.6 6.6 Comment puis-je utiliser la table relation dans Query-by-example ?

Voici un exemple avec les tables personnes, villes et pays, toutes situées dans la base de données « mabdd ». Si vousn’avez pas de table pma_relation, créez-la comme cela est décrit dans la section Configuration. Ensuite, créez lestables d’exemple :

CREATE TABLE REL_countries (country_code char(1) NOT NULL default '',description varchar(10) NOT NULL default '',PRIMARY KEY (country_code)) TYPE=MyISAM;

INSERT INTO REL_countries VALUES ('C', 'Canada');

CREATE TABLE REL_persons (id tinyint(4) NOT NULL auto_increment,person_name varchar(32) NOT NULL default '',town_code varchar(5) default '0',country_code char(1) NOT NULL default '',PRIMARY KEY (id)) TYPE=MyISAM;

INSERT INTO REL_persons VALUES (11, 'Marc', 'S', '');INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');

CREATE TABLE REL_towns (town_code varchar(5) NOT NULL default '0',description varchar(30) NOT NULL default '',

126 Chapitre 6. FAQ - Foire Aux Questions

Page 133: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

PRIMARY KEY (town_code)) TYPE=MyISAM;

INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');INSERT INTO REL_towns VALUES ('M', 'Montréal');

Pour configurer les liens appropriés et afficher l’information :— sur la table « REL_persons » cliquer sur Structure, puis sur Gestion des relations— pour « town_code », choisir dans les listes déroulantes, « mabdd », « REL_towns », « code » respectivement

pour la base de données, la table et la colonne étrangères— pour « country_code », choisir dans les listes déroulantes, « mabdd », « REL_countries », « country_code »

respectivement pour la base de données, la table et la colonne étrangères— sur la table « REL_towns » cliquer sur Structure, puis Gestion des relations— dans « Colonne à afficher », choisir « Description »— répétez les deux précédentes étapes pour la table « REL_countries »

Puis tester comme suit :— Cliquer le nom de base de données dans le cadre de navigation— choisir « Requête »— utilisez les tables : persons, towns, countries— cliquer sur « Mise-à-jour de la requête »— dans la ligne des colonnes, choisissez persons.person_name et cliquez sur la case à cocher « Afficher »— faites la même chose pour towns.description et countries.descriptions dans les deux autres colonnes— cliquer sur « Mise-à-jour de la requête » et vous verrez dans la boîte de requête que la jointure correcte a été

générée— cliquer sur « Exécuter la requête »

6.6.7 6.7 Comment puis-je utiliser la fonctionnalité « Colonnes à afficher » ?

À partir de l’exemple précédent, créez la table pma__table_info comme expliqué dans la section Configuration,puis parcourez votre table personnes, et déplacez votre souris au-dessus du code ville ou du code pays. Voir aussi 6.21En mode modifier/insérer, comment puis-je voir une liste des valeurs possibles pour une colonne, basée sur une tableétrangère ? pour une fonctionnalité que « afficher colonne » active : une liste déroulante des valeurs possibles.

6.6.8 6.8 Comment puis-je produire un schéma PDF de ma base de données ?

Tout d’abord, les variables « relation », « table_coords » et « pdf_pages » doivent être renseignées. Ensuite, réfléchissezà la mise en page de votre schéma. Quelles tables iront sur quelles pages ?

— Sélectionnez votre base de données dans le cadre de navigation.— Choisissez « Opérations » dans la barre de navigation en haut.— Choisissez « Préparer le schéma en PDF » vers le bas de la page.— Saisissez le nom de la première page PDF et cliquez sur « Exécutez » Vous pouvez également utiliser la « Mise

en page automatique », qui placera sur votre page toutes les tables qui sont liées.— Sélectionnez le nom de la nouvelle page (en vous assurant que le bouton radio « Modifier » est sélectionné) et

cliquez sur « Exécuter ».— Sélectionnez une table dans la liste, saisissez ses coordonnées et cliquez sur Enregistrer. Les coordonnées sont

relatives ; votre diagramme s’ajustera automatiquement à l’échelle de la page. Lors du placement initial destables, choisissez juste des coordonnées – disons 50x50. Après avoir cliqué sur « Enregistrer », vous pouvezutiliser l’éditeur graphique 6.28 Comment puis-je facilement modifier le schéma relationnel pour l’export ?pour placer correctement l’élément.

— Quand vous voudrez regarder votre PDF, assurez-vous d’abord de cliquer sur le bouton « Enregistrer » sousla liste des tables et des coordonnées pour enregistrer les changements que vous y avez fait. Puis faites défilervers le bas, sélectionnez les options PDF que vous voulez et cliquer sur « Exécuter ».

6.6. Utiliser phpMyAdmin 127

Page 134: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Internet Explorer pour Windows peut proposer un nom de fichier incorrect quand vous essayez d’enregistrerle fichier PDF généré. Quand vous enregistrez un fichier PDF généré, assurez-vous que son nom se terminepar « .pdf », par exemple « schema.pdf ». Les navigateurs sur les autres systèmes d’exploitation et les autresnavigateurs sous Windows n’ont pas ce problème.

Voir aussi :

Relations

6.6.9 6.9 phpMyAdmin change le type de l’une de mes colonnes !

Non, c’est MySQL qui fait des changements silencieux de type de colonne.

6.6.10 6.10 En créant un privilège, qu’arrive-t-il aux traits de soulignement (unders-core) dans le nom de la base de données ?

Si vous ne mettez pas de barre oblique inverse (backslash) avant le trait de soulignement, c’est un méta-caractèrepour les autorisations, et le trait de soulignement signifie « tout caractère ». Aussi, si le nom de base de données est« john_db », l’utilisateur aura des droits sur john1db, john2db. . . Si vous placez un backslash (« ») avant le trait desoulignement (« _ »), cela signifie que le nom de la base de données contiendra un trait de soulignement.

6.6.11 6.11 Quel est ce curieux symbole ø dans les pages de statistiques ?

Il signifie « moyenne ».

6.6.12 6.12 Je veux comprendre certaines options de Exporter.

Structure :— « ADD DROP TABLE » ajoutera une ligne disant à MySQL de supprimer la table si elle existe déjà pendant

l’importation. Cela ne supprime PAS la table après votre export, cela n’affecte que le fichier d’importation.— Ajouter « IF NOT EXISTS » créera seulement la table si elle n’existe pas. Sinon, vous pouvez obtenir une

erreur si le nom de table existe mais qu’elle a une structure différente.— « Inclure la valeur courante de l’AUTO_INCREMENT » assure que la valeur AUTO_INCREMENT (s’il y en

a une) sera incluse dans la sauvegarde.— « Protéger les noms des tables et des colonnes par des »‘ » » assure que les noms de colonnes et de tables

contenant des caractères spéciaux sont protégés.— « Inclure sous forme de commentaires » inclut les commentaires des colonnes, les relations et les types MIME

définis dans la base de données pmadb dans le fichier d’exportation en tant que commentaires SQL (/* xxx */ ).Données :

— « Insertions complètes » ajoute les noms de colonne sur chaque commande INSERT, pour une meilleure docu-mentation (mais le fichier résultant est plus gros).

— « Insertions étendues » fournit une fichier d’exportation plus petit en utilisant seulement une fois INSERT etle nom de la table.

— « Insertions avec délais (DELAYED) » sont très bien expliquées dans le Manuel MySQL.— « Ignorer les erreurs de doublons (INSERT IGNORE) » traite les erreurs comme des avertissements. À nou-

veau, vous pourrez trouver plus de détails dans le Manuel MySQL, mais en gros, avec cette option, les valeursinvalides sont ajustées et insérées plutôt que de provoquer l’échec de la déclaration tout entière.

128 Chapitre 6. FAQ - Foire Aux Questions

Page 135: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.6.13 6.13 J’aimerais créer une base de données avec un point dans son nom.

C’est une mauvaise idée, car dans MySQL la syntaxe « database.table » est la manière normale de référencer une basede données et un nom de table. Pire, MySQL vous laissera normalement créer cette base de données avec un point,mais alors vous ne pourrez pas travailler avec, ni la supprimer.

6.6.14 6.14 (retiré).

6.6.15 6.15 Je veux ajouter une colonne BLOB et ajouter un index dessus, maisMySQL dit « BLOB column “. . . ” used in key specification without a keylength ».

La bonne manière de faire cela, est de créer une colonne sans index, puis d’afficher la structure de la table et d’utiliserle dialogue « Créer une clef ». Sur cette page, vous pourrez alors choisir votre colonne BLOB, et définir une taille pourl’index sur une colonne BLOB.

6.6.16 6.16 Comment puis-je me déplacer simplement dans une page remplie dechamps modifiables ?

Vous pouvez utiliser Ctrl+flèches (Option+flèches dans Safari) pour vous déplacer dans la plupart des pagesayant beaucoup de champs d’édition (changements de structure de tables, édition de lignes, etc.).

6.6.17 6.17 Transformations : je ne peux pas saisir mon propre type mime ! À quoipeut bien servir cette fonctionnalité alors ?

Définir des types mime n’a pas d’utilité si on ne peut pas mettre de transformations dessus. Sinon vous pouvez seule-ment mettre un commentaire sur la colonne. En saisissant votre propre type mime, vous causerez de sérieux problèmesde vérification de syntaxe et de validation, et introduirez une situation de grand risque de mauvaise interprétationde saisie de l’utilisateur. Au lieu de cela, vous pouvez initialiser des types mime en utilisant des fonctions ou desdéfinitions de types mime vides.

De plus, vous avez une vue d’ensemble de tous les types MIME disponibles. Qui connaît tous ces types MIME parcœur de sorte qu’il puisse les saisir à volonté ?

6.6.18 6.18 Signets : Où puis-je stocker les signets ? Pourquoi aucun signet n’estvisible en-dessous de la boîte de requête ? Quel est le but de ces variables ?

Vous devez avoir configuré les Configuration de stockage de phpMyAdmin pour utiliser la fonctionnalité de signets.Une fois réalisé, vous pouvez utiliser les signets dans l’onglet SQL.

Voir aussi :

Signets

6.6.19 6.19 Comment puis-je créer simplement un document LATEX pour y inclureune table exportée ?

Vous pouvez inclure simplement une table dans vos documents LATEX, un exemple de document minimaliste devraitressembler à celui qui suit (en supposant que vous avez une table exportée dans le fichier table.tex) :

6.6. Utiliser phpMyAdmin 129

Page 136: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

\documentclass{article} % or any class you want\usepackage{longtable} % for displaying table\begin{document} % start of document\include{table} % including exported table\end{document} % end of document

6.6.20 6.20 Je vois beaucoup de bases de données qui ne sont pas à moi et que jene peux accéder.

Vous avez un de ces privilèges globaux : CREATE TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES.Ces privilèges permettent également aux utilisateurs de voir tous les noms de bases de données. Donc, si vos utilisateursn’ont pas besoin de ces privilèges, vous pouvez les supprimer et leur liste de bases de données sera raccourcie.

Voir aussi :

<https://bugs.mysql.com/bug.php?id=179>

6.6.21 6.21 En mode modifier/insérer, comment puis-je voir une liste des valeurspossibles pour une colonne, basée sur une table étrangère ?

Vous devez configurer les liens appropriés entre les tables, ainsi que la « Colonne à afficher » (display column) dansla table étrangère. Voir la section 6.6 Comment puis-je utiliser la table relation dans Query-by-example ? pour unexemple. Ensuite, s’il y a 100 valeurs ou moins dans la table étrangère, une liste déroulante des valeurs sera disponible.Vous verrez deux listes de valeurs, la première liste contenant la clé et la colonne à afficher, la seconde liste contenantla colonne à afficher et la clé. La raison de cela est de permettre de saisir la première lettre soit de la clé, soit dela colonne à afficher. Pour 100 valeurs ou plus, une fenêtre distincte apparaîtra, pour parcourir les valeurs de clésétrangères et en choisir une. Pour changer cette limite par défaut de 100, voir $cfg['ForeignKeyMaxLimit'].

6.6.22 6.22 Signets : Puis-je exécuter automatiquement en entrant en mode Affi-cher pour une table ?

Oui. Si un signet a le même libellé qu’un nom de table et qu’il n’est pas public, il sera exécuté.

Voir aussi :

Signets

6.6.23 6.23 Export : J’ai entendu dire que phpMyAdmin peut exporter des fichiersau format Microsoft Excel ?

Vous pouvez utiliser le format CSV pour Microsoft Excel, qui fonctionne tel quel.

Modifié dans la version 3.4.5 : Depuis phpMyAdmin 3.4.5, le support pour l’export direct vers Microsoft Excel version97 et supérieur a été retiré.

6.6.24 6.24 Maintenant que phpMyAdmin gère nativement les commentaires de co-lonnes MySQL 4.1.x, qu’arrive-t-il à mes commentaires de colonnes stockésdans pmadb ?

La migration automatique des commentaires de colonne de style pmadb d’une table vers le format natif est effectuéechaque fois que vous entrez dans la page Structure pour cette table.

130 Chapitre 6. FAQ - Foire Aux Questions

Page 137: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.6.25 6.25 (retiré).

6.6.26 6.26 Comment puis-je sélectionner un ensemble de lignes ?

Cliquez sur la première ligne, puis maintenez appuyée la touche MAJ et cliquez sur la dernière ligne. Ceci fonctionnepartout où vous pouvez voir des lignes, par exemple dans le mode Navigation ou sur la page Structure.

6.6.27 6.27 Quels formats de chaînes puis-je utiliser ?

Dans tous les endroits où phpMyAdmin accepte le formatage de chaînes, vous pouvez utiliser l’expansion de formatde chaînes @VARIABLE@ et strftime. Les variables étendues dépendent du contexte (par exemple, si vous avez choisiune table, vous ne pouvez pas obtenir le nom de la table), mais les variables suivantes peuvent être utilisées :

@HTTP_HOST@ Hôte HTTP exécutant phpMyAdmin

@SERVER@ Nom du serveur MySQL

@VERBOSE@ Nom complet du serveur MySQL tel qu’indiqué dans la$cfg['Servers'][$i]['verbose']

@VSERVER@ Nom complet du serveur MySQL si défini, sinon normal

@DATABASE@ Base de données actuellement ouverte

@TABLE@ Table actuellement ouverte

@COLUMNS@ Colonnes de la table actuellement ouverte

@PHPMYADMIN@ Version de phpMyAdmin

6.6.28 6.28 Comment puis-je facilement modifier le schéma relationnel pour l’ex-port ?

En cliquant sur le bouton « Éditeur visuel » sur la page où vous modifiez les coordonnées x/y de ces éléments,vous pouvez activer un éditeur visuel où tous vos éléments sont placés. En cliquant sur un élément, vous pouvez ledéplacer dans la zone prédéfinie et les coordonnées x/y seront mises à jour dynamiquement. Vous pouvez aussi saisirdirectement dans le champ de saisie, la nouvelle position dans l’éditeur visuel change après que le curseur a quitté lechamp de saisie.

Vous devez cliquer sur le bouton “OK” en-dessous des tables pour sauvegarder les nouvelles positions. Si vous voulezplacer un nouvel élément, ajoutez-le d’abord à la table des éléments et alors vous pourrez déplacer ce nouvel élément.

En changeant la taille du papier et l’orientation, vous changez également la taille de l’éditeur visuel. Vous pouvez lefaire en changeant seulement le champ déroulant au-dessous, et l’éditeur visuel se réajustera automatiquement, sansinterférer avec les positions des éléments en cours.

Si un élément sortait du champ, vous pouvez soit agrandir la taille du papier, soit cliquer sur le bouton “Réinitialiserles valeurs” pour placer tous les éléments les uns en-dessous des autres.

6.6.29 6.29 Pourquoi ne puis-je obtenir un graphique à partir de ma table des résul-tats de requêtes ?

Toutes les tables ne peuvent pas permettre la création d’un graphique. Seules les tables ayant une, deux ou troiscolonnes peuvent être visualisées sous forme de graphique. De plus, la table doit être dans un format spécial pour quele script de création de graphique la comprenne. Les formats actuellement supportés sont disponibles sur Tableaux.

6.6. Utiliser phpMyAdmin 131

Page 138: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.6.30 6.30 Import : Comment puis-je importer des fichiers ESRI Shapefiles ?

Un fichier ESRI Shapefile est en fait un ensemble de fichiers dans lesquels .shp contient les données de géométrie et.dbf les données relatives à ces données de géométrie. Pour lire les données du fichier .dbf, PHP doit être compilé avecl’extension dBase (–enable-dbase). Sans quoi, seules données de géométrie seront importées.

Pour uploader ces ensembles de fichiers, vous pouvez utiliser une des méthodes suivantes :

Configurer le répertoire d’upload avec $cfg['UploadDir'], uploader les deux fichiers .shp et .dbf avec le mêmenom et choisir le fichier .shp dans la page d’import.

Créer une archive zip avec les fichiers .shp et .dbf et l’importer. Pour que cela fonctionne, vous devez définir$cfg['TempDir'] dans un répertoire où l’utilisateur du serveur Web à des droits d’écriture (par exemple './tmp').

Pour créer un répertoire temporaire sur un système basé sur UNIX, vous pouvez faire ceci :

cd phpMyAdminmkdir tmpchmod o+rwx tmp

6.6.31 6.31 Comment puis-je créer une relation dans le Designer ?

La colonne descriptive est montrée en rose. Pour indiquer qu’une colonne est ou n’est plus la colonne descriptive,cliquer l’icône « Colonne descriptive », puis cliquer sur le nom de colonne approprié.

6.6.32 6.32 Comment puis-je utiliser la fonctionnalité zoom de recherche ?

La fonctionnalité de recherche Zoom est une alternative à la fonctionnalité de recherche dans les tables. Elle per-met d’explorer une table en représentant ses données dans un diagramme de dispersion. Vous pouvez localiser cettefonctionnalité en sélectionnant une table et en cliquant sur l’onglet Recherche. Un des sous-onglets de cette page estl’option Recherche zoom.

Considérons la table REL_persons dans 6.6 Comment puis-je utiliser la table relation dans Query-by-example ? parexemple. Pour utiliser la recherche Zoom, deux colonnes doivent être sélectionnées, par exemple, id et town_code. Lesvaleurs id seront représentées sur un axe et les valeurs town_code sur l’autre. Chaque ligne sera représentée comme unpoint dans le diagramme de dispersion basée sur son id et town_code. Vous pouvez ajouter deux critères de rechercheadditionnels en plus des deux champs à afficher.

Vous pouvez choisir le libellé des champs à afficher pour chaque point. Si une colonne à afficher a été définie pourune table (voir 6.7 Comment puis-je utiliser la fonctionnalité « Colonnes à afficher » ?), elle est prise comme libellé àmoins de spécifier autre chose. Vous pouvez aussi sélectionner le maximum de lignes que vous voulez voir affichéesdans le diagramme en l’indiquant dans le champ “Nombre maximum de lignes à représenter”. Quand vos choix sontterminés, cliquez sur “Exécuter” pour afficher le diagramme.

Quand le diagramme a été généré, vous pouvez utiliser la molette de la souris pour zoomer dans le diagramme. Deplus, la fonctionnalité panorama est activée pour naviguer dans le diagramme. Vous pouvez zoomer jusqu’à un certainniveau de détails puis utiliser le panorama pour vous rendre sur la zone qui vous intéresse. Cliquer sur un point ouvreune boîte de dialogue qui affiche les données de l’enregistrement représenté par le point. Vous pouvez éditer cesvaleurs si nécessaire et cliquer sur Soumettre pour créer une requête de mise à jour. Des instructions basiques sur lafaçon d’utiliser cette fonctionnalité peuvent être affichées en cliquant sur le lien « Comment utiliser ? » situé au-dessusdu diagramme.

132 Chapitre 6. FAQ - Foire Aux Questions

Page 139: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

6.6.33 6.33 Lors de la navigation dans une table, comment puis-je copier un nomde colonne ?

Sélectionner le nom d’une colonne dans la cellule d’en-tête de table pour le copier est difficile, car les colonnes peuventêtre ordonnées en déplaçant les cellules d’en-têtes ou en cliquant sur le nom de la colonne qui est un lien. Pour copierun nom de colonne, faites un double clic dans une zone vide à côté du nom de la colonne quand une infobulle vous lepropose. Cela affichera une boîte de saisie avec le nom de la colonne. Vous pourrez alors copier dans le presse-papiersle nom de la colonne à partir de cette boîte.

6.6.34 6.34 Comment utiliser la fonctionnalité de Tables préférées ?

La fonctionnalité de Tables préférées est très semblable à celle des Tables récentes. Elle permet d’ajouter un raccourcipour les tables les plus fréquemment utilisées de n’importe quelle base de données dans le panneau de navigation. Vouspouvez naviguer facilement dans n’importe quelle table en cliquant simplement sur celle-ci dans la liste. Ces tablessont stockées dans le stockage local de votre navigateur si vous n’avez pas configuré le Stockage de configuration dephpMyAdmin. Sinon, ces entrées sont stockées dans Stockage de configuration de phpMyAdmin.

IMPORTANT : En l’absence de Stockage de configuration de phpMyAdmin, la liste des tables préférées peut varier enfonction du navigateur et de l’ordinateur que vous utilisez.

Pour ajouter une table à la liste, cliquer sur l’étoile grise située devant le nom de la table dans la liste des tables d’unebase de données. Celle-ci deviendra alors jaune. Pour supprimer une table de la liste, cliquer sur l’étoile jaune quideviendra alors grise.

En utilisant $cfg['NumFavoriteTables'] dans votre fichier config.inc.php, vous pourrez définir lenombre maximum de tables affichées dans le panneau de navigation. La valeur par défaut est 10.

6.6.35 6.35 Comment puis-je utiliser la fonctionnalité de recherche en intervalles ?

À l’aide de la fonctionnalité de recherche en intervalle, vous pouvez indiquer un ensemble de valeurs pour une (des)colonne(s) particulière(s) lors d’une recherche sur une table à partir de l’onglet « Recherche ».

Pour utiliser cette fonctionnalité, cliquer sur les opérateurs BETWEEN ou NOT BETWEEN dans la liste des opérateursdevant le nom de la colonne. En choisissant une des options ci-dessus, une boîte de dialogue s’ouvrira demandant lavaleur minimale et maximale pour cette colonne. Seules les valeurs de cet intervalle seront incluses dans le résultatdans le cas de l’opérateur BETWEEN ou exclues dans le cas de l’opérateur NOT BETWEEN.

Note : La fonctionnalité de recherche en intervalle ne fonctionnera que sur des colonnes de type Numeric ou Date.

6.6.36 6.36 Que sont les colonnes centrales et comment utiliser cette fonctionna-lité ?

Comme le suggère son nom, la fonctionnalité de colonnes centrales active la maintenance d’une liste centrale decolonnes par base de données pour éviter des noms similaires pour les mêmes éléments de données et apporte de lacohérence au type de données pour les mêmes éléments de données. Vous pouvez utiliser cette liste centralisée pourajouter un élément à n’importe quelle structure de table dans cette base de données ce qui vous épargnera de saisir desnoms de colonnes ou des définitions de colonnes similaires.

Pour ajouter une colonne à la liste centralisée, rendez-vous sur la page de structure de table, cochez les colonnesque vous voulez inclure et cliquez sur « Ajouter aux colonnes centrales ». Si vous voulez ajouter toutes les colonnesuniques à partir de plus d’une table, rendez-vous sur la page de structure de base de données, cochez les tables quevous voulez inclure, puis sélectionnez « Ajouter les colonnes à la liste centrale ».

6.6. Utiliser phpMyAdmin 133

Page 140: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Pour supprimer une colonne de la liste centralisée, rendez-vous sur la page de structure de table, cochez les colonnesque vous voulez retirer, puis cliquez sur « Supprimer des colonnes centrales ». Si vous voulez retirer toutes les colonnesde plus d’une table, rendez-vous sur la page structure de base de données, cochez les tables que vous voulez inclure,puis sélectionner « Supprimer les colonnes de la liste centralisée ».

Pour afficher et gérer la liste centralisée, sélectionnez la base de données pour laquelle vous voulez gérer les colonnescentrales, puis, à partir du menu supérieur, cliquez sur « Colonnes centrales ». Vous serez alors dirigé vers une pageoù vous pourrez modifier, supprimer ou ajouter de nouvelles colonnes.

6.6.37 6.37 Comment puis-je utiliser la fonctionnalité Améliorer la structure detable ?

La fonctionnalité Améliorer la structure de table aide à transformer la structure en troisième forme normale. Unassistant est présenté à l’utilisateur et pose des questions sur les éléments dans plusieurs étapes pour la normalisation,et une nouvelle structure est proposée pour transformer la table en première, deuxième ou troisième forme normale.Au démarrage, l’assistant demande à l’utilisateur jusqu’à quel niveau de forme normale il veut normaliser sa table.

Voici un exemple de table que vous pouvez utiliser pour tester les trois formes normales.

CREATE TABLE `VetOffice` (`petName` varchar(64) NOT NULL,`petBreed` varchar(64) NOT NULL,`petType` varchar(64) NOT NULL,`petDOB` date NOT NULL,`ownerLastName` varchar(64) NOT NULL,`ownerFirstName` varchar(64) NOT NULL,`ownerPhone1` int(12) NOT NULL,`ownerPhone2` int(12) NOT NULL,`ownerEmail` varchar(64) NOT NULL,

);

La table ci-dessus n’est pas en première forme normale car il n’y a pas de primary key. La clé primaire est supposéeêtre (petName,‘ownerLastName‘,‘ownerFirstName‘). Si la primary key est choisie comme suggéré, la table résultantene sera pas en deuxième ni en troisième forme normale car les dépendances suivantes existent.

(OwnerLastName, OwnerFirstName) -> OwnerEmail(OwnerLastName, OwnerFirstName) -> OwnerPhonePetBreed -> PetType

C’est-à-dire : OwnerEmail dépend de OwnerLastName et OwnerFirstName. OwnerPhone dépend de OwnerLastNameet OwnerFirstName. PetType dépend de PetBreed.

6.6.38 6.38 Comment puis-je réaffecter les valeurs auto-incrémentées ?

Certains utilisateurs préfèrent que leurs valeurs AUTO_INCREMENT soient consécutives ; ce n’est pas toujours lecas après la suppression de lignes.

Voici les étapes pour y parvenir. Ce sont des étapes manuelles parce qu’elles comportent une vérification manuelle àun moment donné.

— Vérifiez que vous disposez d’un accès exclusif à la table devant être réorganisée— Sur votre colonne de primary key par exemple id), supprimez le paramètre AUTO_INCREMENT— Supprimer votre clé primaire dans Structure > index— Créer une nouvelle colonne future_id comme clé primaire, AUTO_INCREMENT— Parcourez votre table et vérifiez que les nouveaux incréments correspondent à votre attente— Supprimez votre ancienne colonne id

134 Chapitre 6. FAQ - Foire Aux Questions

Page 141: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Renommez la colonne future_id en id— Déplacer la nouvelle colonne id via Structure > Déplacer des colonnes

6.6.39 6.39 Quelle est l’option « Ajuster les privilèges » présente dans les dialoguesde renommage, de copie ou de déplacement de base de données, de table,de colonne ou de procédure ?

Lors du renommage, de la copie ou du déplacement d’une base de données, d’une table, d’une colonne ou d’uneprocédure, MySQL n’ajuste pas par lui-même les privilèges originaux relatifs à ces objets. En choisissant cette option,phpMyAdmin effectuera un ajustement des privilèges afin que les utilisateurs obtiennent les mêmes privilèges sur lesnouveaux éléments.

Par exemple : un utilisateur “bob”@”localhost a un privilège « SELECT » sur une colonne nommée « id ». Maintenant,si cette colonne est renommée en « id_new » , MySQL, par lui-même, n’ajusterait pas les privilèges de colonne versle nouveau nom de colonne. phpMyAdmin peut faire cet ajustement pour vous automatiquement.

Notes :— Lors de l’ajustement des privilèges pour une base de données, les privilèges de tous les éléments liés à la base

de données (tables, colonnes et procédures) sont également ajustés au nouveau nom de la base de données.— De même, tout en ajustant les privilèges d’une table, les privilèges de toutes les colonnes à l’intérieur de la

nouvelle table sont également ajustés.— Lors de l’ajustement des privilèges, l’utilisateur qui effectue l’opération ** doit ** posséder les privilèges

suivants :— Les privilèges SELECT, INSERT, UPDATE, DELETE sur les tables suivantes : mysql.‘db‘,

mysql.‘columns_priv‘, mysql.‘tables_priv‘, mysql.‘procs_priv‘— Privilège FLUSH (GLOBAL)

Ainsi, si vous voulez répliquer la base de données/table/colonne/procédure telle quelle pendant le renommage/la co-pie/le déplacement de ces objets, assurez-vous que vous avez activé cette option.

6.6.40 6.40 Je vois la case à cocher « Lier les paramètres » dans la page « SQL ».Comment puis-je écrire des requêtes SQL paramétrées ?

Depuis la version 4.5, phpMyAdmin permet aux utilisateurs d’exécuter des requêtes paramétrées dans la page « SQL». Les paramètres doivent être préfixés d’un deux-points ( :), et lorsque la case « Lier les paramètres » est cochée, cesparamètres seront identifiés et des champs de saisie pour ces paramètres seront présentés. Les valeurs entrées dans ceschamps seront substituées dans la requête avant son exécution.

6.6.41 6.41 Je reçois des erreurs d’importation lors de l’importation des dumps ex-portées depuis les anciennes versions de MySQL (antérieures à 5.7.6) versles nouvelles versions de MySQL (5.7.7+), mais elles fonctionnent correcte-ment lorsqu’elles sont importées sur les mêmes anciennes versions ?

Si vous avez des erreurs comme #1031 - Le moteur de table de table pour “table_name” n’a pas cette option lorsde l’importation des dumps exportées depuis les serveurs MySQL pré-5.7.7 vers les nouvelles versions du serveurMySQL 5.7.7+, c’est peut-être parce que ROW_FORMAT=FIXED n’est pas pris en charge avec les tables InnoDB.De plus, la valeur de innodb_strict_mode définirait si cela serait signalé comme un avertissement ou comme une erreur.

Depuis MySQL version 5.7.9, la valeur par défaut de innodb_strict_mode est‘ ON‘ et génère donc une erreur lors-qu’une instruction CREATE TABLE ou ALTER TABLE est rencontrée.

Il existe deux façons de prévenir ces erreurs lors de l’importation :

6.6. Utiliser phpMyAdmin 135

Page 142: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Changez la valeur de innodb_strict_mode sur‘ OFF‘ avant de lancer l’importation et activez-la ON une foisl’importation terminée avec succès.

— Cela peut être réalisé de deux façons :— Allez à la page “Variables” et modifiez la valeur de innodb_strict_mode— Exécuter la requête : SET GLOBAL ‘innodb_strict_mode = “[value]”‘

Une fois l’importation terminée, il est suggéré que la valeur de innodb_strict_mode soit réinitialisée à la valeur d’ori-gine.

6.7 Projet phpMyAdmin

6.7.1 7.1 J’ai trouvé un bogue. Comment dois-je en informer les développeurs ?

Notre logiciel de suivi de problèmes est situé sur <https://github.com/phpmyadmin/phpmyadmin/issues>. Pour desproblèmes de sécurité, veuillez suivre les instructions sur <https://www.phpmyadmin.net/security> pour envoyer uncourriel directement aux développeurs.

6.7.2 7.2 Je veux traduire les messages dans une nouvelle langue ou mettre à jourune langue existante, où dois-je commencer ?

Les traductions sont les bienvenues et tout ce dont vous avez besoin est de maîtriser la langue. La manière la plus facileest d’utiliser notre <https://hosted.weblate.org/projects/phpmyadmin/>‘_. Vous pouvez consulter toutes les possibilitésde traduction dans la section traduction de notre site Web.

6.7.3 7.3 Je voudrais aider au développement de phpMyAdmin. Comment dois-jeprocéder ?

Nous accueillons volontiers toute contribution au développement de phpMyAdmin. Vous pouvez consulter toutes lespossibilités pour contribuer dans la section contribuer de notre site Web.

Voir aussi :

Informations pour les développeurs

6.8 Sécurité

6.8.1 8.1 Où puis-je obtenir des informations sur les alertes de sécurité pour php-MyAdmin ?

Veuillez consulter <https://www.phpmyadmin.net/security/>.

6.8.2 8.2 Comment protéger phpMyAdmin contre les attaques par force brute ?

Si vous utilisez un serveur Web Apache, phpMyAdmin exporte les informations sur l’authentification vers l’environ-nement Apache et peut être utilisé dans les logs d’Apache. Il y a actuellement deux variables disponibles :

userID Le nom de l’utilisateur actif en cours (il n’a pas besoin d’être connecté).

136 Chapitre 6. FAQ - Foire Aux Questions

Page 143: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

userStatus L’état de l’utilisateur actif en cours, soit ok (l’utilisateur est connecté), soit mysql-denied(MySQL a refusé la connexion de l’utilisateur), soit allow-denied (l’utilisateur a été rejeté par les règlesallow/deny), soit root-denied (root est refusé dans la configuration), soit empty-denied (les mots depasse vides sont interdits).

La directive LogFormat pour Apache peut ressembler à ce qui suit :

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %→˓{userStatus}n" pma_combined

Vous pouvez alors utiliser n’importe quel outil d’analyse de logs pour détecter des tentatives d’intrusion.

6.8.3 8.3 Pourquoi le chemin d’accès au fichier est-il affiché lors du téléchargementde certains fichiers ?

Ceci est dû à un problème de configuration du serveur. Ne jamais activer display_errors sur un site de produc-tion.

6.8.4 8.4 Les fichiers CSV exportés à partir de phpMyAdmin pourraient permettreune attaque par injection de formule.

Il est possible de générer un fichier CSV qui, lorsqu’il est importé dans un programme de tableur comme MicrosoftExcel, pourrait potentiellement permettre l’exécution de commandes arbitraires.

Les fichiers CSV générés par phpMyAdmin pourraient potentiellement contenir du texte qui serait interprété par unprogramme de traitement de texte comme une formule, mais nous ne pensons pas que d’échapper ces champs soientune solution correcte. Il n’existe aucun moyen d’échapper correctement ces champs et de différencier du texte légitimed’une formule qui devrait être échappée, et CSV est un format de texte ou les définitions de fonctions ne devraient pasêtre interprétées de toutes façons. Nous en avons longuement discuté et il nous semble qu’il est de la responsabilité duprogramme de tableur d’analyser et d’assainir correctement ce type de données.

Google a un point de vue similaire.

6.9 Synchronisation

6.9.1 9.1 (retiré).

6.9.2 9.2 (retiré).

6.9. Synchronisation 137

Page 144: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

138 Chapitre 6. FAQ - Foire Aux Questions

Page 145: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 7

Informations pour les développeurs

phpMyAdmin est un logiciel Open Source, aussi vous êtes invités à y contribuer. Beaucoup de fonctionnalités ont étéécrites par d’autres personnes et vous aussi vous pouvez aider à faire de phpMyAdmin un outil utile.

Vous pouvez consulter toutes les possibilités pour contribuer dans la section contribuer de notre site Web.

139

Page 146: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

140 Chapitre 7. Informations pour les développeurs

Page 147: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 8

Politique de sécurité

L’équipe de développement de phpMyAdmin s’investit beaucoup pour rendre phpMyAdmin aussi sûr que possible.Cependant, les applications Web telles que phpMyAdmin peuvent être vulnérables à de nombreux types d’attaques etde nouvelles façons de les compromettre sont sans cesse explorées.

Pour chaque vulnérabilité rapportée, nous publions une annonce de sécurité phpMyAdmin (PMASA) associée à unidentifiant CVE. Nous pouvons grouper des vulnérabilités similaires dans une seule PMASA (par exemple, de mul-tiples vulnérabilités XSS peuvent être annoncées dans une seule PMASA).

Si vous pensez avoir découvert une vulnérabilité, veuillez consulter Signalement des problèmes de sécurité.

8.1 Vulnérabilités typiques

Dans cette section, nous décrirons les vulnérabilités typiques qui peuvent apparaître dans notre base de code. Cetteliste n’est pas exhaustive et est destinée à montrer les surfaces d’attaque typiques.

8.1.1 Cross-site scripting (XSS)

Quand phpMyAdmin affiche des données utilisateurs, par ex. provenant d’une base de données utilisateur, tous lescaractères HTML spéciaux doivent être échappés. Sans cet échappement, un utilisateur malicieux pourrait remplirune base de données avec du contenu spécialement conçu pour tromper un autre utilisateur afin qu’il exécute quelquechose. Cela pourrait être par ex. du code JavaScript nuisible.

phpMyAdmin tente d’échapper toutes les données utilisateur avant d’être affiché dans le navigateur.

Voir aussi :

Cross-site scripting sur Wikipedia

141

Page 148: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

8.1.2 Cross-site request forgery (CSRF)

Un attaquant pourrait tromper un utilisateur phpMyAdmin en le faisant cliquer sur un lien pour y exécuter une action.Ce lien pourrait être envoyé par courriel ou sur un site quelconque. En cas de succès, l’attaquant pourrait être capabled’exécuter une action arbitraire avec les privilèges utilisateur.

Pour contrecarrer cela, phpMyAdmin requiert qu’un jeton soit envoyé pour les requêtes sensibles. L’idée est qu’unattaquant ne possède pas de jeton valide pour l’inclure dans le lien présenté.

Comme le jeton est régénéré à chaque connexion, il n’est donc valide que pendant un temps limité, ce qui fait qu’unattaquant peut difficilement en obtenir un.

Voir aussi :

Cross-site request forgery sur Wikipedia

8.1.3 Injection SQL

Comme le but de phpMyAdmin est d’opérer des requêtes SQL, les injections SQL ne sont pas notre priorité. Toutefoisles injections SQL peuvent concerner la connexion par contrôle MySQL. Cette connexion peut avoir des privilègessupplémentaires que l’utilisateur connecté ne possède pas. Par ex. accéder aux Configuration de stockage de php-MyAdmin.

Les données utilisateur incluses dans les requêtes (d’administration) devraient toujours être exécutées avec Databa-seInterface : :escapeString().

Voir aussi :

Injection SQL sur Wikipedia

8.1.4 Attaque par force brute

phpMyAdmin lui-même ne limite pas le nombre d’essais d’authentification du fait de l’environnement de travail sansétat (stateless) où il n’existe aucune protection contre ce genre de chose.

Pour contrecarrer ceci, on peut utiliser un Captcha ou un outil externe comme fail2ban. Plus de détails dans Sécuriservotre installation de phpMyAdmin.

Voir aussi :

Attaque par force brute sur Wikipedia

8.2 Signalement des problèmes de sécurité

En cas de découverte d’une faille de sécurité dans le code de phpMyAdmin, merci de contacter phpMyAdmin securityteam avant de la publier. Ainsi une solution de résolution pourra être préparée et délivrée avec l’annonce de la faillequi sera créditée dans notre annonce de sécurité. Le rapport peut éventuellement être chiffré avec la clé PGP IDDA68AB39218AB947 et l’empreinte suivante :

pub 4096R/DA68AB39218AB947 2016-08-02Key fingerprint = 5BAD 38CF B980 50B9 4BD7 FB5B DA68 AB39 218A B947

uid phpMyAdmin Security Team &lt;[email protected]&gt;sub 4096R/5E4176FB497A31F7 2016-08-02

142 Chapitre 8. Politique de sécurité

Page 149: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

La clé peut être obtenue soit depuis le serveur de clés soit dans le phpMyAdmin keyring disponible sur notre serveurde téléchargement ou en utilisant Keybase.

En cas de suggestion pour améliorer la sécurité de phpMyAdmin, merci de la soumettre sur notre issue tracker. Lessuggestions d’améliorations peuvent être trouvées par hardening label.

8.2. Signalement des problèmes de sécurité 143

Page 150: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

144 Chapitre 8. Politique de sécurité

Page 151: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 9

Distribuer et packager phpMyAdmin

Ce document est destiné à donner des conseils aux personnes qui veulent redistribuer phpMyAdmin dans d’autrespaquets logiciels telle qu’une distribution Linux ou des paquets tout en un contenant un serveur Web et un serveurMySQL.

Généralement vous pouvez personnaliser certains aspects basiques (chemins d’accès vers certains fichiers et compor-tement) dans libraries/vendor_config.php.

Par exemple, si vous voulez paramétrer un script pour générer le fichier de config dans var, modifierSETUP_CONFIG_FILE en /var/lib/phpmyadmin/config.inc.php et vous voudrez aussi probablementpasser outre la vérification de répertoire accessible en écriture en paramétrant SETUP_DIR_WRITABLE à « false ».

9.1 Bibliothèques externes

phpMyAdmin inclut plusieurs bibliothèques externes, vous pourriez vouloir les remplacer par celles du système sielles sont disponibles, mais veuillez noter que vous devrez tester si les versions que vous fournissez sont compatiblesavec celles que nous distribuons.

Liste actuelle des bibliothèques externes :

js/jquery Le framework Javascript jQuery et diverses bibliothèques jQuery.

vendor/ Le kit de téléchargement contient divers paquets de dépendances de Composer.

145

Page 152: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

146 Chapitre 9. Distribuer et packager phpMyAdmin

Page 153: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 10

Copyright

Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>Copyright (C) 2001-2017 Marc Delisle <marc_at_infomarc.info>

Olivier Müller <om_at_omnis.ch>Robin Johnson <robbat2_at_users.sourceforge.net>Alexander M. Turek <me_at_derrabus.de>Michal Cihar <michal_at_cihar.com>Garvin Hicking <me_at_supergarv.de>Michael Keck <mkkeck_at_users.sourceforge.net>Sebastian Mendel <cybot_tm_at_users.sourceforge.net>[check credits for more details]

Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier en respectant les termes de la GNUGeneral Public License version 2 (Licence publique générale GNU) telle qu’elle est publiée par la Free SoftwareFoundation (Fondation pour le logiciel libre).

Ce programme est distribué en espérant être utile, mais SANS AUCUNE GARANTIE ; sans même la garantie impliciteCOMMERCIALE ou D’ADÉQUATION POUR UNE UTILISATION PARTICULIÈRE. Voir la GNU General PublicLicense pour plus de renseignements.

Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme ; si ce n’est pas le cas,consulter <https://www.gnu.org/licenses/>.

10.1 Licences tierces

phpMyAdmin contient plusieurs bibliothèques tierces liées à leur licence respective.

La licence jQuery, dont les fichiers se trouvent dans js/vendor/jquery/ est (MIT|GPL), une copie de chacune deslicences est disponible dans ce dépôt (la GPL est disponible dans LICENSE et MIT dans js/vendor/jquery/MIT-LICENSE.txt).

Le kit de téléchargement contient également plusieurs bibliothèques de Composer. Consultez leurs informations delicence dans le répertoire vendor/.

147

Page 154: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

148 Chapitre 10. Copyright

Page 155: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 11

Crédits

11.1 Crédits, par ordre chronologique

— Tobias Ratschiller <tobias_at_ratschiller.com>— créateur du projet phpMyAdmin— mainteneur de 1998 à l’été 2000

— Marc Delisle <marc_at_infomarc.info>— version multilingue de décembre 1998— diverses corrections et améliorations— première version de l’analyseur SQL (la plupart)— mainteneur de 2001 à 2015

— Olivier Müller <om_at_omnis.ch>— a démarré le projet sur Sourceforge en mars 2001— a synchronisé différents dépôts CVS avec de nouvelles fonctionnalités et corrections de bogues— améliorations du système multilingue, sélection par langage dynamique— beaucoup de corrections de bogues et d’améliorations

— Loïc Chapeaux <lolo_at_phpheaven.net>— ré-écriture et optimisation JavaScript, DHTML et DOM— ré-écriture des scripts PEAR pour s’adapter aux standards de codage et génération de codes conformes

XHTML1.0 et CSS2— amélioration du système de détection de langue— beaucoup de corrections de bogues et d’améliorations

— Robin Johnson <robbat2_at_users.sourceforge.net>— contrôles de maintenance de la base de données— code pour le type de table— authentification hôte IP Allow/Deny— configuration en base de données (non-terminée)— analyseur SQL et impression élégante— validateur SQL— beaucoup de corrections de bogues et d’améliorations

— Armel Fauveau <armel.fauveau_at_globalis-ms.com>— fonctionnalité des signets

149

Page 156: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— fonctionnalité d’export multiple— fonctionnalité d’export gzip— fonctionnalité d’export zip

— Geert Lund <glund_at_silversoft.dk>— diverses corrections— modérateur du précédent forum utilisateurs de phpMyAdmin sur phpwizard.net

— Korakot Chaovavanich <korakot_at_iname.com>— fonctionnalité « insérer comme une nouvelle ligne »

— Pete Kelly <webmaster_at_trafficg.com>— ré-écriture et correction du code d’export— corrections de bogue

— Steve Alberty <alberty_at_neptunlabs.de>— ré-écriture du code d’export pour PHP4— statistiques sur les tables MySQL— corrections de bogue

— Benjamin Gandon <gandon_at_isia.cma.fr>— auteur principal de la version 2.1.0.1— corrections de bogue

— Alexander M. Turek <me_at_derrabus.de>— compatibilité MySQL 4.0 / 4.1 / 5.0— interface d’abstraction de base de données (PMA_DBI) avec support MySQLi— administration des privilèges— exports XML— diverses fonctionnalités et corrections— mises à jour du fichier de langue allemand

— Mike Beck <mike.beck_at_web.de>— jointures automatiques dans QBE— mise en lien des colonnes dans printview— Vue relationnelle

— Michal Cihar <michal_at_cihar.com>— fonctionnalité de création et d’affichage améliorés d’index— fonctionnalité pour utiliser un jeu de caractères différent de celui de MySQL pour l’HTML— améliorations de la fonctionnalité d’export— diverses fonctionnalités et corrections— mises à jour du fichier de langue tchèque— a créé le site Web actuel pour phpMyAdmin

— Christophe Gesché pour « MySQL Form Generator for PHPMyAdmin » (https://sourceforge.net/projects/phpmysqlformgen/)— a suggéré le correctif pour l’affichage de table multiple

— Garvin Hicking <me_at_supergarv.de>— correctif pour l’affichage vertical des lignes de table— fenêtre de requête JavaScript + historique SQL— améliorations des commentaires de colonnes et de bases de données— transformations MIME pour les colonnes— utilisation d’alias personnalisés pour les bases de données dans le cadre de gauche— affichage des tables hiérarchiques/imbriquées— panneau PDF pour la distribution WYSIWYG des relations PDF— nouveau jeu d’icônes— affichage vertical de la colonne propriétés de la page— corrections de bogues, fonctionnalités, assistance, ajout pour l’allemand

— Yukihiro Kawada <kawada_at_den.fujifilm.co.jp>— fonctionnalité de conversion d’encodage kanji japonais

— Piotr Roszatycki <d3xter_at_users.sourceforge.net> et Dan Wilson— Mode d’authentification « cookie »

150 Chapitre 11. Crédits

Page 157: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Axel Sander <n8falke_at_users.sourceforge.net>— fonctionnalité relations-liens de table

— Maxime Delorme <delorme.maxime_at_free.fr>— sortie de schéma PDF, merci aussi à Olivier Plathey pour la bibliothèque « FPDF » (voir <http://www.fpdf.

org/>), Steven Wittens pour la bibliothèque « UFPDF » et Nicola Asuni pour la bibliothèque « TCPDF »(voir <https://tcpdf.org/>).

— Olof Edlund <olof.edlund_at_upright.se>— serveur validateur SQL

— Ivan R. Lanin <ivanlanin_at_users.sourceforge.net>— logo phpMyAdmin (jusqu’à juin 2004)

— Mike Cochrane <mike_at_graftonhall.co.nz>— bibliothèque Blowfish du projet Horde (retiré dans la version 4.0)

— Marcel Tschopp <ne0x_at_users.sourceforge.net>— support MySQLi— beaucoup de corrections de bogues et d’améliorations

— Nicola Asuni (Tecnick.com)— Bibliothèque TCPDF (<https://tcpdf.org>)

— Michael Keck <mkkeck_at_users.sourceforge.net>— re-conception pour la version 2.6.0— logo bateau à voile de phpMyAdmin (juin 2004)

— Mathias Landhäußer— représentation à des conférences

— Sebastian Mendel <cybot_tm_at_users.sourceforge.net>— améliorations de l’interface— diverses corrections de bogues

— Ivan A Kirillov— nouveau Designer de relations

— Raj Kissu Rajandran (Google Summer of Code 2008)— support BLOBstreaming (retiré dans la version 4.0)

— Piotr Przybylski (Google Summer of Code 2008, 2010 et 2011)— amélioration du script d’installation— préférences utilisateur— Support Drizzle

— Derek Schaefer (Google Summer of Code 2009)— amélioration du système d’import

— Alexander Rutkowski (Google Summer of Code 2009)— Mécanisme de suivi

— Zahra Naeem (Google Summer of Code 2009)— Fonctionnalité de synchronisation (retiré dans la version 4.0)

— Tomáš Srnka (Google Summer of Code 2009)— Gestion de la réplication

— Muhammad Adnan (Google Summer of Code 2010)— Export de schémas relationnels sous plusieurs formats

— Lori Lee (Google Summer of Code 2010)— améliorations de l’interface utilisateur— Éditeur ENUM/SET— Interface simplifiée pour l’export/import

— Ninad Pundalik (Google Summer of Code 2010)— AJAXification de l’interface

— Martynas Mickevicius (Google Summer of Code 2010)— Tableaux

— Barrie Leslie— support BLOBstreaming avec l’extension PBMS PHP (retiré dans la version 4.0)

— Ankit Gupta (Google Summer of Code 2010)

11.1. Crédits, par ordre chronologique 151

Page 158: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Constructeur visuel de requête— Madhura Jayaratne (Google Summer of Code 2011)

— support OpenGIS— Ammar Yasir (Google Summer of Code 2011)

— Recherche par zoom— Aris Feryanto (Google Summer of Code 2011)

— Améliorations du mode Browse— Thilanka Kaushalya (Google Summer of Code 2011)

— AJAXification— Tyron Madlener (Google Summer of Code 2011)

— Statistiques et graphiques de requête pour la page d’état— Zarubin Stas (Google Summer of Code 2011)

— Test automatisé— Rouslan Placella (Google Summer of Code 2011 et 2012)

— Support amélioré pour les routines stockées, les déclencheurs et les événements— mises à jour de la traduction italienne— Retrait des frames, nouvelle navigation

— Dieter Adriaenssens— diverses corrections de bogues— mises à jour de la traduction néerlandaise

— Alex Marin (Google Summer of Code 2012)— Nouveaux plugins et système des propriétés

— Thilina Buddika Abeyrathna (Google Summer of Code 2012)— Refactorisation

— Atul Pratap Singh (Google Summer of Code 2012)— Refactorisation

— Chanaka Indrajith (Google Summer of Code 2012)— Refactorisation

— Yasitha Pandithawatta (Google Summer of Code 2012)— Test automatisé

— Jim Wigginton (phpseclib.sourceforge.net)— phpseclib

— Bin Zu (Google Summer of Code 2013)— Refactorisation

— Supun Nakandala (Google Summer of Code 2013)— Refactorisation

— Mohamed Ashraf (Google Summer of Code 2013)— Rapport d’erreur AJAX

— Adam Kang (Google Summer of Code 2013)— Test automatisé

— Ayush Chaudhary (Google Summer of Code 2013)— Test automatisé

— Kasun Chathuranga (Google Summer of Code 2013)— Améliorations de l’interface

— Hugues Peccatte— Enregistrement et chargement de Query by example (marque-pages de recherche de base de données)

— Smita Kumari (Google Summer of Code 2014)— Liste centralisée des colonnes— Améliorer la structure de table (normalisation)

— Ashutosh Dhundhara (Google Summer of Code 2014)— Améliorations de l’interface

— Chanaka Indrajith (Google Summer of Code 2012)— Rapport d’erreur PHP

— Adam Kang (Google Summer of Code 2013)

152 Chapitre 11. Crédits

Page 159: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Console de requête SQL— Kankanamge Bimal Yashodha (Google Summer of Code 2014)

— Refactorisation : Intégration de concepteur/schéma— Chirayu Chiripal (Google Summer of Code 2014)

— Gestionnaires de champ personnalisé (transformations MIME des saisies)— Exporter avec changements de nom de table/colonne

— Dan Ungureanu (Google Summer of Code 2015)— Nouvel analyseur syntaxique

— Nisarg Jhaveri (Google Summer of Code 2015)— Paramètres relatifs à la page— Intégration à la Console du débogage SQL— Autres améliorations de l’interface

— Deven Bansod (Google Summer of Code 2015)— Version imprimable (CSS)— Autres améliorations de l’interface et nouvelles fonctionnalités

et aussi les personnes qui ont contribué à des changements, améliorations, corrections de bogues ou support d’unenouvelles langues, mineurs, depuis la version 2.1.0 :

Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Péter Bakondy, Borges Botelho, Olivier Bussier,Neil Darlow, Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kläger, Lubos Klokner, MartinMarconcini, Girish Nair, David Nordenberg, Andreas Pauley, Bernard M. Piller, Laurent Haas, « Sakamoto », YuvalSarna, www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun, Peter Svec, Michael Tacelosky, RachimTamsjadi, Kositer Uros, Luís V., Martijn W. van der Lee, Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai, Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, « Manuzhai ».

11.2 Traducteurs

Les personnes suivantes ont contribué à la traduction de phpMyAdmin :— Albanais

— Arben Çokaj <acokaj_at_shkoder.net>— Arabe

— Ahmed Saleh Abd El-Raouf Ismae <a.saleh.ismael_at_gmail.com>— Ahmed Saad <egbrave_at_hotmail.com>— hassan mokhtari <persiste1_at_gmail.com>

— Arménien— Andrey Aleksanyants <aaleksanyants_at_yahoo.com>

— Azéri— Mirclal <01youknowme_at_gmail.com>— Huseyn <huseyn_esgerov_at_mail.ru>— Sevdimali Isa <sevdimaliisayev_at_mail.ru>— Jafar <sharifov_at_programmer.net>

— Biélorusse— Viktar Palstsiuk <vipals_at_gmail.com>

— Bulgare— Boyan Kehayov <bkehayov_at_gmail.com>— Valter Georgiev <blagynchy_at_gmail.com>— Valentin Mladenov <hudsonvsm_at_gmail.com>— P <plamen_mbx_at_yahoo.com>— krasimir <vip_at_krasio-valia.com>

— Catalan— josep constanti <jconstanti_at_yahoo.es>— Xavier Navarro <xvnavarro_at_gmail.com>

11.2. Traducteurs 153

Page 160: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Chinois (Chine)— Vincent Lau <3092849_at_qq.com>— Zheng Dan <clanboy_at_163.com>— disorderman <disorderman_at_qq.com>— Rex Lee <duguying2008_at_gmail.com>— <fundawang_at_gmail.com>— popcorner <memoword_at_163.com>— Yizhou Qiang <qyz.yswy_at_hotmail.com>— zz <tczzjin_at_gmail.com>— Terry Weng <wengshiyu_at_gmail.com>— whh <whhlcj_at_126.com>

— Chinois (Taïwan)— Albert Song <albb0920_at_gmail.com>— Chien Wei Lin <cwlin0416_at_gmail.com>— Peter Dave Hello <xs910203_at_gmail.com>

— Kölsch— Purodha <publi_at_web.de>

— Tchèque— Aleš Hakl <ales_at_hakl.net>— Dalibor Straka <dalibor.straka3_at_gmail.com>— Martin Vidner <martin_at_vidner.net>— Ondra Šimecek <ondrasek.simecek_at_gmail.com>— Jan Palider <palider_at_seznam.cz>— Petr Katerinák <petr.katerinak_at_gmail.com>

— Danois— Aputsia Niels Janussen <aj_at_isit.gl>— Dennis Jakobsen <dennis.jakobsen_at_gmail.com>— Jonas <jonas.den.smarte_at_gmail.com>— Claus Svalekjaer <just.my.smtp.server_at_gmail.com>

— Néerlandais— 1. Voogt <a.voogt_at_hccnet.nl>— dingo thirteen <dingo13_at_gmail.com>— Robin van der Vliet <info_at_robinvandervliet.nl>— Dieter Adriaenssens <ruleant_at_users.sourceforge.net>— Niko Strijbol <strijbol.niko_at_gmail.com>

— Anglais (Royaume-Uni)— Dries Verschuere <dries.verschuere_at_outlook.com>— Francisco Rocha <j.francisco.o.rocha_at_zoho.com>— Marc Delisle <marc_at_infomarc.info>— Marek Tomaštík <tomastik.m_at_gmail.com>

— Espéranto— Eliovir <eliovir_at_gmail.com>— Robin van der Vliet <info_at_robinvandervliet.nl>

— Estonien— Kristjan Räts <kristjanrats_at_gmail.com>

— Finnois— Juha Remes <jremes_at_outlook.com>— Lari Oesch <lari_at_oesch.me>

— Français— Marc Delisle <marc_at_infomarc.info>

— Frison— Robin van der Vliet <info_at_robinvandervliet.nl>

— Galicien— Xosé Calvo <xosecalvo_at_gmail.com>

154 Chapitre 11. Crédits

Page 161: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Allemand— Julian Ladisch <github.com-t3if_at_ladisch.de>— Jan Erik Zassenhaus <jan.zassenhaus_at_jgerman.de>— Lasse Goericke <lasse_at_mydom.de>— Matthias Bluthardt <matthias_at_bluthardt.org>— Michael Koch <michael.koch_at_enough.de>— Ann + J.M. <phpMyAdmin_at_ZweiSteinSoft.de>— <pma_at_sebastianmendel.de>— Phillip Rohmberger <rohmberger_at_hotmail.de>— Hauke Henningsen <sqrt_at_entless.org>

— Grec— Π𝛼𝜈𝛼𝛾𝜄𝜏𝜂 Π𝛼𝜋𝜁o𝛾𝜆o𝜐 <papaz_p_at_yahoo.com>

— Hébreu— Moshe Harush <mmh15_at_windowslive.com>— Yaron Shahrabani <sh.yaron_at_gmail.com>— Eyal Visoker <visokereyal_at_gmail.com>

— Hindi— Atul Pratap Singh <atulpratapsingh05_at_gmail.com>— Yogeshwar <charanyogeshwar_at_gmail.com>— Deven Bansod <devenbansod.bits_at_gmail.com>— Kushagra Pandey <kushagra4296_at_gmail.com>— Nisarg Jhaveri <nisargjhaveri_at_gmail.com>— Roohan Kazi <roohan_cena_at_yahoo.co.in>— Yugal Pantola <yug.scorpio_at_gmail.com>

— Hongrois— Akos Eros <erosakos02_at_gmail.com>— Dániel Tóth <leedermeister_at_gmail.com>— Szász Attila <undernetangel_at_gmail.com>— Balázs Úr <urbalazs_at_gmail.com>

— Indonésien— Deky Arifianto <Deky40_at_gmail.com>— Andika Triwidada <andika_at_gmail.com>— Dadan Setia <da2n_s_at_yahoo.co.id>— Dadan Setia <dadan.setia_at_gmail.com>— Yohanes Edwin <edwin_at_yohanesedwin.com>— Fadhiil Rachman <fadhiilrachman_at_gmail.com>— Benny <tarzq28_at_gmail.com>— Tommy Surbakti <tommy_at_surbakti.net>— Zufar Fathi Suhardi <zufar.bogor_at_gmail.com>

— Interlingua— Giovanni Sora <g.sora_at_tiscali.it>

— Italien— Francesco Saverio Giacobazzi <francesco.giacobazzi_at_ferrania.it>— Marco Pozzato <ironpotts_at_gmail.com>— Stefano Martinelli <stefano.ste.martinelli_at_gmail.com>

— Japonais— k725 <alexalex.kobayashi_at_gmail.com>— Hiroshi Chiyokawa <hiroshi.chiyokawa_at_gmail.com>— Masahiko HISAKAWA <orzkun_at_ageage.jp>— worldwideskier <worldwideskier_at_yahoo.co.jp>

— Kannada— Robin van der Vliet <info_at_robinvandervliet.nl>— Shameem Ahmed A Mulla <shameem.sam_at_gmail.com>

— Coréen

11.2. Traducteurs 155

Page 162: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Bumsoo Kim <bskim45_at_gmail.com>— Kyeong Su Shin <cdac1234_at_gmail.com>— Dongyoung Kim <dckyoung_at_gmail.com>— Myung-han Yu <greatymh_at_gmail.com>— JongDeok <human.zion_at_gmail.com>— Yong Kim <kim_at_nhn.com>— <kyungjun2_at_gmail.com>— Seongki Shin <skshin_at_gmail.com>— Yoon Bum-Jong <virusyoon_at_gmail.com>— Koo Youngmin <youngminz.kr_at_gmail.com>

— Kurde Sorani— Alan Hilal <alan.hilal94_at_gmail.com>— Aso Naderi <aso.naderi_at_gmail.com>— muhammad <esy_vb_at_yahoo.com>— Zrng Abdulla <zhyarabdulla94_at_gmail.com>

— Letton— Latvian TV <dnighttv_at_gmail.com>— Edgars Neimanis <edgarsneims5092_at_inbox.lv>— Ukko <perkontevs_at_gmail.com>

— Limbourgeois— Robin van der Vliet <info_at_robinvandervliet.nl>

— Lituanien— Vytautas Motuzas <v.motuzas_at_gmail.com>

— Malais— Amir Hamzah <amir.overlord666_at_gmail.com>— diprofinfiniti <anonynuine-999_at_yahoo.com>

— Népalais— Nabin Ghimire <nnabinn_at_hotmail.com>

— Norvégien, Bokmål— Børge Holm-Wennberg <borge947_at_gmail.com>— Tor Stokkan <danorse_at_gmail.com>— Espen Frøyshov <efroys_at_gmail.com>— Kurt Eilertsen <kurt_at_kheds.com>— Christoffer Haugom <ph3n1x.nobody_at_gmail.com>— Sebastian <sebastian_at_sgundersen.com>— Tomas <tomas_at_tomasruud.com>

— Farsi— ashkan shirian <ashkan.shirian_at_gmail.com>— HM <goodlinuxuser_at_chmail.ir>

— Polonais— Andrzej <andrzej_at_kynu.pl>— Przemo <info_at_opsbielany.waw.pl>— Krystian Biesaga <krystian4842_at_gmail.com>— Maciej Gryniuk <maciejka45_at_gmail.com>— Michał VonFlynee <vonflynee_at_gmail.com>

— Portugais— Alexandre Badalo <alexandre.badalo_at_sapo.pt>— João Rodrigues <geral_at_jonilive.com>— Pedro Ribeiro <p.m42.ribeiro_at_gmail.com>— Sandro Amaral <sandro123iv_at_gmail.com>

— Portugais (Brésil)— Alex Rohleder <alexrohleder96_at_outlook.com>— bruno mendax <brunomendax_at_gmail.com>— Danilo GUia <danilo.eng_at_globomail.com>

156 Chapitre 11. Crédits

Page 163: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Douglas Rafael Morais Kollar <douglas.kollar_at_pg.df.gov.br>— Douglas Eccker <douglaseccker_at_hotmail.com>— Ed Jr <edjacobjunior_at_gmail.com>— Guilherme Souza Silva <g.szsilva_at_gmail.com>— Guilherme Seibt <gui_at_webseibt.net>— Helder Santana <helder.bs.santana_at_gmail.com>— Junior Zancan <jrzancan_at_hotmail.com>— Luis <luis.eduardo.braschi_at_outlook.com>— Marcos Algeri <malgeri_at_gmail.com>— Marc Delisle <marc_at_infomarc.info>— Renato Rodrigues de Lima Júnio <renatomdd_at_yahoo.com.br>— Thiago Casotti <thiago.casotti_at_uol.com.br>— Victor Laureano <victor.laureano_at_gmail.com>— Vinícius Araújo <vinipitta_at_gmail.com>— Washington Bruno Rodrigues Cav <washingtonbruno_at_msn.com>— Yan Gabriel <yansilvagabriel_at_gmail.com>

— Pendjabi— Robin van der Vliet <info_at_robinvandervliet.nl>

— Roumain— Alex <amihaita_at_yahoo.com>— Costel Cocerhan <costa1988sv_at_gmail.com>— Ion Adrian-Ionut <john_at_panevo.ro>— Raul Molnar <molnar.raul_at_wservices.eu>— Utilisateur Supprimé <noreply_at_weblate.org>— Stefan Murariu <stefan.murariu_at_yahoo.com>

— Russe— Andrey Aleksanyants <aaleksanyants_at_yahoo.com>— <ddrmoscow_at_gmail.com>— Robin van der Vliet <info_at_robinvandervliet.nl>— <khomutov.ivan_at_mail.ru>— Alexey Rubinov <orion1979_at_yandex.ru>— <salvadoporjc_at_gmail.com>— Egorov Artyom <unlucky_at_inbox.ru>

— Serbe— Smart Kid <kidsmart33_at_gmail.com>

— Cingalais— Madhura Jayaratne <madhura.cj_at_gmail.com>

— Slovaque— Martin Lacina <martin_at_whistler.sk>— Patrik Kollmann <parkourpotex_at_gmail.com>— Jozef Pistej <pistej2_at_gmail.com>

— Slovène— Domen <mitenem_at_outlook.com>

— Espagnol— Luis García Sevillano <floss.dev_at_gmail.com>— Franco <fulanodetal.github1_at_openaliasbox.org>— Luis Ruiz <luisan00_at_hotmail.com>— Macofe <macofe.languagetool_at_gmail.com>— Matías Bellone <matiasbellone+weblate_at_gmail.com>— Rodrigo A. <ra4_at_openmailbox.org>— FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial_at_gmail.com>— Ronnie Simon <ronniesimonf_at_gmail.com>

— Suédois— Anders Jonsson <anders.jonsson_at_norsjovallen.se>

11.2. Traducteurs 157

Page 164: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Tamoul— <GANESHTHEONE_at_gmail.com>— Achchuthan Yogarajah <achch1990_at_gmail.com>— Rifthy Ahmed <rifthy456_at_gmail.com>

— Tha&iuml ;— <nontawat39_at_gmail.com>— Somthanat W. <somthanat_at_gmail.com>

— Turc— Burak Yavuz <hitowerdigit_at_hotmail.com>

— Ukrainien— <nitrotoll_at_gmail.com>— Igor <vmta_at_yahoo.com>— Vitaliy Perekupka <vperekupka_at_gmail.com>

— Vietnamien— Bao Phan <baophan94_at_icloud.com>— Xuan Hung <mr.hungdx_at_gmail.com>— Bao trinh minh <trinhminhbao_at_gmail.com>

— Flandre occidentale— Robin van der Vliet <info_at_robinvandervliet.nl>

11.3 Traducteurs de la documentation

Les personnes suivantes ont contribué à la traduction de la documentation de phpMyAdmin :— Albanais

— Arben Çokaj <acokaj_at_shkoder.net>— Arabe

— Ahmed El Azzabi <ahmedtek1993_at_gmail.com>— Omar Essam <omar_2412_at_live.com>

— Arménien— Andrey Aleksanyants <aaleksanyants_at_yahoo.com>

— Azéri— Mirclal <01youknowme_at_gmail.com>— Sevdimali Isa <sevdimaliisayev_at_mail.ru>

— Catalan— josep constanti <jconstanti_at_yahoo.es>— Joan Montané <joan_at_montane.cat>— Xavier Navarro <xvnavarro_at_gmail.com>

— Chinois (Chine)— Vincent Lau <3092849_at_qq.com>— <6375lpd_at_gmail.com>— disorderman <disorderman_at_qq.com>— ITXiaoPang <djh1017555_at_126.com>— tunnel213 <tunnel213_at_aliyun.com>— Terry Weng <wengshiyu_at_gmail.com>— whh <whhlcj_at_126.com>

— Chinois (Taïwan)— Chien Wei Lin <cwlin0416_at_gmail.com>— Peter Dave Hello <xs910203_at_gmail.com>

— Tchèque— Aleš Hakl <ales_at_hakl.net>— Michal Cihar <michal_at_cihar.com>— Jan Palider <palider_at_seznam.cz>

158 Chapitre 11. Crédits

Page 165: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Petr Katerinák <petr.katerinak_at_gmail.com>— Danois

— Aputsia Niels Janussen <aj_at_isit.gl>— Claus Svalekjaer <just.my.smtp.server_at_gmail.com>

— Néerlandais— 1. Voogt <a.voogt_at_hccnet.nl>— dingo thirteen <dingo13_at_gmail.com>— Dries Verschuere <dries.verschuere_at_outlook.com>— Robin van der Vliet <info_at_robinvandervliet.nl>— Stefan Koolen <nast3zz_at_gmail.com>— Ray Borggreve <ray_at_datahuis.net>— Dieter Adriaenssens <ruleant_at_users.sourceforge.net>— Tom Hofman <tom.hofman_at_gmail.com>

— Estonien— Kristjan Räts <kristjanrats_at_gmail.com>

— Finnois— Juha <jremes_at_outlook.com>

— Français— Cédric Corazza <cedric.corazza_at_wanadoo.fr>— Étienne Gilli <etienne.gilli_at_gmail.com>— Marc Delisle <marc_at_infomarc.info>— Donavan_Martin <mart.donavan_at_hotmail.com>

— Frison— Robin van der Vliet <info_at_robinvandervliet.nl>

— Galicien— Xosé Calvo <xosecalvo_at_gmail.com>

— Allemand— Daniel <d.gnauk89_at_googlemail.com>— JH M <janhenrikm_at_yahoo.de>— Lasse Goericke <lasse_at_mydom.de>— Michael Koch <michael.koch_at_enough.de>— Ann + J.M. <phpMyAdmin_at_ZweiSteinSoft.de>— Niemand Jedermann <predatorix_at_web.de>— Phillip Rohmberger <rohmberger_at_hotmail.de>— Hauke Henningsen <sqrt_at_entless.org>

— Grec— Π𝛼𝜈𝛼𝛾𝜄𝜏𝜂 Π𝛼𝜋𝜁o𝛾𝜆o𝜐 <papaz_p_at_yahoo.com>

— Hongrois— Balázs Úr <urbalazs_at_gmail.com>

— Italien— Francesco Saverio Giacobazzi <francesco.giacobazzi_at_ferrania.it>— Marco Pozzato <ironpotts_at_gmail.com>— Stefano Martinelli <stefano.ste.martinelli_at_gmail.com>— TWS <tablettws_at_gmail.com>

— Japonais— Eshin Kunishima <ek_at_luna.miko.im>— Hiroshi Chiyokawa <hiroshi.chiyokawa_at_gmail.com>

— Lituanien— Jur Kis <atvejis_at_gmail.com>— Dovydas <dovy.buz_at_gmail.com>

— Norvégien, Bokmål— Tor Stokkan <danorse_at_gmail.com>— Kurt Eilertsen <kurt_at_kheds.com>

— Portugais (Brésil)

11.3. Traducteurs de la documentation 159

Page 166: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

— Alexandre Moretti <alemoretti2010_at_hotmail.com>— Douglas Rafael Morais Kollar <douglas.kollar_at_pg.df.gov.br>— Guilherme Seibt <gui_at_webseibt.net>— Helder Santana <helder.bs.santana_at_gmail.com>— Michal Cihar <michal_at_cihar.com>— Michel Souza <michel.ekio_at_gmail.com>— Danilo Azevedo <mrdaniloazevedo_at_gmail.com>— Thiago Casotti <thiago.casotti_at_uol.com.br>— Vinícius Araújo <vinipitta_at_gmail.com>— Yan Gabriel <yansilvagabriel_at_gmail.com>

— Slovaque— Martin Lacina <martin_at_whistler.sk>— Michal Cihar <michal_at_cihar.com>— Jozef Pistej <pistej2_at_gmail.com>

— Slovène— Domen <mitenem_at_outlook.com>

— Espagnol— Luis García Sevillano <floss.dev_at_gmail.com>— Franco <fulanodetal.github1_at_openaliasbox.org>— Matías Bellone <matiasbellone+weblate_at_gmail.com>— Ronnie Simon <ronniesimonf_at_gmail.com>

— Turc— Burak Yavuz <hitowerdigit_at_hotmail.com>

11.4 Crédits originaux de la version 2.1.0

Ce travail est basé sur MySQL-Webadmin de Peter Kuppelwieser. C’était son idée de créer une interface Web pourutiliser MySQL en utilisant PHP3. Bien que je n’ai pas utilisé son code source, je lui ai emprunté des concepts.phpMyAdmin a été créé car Peter m’avait dit qu’il allait arrêter le développement de son (super) outil.

Remerciements à— Amalesh Kempf <ak-lsml_at_living-source.com> qui a contribué au code pour la vérification lors de la sup-

pression d’une table ou d’une base de données. Il a aussi suggéré de pouvoir être capable de spécifier la cléprimaire sur tbl_create.php3. Dans la version 1.1.1, il a contribué à ldi_*.php3-set (import de fichiers texte) etau rapport de bogue. Plus beaucoup d’autres petites améliorations.

— Jan Legenhausen <jan_at_nrw.net> : Il a fait beaucoup des changements introduits dans la version 1.3.0 (dontcertains très importants comme l’authentification). Dans la version 1.4.1, il a amélioré la fonctionnalité d’exportde table. Plus des corrections de bogues et l’aide.

— Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> a permis la localisation de phpMyAdmin en extrayantles chaînes dans un fichier séparé. Il a aussi contribué à la traduction française.

— Alexandr Bravo <abravo_at_hq.admiral.ru> qui a contribué à tbl_select.php3, une fonctionnalité pour afficherseulement certaines colonnes d’une table.

— Chris Jackson <chrisj_at_ctel.net> a ajouté le support de fonctions MySQL dans tbl_change.php3. Il a aussiajouté la fonctionnalité « Query by Example » dans la version 2.0.

— Dave Walton <walton_at_nordicdms.com> a ajouté le support pour des serveurs multiples et est un contributeurrégulier pour la correction de bogues.

— Gabriel Ash <ga244_at_is8.nyu.edu> a contribué aux fonctionnalités d’accès aléatoires dans la version 2.0.6.Les personnes suivantes ont contribué à des changements, améliorations, corrections de bogues ou support d’unenouvelle langue, mineurs :

Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, Alexander Leidinger, Kiko Albiol, DanielC. Chao, Pavel Piankov, Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns, G. Wieggers.

160 Chapitre 11. Crédits

Page 167: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Et merci à tous les autres qui m’ont envoyé des suggestions par courriel, des rapports de bogue ou juste des retoursd’utilisation.

11.4. Crédits originaux de la version 2.1.0 161

Page 168: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

162 Chapitre 11. Crédits

Page 169: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 12

Glossaire

de Wikipedia, l’encyclopédie libre

.htaccess le nom par défaut du fichier de configuration de niveau de répertoire de Apache.Voir aussi :https://fr.wikipedia.org/wiki/.htaccess

ACL Liste des contrôles d’accès

Blowfish un algorithme de chiffrement symétrique par blocs conçu par Bruce Schneier en 1993.Voir aussi :<https://fr.wikipedia.org/wiki/Blowfish>

Navigateur un logiciel qui permet à un utilisateur d’afficher et d’interagir avec du texte, des images et d’autresinformations typiquement situés sur une page Web ou sur un site Web sur le Word Wide Web.Voir aussi :<https://fr.wikipedia.org/wiki/Navigateur_web>

bzip2 un logiciel libre de compression de données qui utilise l’algorithme de Burrows-Wheeler avec le codagede Huffman développé par Julian Seward.Voir aussi :<https://fr.wikipedia.org/wiki/Bzip2>

CGI Common Gateway Interface (littéralement « Interface passerelle commune »), est une technologie des ser-veurs HTTP. Ce dernier, au lieu de renvoyer le contenu d’un fichier (image ou HTML), exécute un programmepuis retourne le contenu généré, comme s’il s’agissait d’un contenu de fichier.Voir aussi :<https://en.wikipedia.org/wiki/Common_Gateway_Interface>

Changelog un journal ou un enregistrement des changements fait dans un projet.Voir aussi :<https://fr.wikipedia.org/wiki/Changelog>

Client un ordinateur qui accède à un service (distant) sur un autre ordinateur par un réseau.Voir aussi :<https://fr.wikipedia.org/wiki/Client_(informatique)>

163

Page 170: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

colonne un ensemble de données d’un type simple particulier, un pour chaque ligne de la table.Voir aussi :<https://en.wikipedia.org/wiki/Column_(database)>

Cookie une suite d’informations envoyée par un serveur à un navigateur Web, que ce dernier retourne lors dechaque interrogation du même serveur.Voir aussi :<https://fr.wikipedia.org/wiki/Cookie_(informatique)>

CSV valeurs séparées par des virgulesVoir aussi :<https://fr.wikipedia.org/wiki/Comma-separated_values>

DB voir base de données

base de données une collection de données ordonnées.Voir aussi :<https://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es>

Moteur voir moteurs de stockage

extension un module PHP qui étend PHP avec des fonctionnalités supplémentaires.Voir aussi :<https://fr.wikipedia.org/wiki/Plugin>

FAQ une Foire Aux Questions est une liste de question posées fréquemment et leurs réponses.Voir aussi :<https://fr.wikipedia.org/wiki/Foire_aux_questions>

Champ une partie de données divisées/colonnes.Voir aussi :<https://fr.wikipedia.org/wiki/Champ_(base_de_donn%C3%A9es)>

clé étrangère une colonne ou un groupe de colonnes dans une base de données qui pointe vers une clé de colonneou d’un groupe de colonne d’une autre ligne de la base de données dans une table (habituellement différente).Voir aussi :<https://fr.wikipedia.org/wiki/Cl%C3%A9_%C3%A9trang%C3%A8re>

GD une bibliothèque graphique de Thomas Boutell et d’autres pour la manipulation dynamique d’images.Voir aussi :<https://fr.wikipedia.org/wiki/GD_(biblioth%C3%A8que)>

GD2 voir gd

gzip gzip est le raccourci pour GNU zip, un logiciel GNU libre, utilitaire de compression de fichier.Voir aussi :<https://fr.wikipedia.org/wiki/Gzip>

hôte toute machine connectée à un réseau informatique, un nœud qui a un nom d’hôte.Voir aussi :<https://fr.wikipedia.org/wiki/Host>

nom d’hôte le nom unique par lequel est connu un équipement attaché au réseau sur celui-ci.Voir aussi :<https://en.wikipedia.org/wiki/Hostname>

HTTP HyperText Transfer Protocol, littéralement « protocole de transfert hypertexte », est un protocole de com-munication informatique client-serveur développé pour le World Wide Web.Voir aussi :<https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol>

164 Chapitre 12. Glossaire

Page 171: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

https une connexion HTTP avec des mesures de sécurité additionnelles.Voir aussi :<https://fr.wikipedia.org/wiki/HyperText_Transfer_Protocol_Secure>

IEC International Electrotechnical CommissionIIS Internet Information Services est un serveur HTTP et/ou FTP créé par Microsoft pour ses systèmes d’exploi-

tation Windows.Voir aussi :<https://fr.wikipedia.org/wiki/Internet_Information_Services>

Index une fonctionnalité qui permet d’accéder rapidement aux lignes dans une table.Voir aussi :<https://fr.wikipedia.org/wiki/Index_(base_de_donn%C3%A9es)>

IP Protocole Internet (en anglais Internet Protocol). Le protocole Internet gère le transport et le routage despaquets sur le réseau.Voir aussi :<https://fr.wikipedia.org/wiki/Internet_Protocol>

Adresse IP un numéro unique qu’utilisent les équipements pour s’identifier et communiquer entre eux sur unréseau en utilisant le protocole IP standard.Voir aussi :<https://fr.wikipedia.org/wiki/Adresse_IP>

IPv6 IPv6 (Internet Protocol version 6) est la dernière révision du protocole IP (IP), conçue pour pallier le manqued’adresses IPv4 disponibles.Voir aussi :<https://fr.wikipedia.org/wiki/IPv6>

ISAPI Internet Server Application Programming Interface est l’API de Internet Information Services (IIS).Voir aussi :<https://fr.wikipedia.org/wiki/ISAPI>

FAI un fournisseur d’accès à Internet, est un organisme (généralement une entreprise) offrant une connexion auinformatique à Internet et des services associés.Voir aussi :<https://fr.wikipedia.org/wiki/Fournisseur_d%27acc%C3%A8s_%C3%A0_Internet>

ISO International Standards OrganisationJPEG Joint Photographic Experts Group, nom d’un comité créé en 1986 résultant de la fusion de plusieurs

groupes (d’où le joint) de professionnels de l’industrie de l’image. Ce comité a donné son nom à la normeouverte de compression d’images numériques JPEG.Voir aussi :<https://fr.wikipedia.org/wiki/JPEG>

JPG voir jpegClé voir indexLATEX un système de préparation de document pour le programme TEX.

Voir aussi :<https://fr.wikipedia.org/wiki/LaTeX>

Mac les Apple Macintosh sont des ordinateurs personnels fabriqués et commercialisés par la société Apple Com-puter depuis janvier 1984.. voir aussi : <https://fr.wikipedia.org/wiki/Mac>

Mac OS X le système d’exploitation propriétaire fourni avec l’ordinateur Macintosh d’Apple Computer, depuis2001 et distribué également séparément pour des modèles antérieurs.Voir aussi :<https://fr.wikipedia.org/wiki/OS_X>

165

Page 172: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

mbstring Les fonctions mbstring de PHP gèrent les langues utilisant les jeux de caractères multi-octets, dontUTF-8.Si vous rencontrez des problèmes pour installer cette extension, veuillez suivre 1.20 Je reçois une erreur surl’absence des extensions mysqli et mysql. qui fournit des informations utiles.Voir aussi :<https://secure.php.net/manual/en/book.mbstring.php>

MCrypt une bibliothèque de chiffrement.Voir aussi :<https://en.wikipedia.org/wiki/Mcrypt>

mcrypt l’extension PHP MCrypt.Voir aussi :<https://secure.php.net/mcrypt>

MIME Multipurpose Internet Mail Extensions est un format de données permettant d’introduire dans les mes-sages SMTP (courriels) différents types de fichiers multimédias.Voir aussi :<https://fr.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions>

module sorte d’extension pour le serveur Web Apache.Voir aussi :<https://fr.wikipedia.org/wiki/Apache_HTTP_Server>

mod_proxy_fcgi un module Apache mettant en œuvre une interface Fast CGI ; PHP peut être exécuté en tant quemodule CGI, FastCGI ou directement en tant que module Apache.

MySQL MySQL (SQL est acronyme de Structured Query Language en anglais) est un serveur de bases dedonnées relationnelles SQL très rapide, multi-thread, robuste et multi-utilisateurs.Voir aussi :<https://fr.wikipedia.org/wiki/MySQL>

mysqli l’extension client PHP de MySQL améliorée.Voir aussi :<https://secure.php.net/manual/en/book.mysqli.php>

mysql l’extension PHP client de MySQL.Voir aussi :<https://secure.php.net/manual/en/book.mysql.php>

OpenDocument standard ouvert pour les documents.Voir aussi :<https://fr.wikipedia.org/wiki/OpenDocument>

OS X voir Mac OS X.Voir aussi :<https://fr.wikipedia.org/wiki/OS_X>

PDF Portable Document Format, un format de fichier informatique universel créé par la société Adobe Systemspour la diffusion des documents (de types texte, affiche, diapositive, plan, formulaires interactifs. . . ).Voir aussi :<https://fr.wikipedia.org/wiki/Portable_Document_Format>

PEAR PHP Extension and Application Repository.Voir aussi :<https://pear.php.net/>

PCRE Perl Compatible Regular Expressions - Expressions rationnelles compatibles Perl pour PHPVoir aussi :<https://secure.php.net/pcre>

166 Chapitre 12. Glossaire

Page 173: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

PHP PHP (venant de l’acronyme récursif PHP : Hypertext Preprocessor), est un langage de script libre principa-lement utilisé pour être exécuté par un serveur HTTP, mais il peut fonctionner comme n’importe quel langageinterprété en utilisant les scripts et son interpréteur sur un ordinateur.Voir aussi :<https://fr.wikipedia.org/wiki/PHP>

port une connexion par laquelle des données sont transmises et reçues.Voir aussi :<https://fr.wikipedia.org/wiki/Port_(homonymie)>

clé primaire Une clé primaire est un index d’un ou plusieurs champs d’une table ayant des valeurs uniques pourchaque enregistrement de cette table. Chaque table devrait avoir une clé primaire pour accéder et identifierfacilement les données de cette table. Il ne peut y avoir qu’une seule clé primaire par table toujours nomméePRIMARY. En fait, une clé primaire n’est autre qu’une unique key avec le nom PRIMARY. Si aucune cléprimaire n’est définie, MySQL utilisera la première clé unique comme clé primaire, s’il en existe une.Vous pouvez créer la clé primaire en créant la table (dans phpMyAdmin, sélectionnez les boutons radio dechaque champ que vous souhaitez avoir dans la clé primaire).Vous pouvez aussi ajouter une clé primaire à une table existante avec ALTER TABLE ou CREATE INDEX (dansphpMyAdmin, cliquez sur “ajouter un index” dans la page de structure de table sous les champs listés).

RFC les « request for comment » (RFC, littéralement demande de commentaires) sont une série de documents etnormes concernant l’Internet, commencée en 1969. Peu de RFC sont des standards, mais tous les standards del’Internet sont enregistrés en tant que RFC.Voir aussi :<https://fr.wikipedia.org/wiki/Request_for_comments>

RFC 1952 spécification de format de fichier GZIP version 4.3Voir aussi :RFC 1952

Ligne (enregistrement, tuple) représente un seul élément de donnée structuré implicitement dans une table.Voir aussi :<https://fr.wikipedia.org/wiki/Enregistrement_(base_de_donn%C3%A9es)>

Serveur est un ordinateur ou un programme informatique qui partage un service sur un réseau.Voir aussi :<https://fr.wikipedia.org/wiki/Serveur_informatique>

Moteurs de stockage MySQL peut utiliser plusieurs format pour stocker les données sur le disque. Ces formatssont appelés moteurs de stockage ou type de tables. phpMyAdmin permet à un utilisateur de modifier le moteurde stockage pour une table en particulier en utilisant l’onglet Opérations.Les types de tables les plus communs sont InnoDB et MyISAM, bien que d’autres types existent qui peuventêtre appropriés dans certaines situations.Voir aussi :<https://dev.mysql.com/doc/refman/5.7/en/storage-engines.html>

socket une forme de communication inter-processus.Voir aussi :<https://fr.wikipedia.org/wiki/Berkeley_sockets#Socket_unix>

SSL Secure Sockets Layer est un protocole de sécurisation des échanges sur Internet.Voir aussi :<https://fr.wikipedia.org/wiki/Transport_Layer_Security>

Procédure stockée ensemble d’instructions SQL pré-compilées, stockées dans une base de données et exécutéessur demande par le système de gestion de base de données qui manipule la base de donnéesVoir aussi :<https://fr.wikipedia.org/wiki/Proc%C3%A9dure_stock%C3%A9e>

167

Page 174: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

SQL Structured Query LanguageVoir aussi :<https://fr.wikipedia.org/wiki/Structured_Query_Language>

table un ensemble d’éléments de données (cellules) qui est organisé, défini et stocké en lignes et en colonnes oùchaque élément est identifié par un libellé ou une clé unique ou par sa position par rapport aux autres éléments.Voir aussi :<https://fr.wikipedia.org/wiki/Table_(base_de_donn%C3%A9es)>

tar TAR (de l’anglais Tape ARchiver, littéralement « archive sur bande ») est l’outil d’archivage de fichiersstandard de UNIX. On appelle parfois le fichier d’archivage créé un « tarball ».Voir aussi :<https://fr.wikipedia.org/wiki/Tar_(informatique)>

TCP Transmission Control Protocol (« protocole de contrôle de transmissions »), est un protocole de transportfiable, en mode connecté, documenté dans la RFC 793 de l’IETF.Voir aussi :<https://fr.wikipedia.org/wiki/TCP>

TCPDF Bibliothèque PHP pour générer des fichiers PDF.Voir aussi :<https://tcpdf.org/>

déclencheur dispositif logiciel qui provoque un traitement particulier en fonction d’événements prédéfinis. Parextension, c’est l’événement lui-même qui est qualifié de déclencheurVoir aussi :<https://fr.wikipedia.org/wiki/D%C3%A9clencheur>

clé unique Une clé unique est un index constitué d’un ou plusieurs champs d’une table qui a une valeur uniquepour chaque enregistrement. La première clé unique sera traitée comme primary key si aucune clé primairen’est définie.

URL Uniform Resource Locator - Une adresse réticulaire (du latin rete qui signifie « filet » donc par extensionréseau) est une chaîne de caractères utilisée pour identifier les ressources dans le World Wide Web.Voir aussi :<https://fr.wikipedia.org/wiki/Uniform_Resource_Locator>

Serveur web un ordinateur tenant le rôle de serveur informatique sur lequel fonctionne un logiciel serveur HTTPou le logiciel serveur HTTP lui-même.Voir aussi :<https://fr.wikipedia.org/wiki/Serveur_web>

XML Extensible Markup Language (« langage de balisage extensible »), généralement abrégé XML, est unstandard du World Wide Web Consortium qui sert de base pour créer des langages de balisage : c’est un« méta-langage ».Voir aussi :<https://fr.wikipedia.org/wiki/Extensible_Markup_Language>

ZIP un format de compression de données et d’archivage populaire.Voir aussi :<https://fr.wikipedia.org/wiki/ZIP_(format_de_fichier)>

zlib une bibliothèque de compression de données libre et multiplateforme de Jean-loup Gailly et Mark Adler.Voir aussi :<https://fr.wikipedia.org/wiki/Zlib>

168 Chapitre 12. Glossaire

Page 175: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

CHAPITRE 13

Index et tables

— genindex— search— Glossaire

169

Page 176: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

170 Chapitre 13. Index et tables

Page 177: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

Index

Symbols.htaccess, 163$cfg[’ActionLinksMode’], 58$cfg[’AllowArbitraryServer’], 9, 20, 52, 53$cfg[’AllowThirdPartyFraming’], 32$cfg[’AllowUserDropDatabase’], 51$cfg[’ArbitraryServerRegexp’], 52$cfg[’AuthLog’], 27, 30, 31$cfg[’AuthLogSuccess’], 30, 31$cfg[’AvailableCharsets’], 64$cfg[’BZipDump’], 61$cfg[’BrowseMIME’], 71$cfg[’BrowseMarkerEnable’], 66$cfg[’BrowsePointerEnable’], 66$cfg[’CSPAllow’], 65$cfg[’CaptchaLoginPrivateKey’], 27, 53$cfg[’CaptchaLoginPublicKey’], 27, 53$cfg[’CharEditing’], 67, 68$cfg[’CharTextareaCols’], 68$cfg[’CharTextareaRows’], 68$cfg[’CheckConfigurationPermissions’], 65$cfg[’CodemirrorEnable’], 50$cfg[’CompressOnFly’], 61, 117$cfg[’Confirm’], 51$cfg[’Console’][’AlwaysExpand’], 74$cfg[’Console’][’CurrentQuery’], 74$cfg[’Console’][’DarkTheme’], 74$cfg[’Console’][’EnterExecutes’], 74$cfg[’Console’][’Height’], 74$cfg[’Console’][’Mode’], 74$cfg[’Console’][’StartHistory’], 74$cfg[’ConsoleEnterExecutes’], 32$cfg[’DBG’], 75$cfg[’DBG’][’demo’], 75$cfg[’DBG’][’simple2fa’], 75, 82$cfg[’DBG’][’sql’], 75$cfg[’DBG’][’sqllog’], 75$cfg[’DefaultConnectionCollation’], 63$cfg[’DefaultForeignKeyChecks’], 50

$cfg[’DefaultFunctions’], 73$cfg[’DefaultLang’], 63$cfg[’DefaultQueryDatabase’], 73$cfg[’DefaultQueryTable’], 73$cfg[’DefaultTabDatabase’], 62$cfg[’DefaultTabServer’], 62$cfg[’DefaultTabTable’], 63$cfg[’DefaultTransformations’], 73$cfg[’DefaultTransformations’][’Bool2Text’], 73$cfg[’DefaultTransformations’][’DateFormat’], 73$cfg[’DefaultTransformations’][’External’], 73$cfg[’DefaultTransformations’][’Hex’], 73$cfg[’DefaultTransformations’][’Inline’], 74$cfg[’DefaultTransformations’][’PreApPend’], 73$cfg[’DefaultTransformations’][’Substring’], 73$cfg[’DefaultTransformations’][’TextImageLink’], 74$cfg[’DefaultTransformations’][’TextLink’], 74$cfg[’DisableMultiTableMaintenance’], 66$cfg[’DisableShortcutKeys’], 48$cfg[’DisplayServersList’], 55$cfg[’EnableAutocompleteForTablesAndColumns’], 68$cfg[’ExecTimeLimit’], 49, 126$cfg[’Export’], 61$cfg[’Export’][’charset’], 61, 64$cfg[’Export’][’file_template_database’], 61$cfg[’Export’][’file_template_server’], 62$cfg[’Export’][’file_template_table’], 61$cfg[’Export’][’format’], 61$cfg[’Export’][’method’], 61$cfg[’FilterLanguages’], 64$cfg[’FirstLevelNavigationItems’], 53$cfg[’FontSize’], 72$cfg[’ForceSSL’], 49$cfg[’ForeignKeyDropdownOrder’], 60$cfg[’ForeignKeyMaxLimit’], 60, 130$cfg[’GD2Available’], 65$cfg[’GZipDump’], 60$cfg[’GridEditing’], 59$cfg[’HideStructureActions’], 58$cfg[’IconvExtraParams’], 64

171

Page 178: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg[’IgnoreMultiSubmitErrors’], 51$cfg[’Import’], 62$cfg[’Import’][’charset’], 62, 64$cfg[’InitialSlidersState’], 71$cfg[’InsertRows’], 60$cfg[’Lang’], 64$cfg[’LimitChars’], 66$cfg[’LinkLengthLimit’], 65$cfg[’LoginCookieDeleteAll’], 52$cfg[’LoginCookieRecall’], 52$cfg[’LoginCookieStore’], 52$cfg[’LoginCookieValidity’], 52$cfg[’LoginCookieValidityDisableWarning’], 31$cfg[’LongtextDoubleTextarea’], 68$cfg[’MaxCharactersInDisplayedSQL’], 49$cfg[’MaxDbList’], 49$cfg[’MaxExactCount’], 71, 119$cfg[’MaxExactCountViews’], 71$cfg[’MaxNavigationItems’], 53$cfg[’MaxRows’], 59$cfg[’MaxSizeForInputField’], 67$cfg[’MaxTableList’], 49$cfg[’MemoryLimit’], 50$cfg[’MinSizeForInputField’], 67$cfg[’MysqlMinVersion’], 57$cfg[’NaturalOrder’], 71$cfg[’NavigationDisplayLogo’], 55$cfg[’NavigationDisplayServers’], 55$cfg[’NavigationLinkWithMainPanel’], 54$cfg[’NavigationLogoLink’], 55$cfg[’NavigationLogoLinkWindow’], 55$cfg[’NavigationTreeDbSeparator’], 54$cfg[’NavigationTreeDefaultTabTable’], 41, 55$cfg[’NavigationTreeDefaultTabTable2’], 56$cfg[’NavigationTreeDisplayDbFilterMinimum’], 55$cfg[’NavigationTreeDisplayItemFilterMinimum’], 55$cfg[’NavigationTreeEnableExpansion’], 56$cfg[’NavigationTreeEnableGrouping’], 54$cfg[’NavigationTreePointerEnable’], 66$cfg[’NavigationTreeShowEvents’], 56$cfg[’NavigationTreeShowFunctions’], 56$cfg[’NavigationTreeShowProcedures’], 56$cfg[’NavigationTreeShowTables’], 56$cfg[’NavigationTreeShowViews’], 56$cfg[’NavigationTreeTableLevel’], 54$cfg[’NavigationTreeTableSeparator’], 54, 118$cfg[’NavigationWidth’], 56$cfg[’NumFavoriteTables’], 41, 54, 133$cfg[’NumRecentTables’], 41, 54$cfg[’OBGzip’], 64, 105, 110, 116$cfg[’Order’], 59$cfg[’PDFDefaultPageSize’], 63$cfg[’PDFPageSizes’], 63$cfg[’PersistentConnections’], 49

$cfg[’PmaAbsoluteUri’], 10, 29, 49, 113, 116, 117, 122,124

$cfg[’PmaNoRelation_DisableWarning’], 30$cfg[’PropertiesNumColumns’], 62$cfg[’ProtectBinary’], 60$cfg[’ProxyPass’], 49$cfg[’ProxyUrl’], 48$cfg[’ProxyUser’], 48$cfg[’QueryHistoryDB’], 70, 71$cfg[’QueryHistoryMax’], 41, 70, 71$cfg[’RecodingEngine’], 64$cfg[’RelationalDisplay’], 59$cfg[’RememberSorting’], 42, 67$cfg[’RepeatCells’], 70$cfg[’ReservedWordDisableWarning’], 31$cfg[’RetainQueryBox’], 50$cfg[’RowActionLinks’], 66$cfg[’RowActionLinksWithoutUnique’], 66$cfg[’RowActionType’], 59$cfg[’SQLQuery’][’Edit’], 68$cfg[’SQLQuery’][’Explain’], 68$cfg[’SQLQuery’][’Refresh’], 69$cfg[’SQLQuery’][’ShowAsPHP’], 69$cfg[’SaveCellsAtOnce’], 59$cfg[’SaveDir’], 69, 97$cfg[’SendErrorReports’], 31$cfg[’ServerDefault’], 48$cfg[’ServerLibraryDifference_DisableWarning’], 31$cfg[’Servers’], 20, 32, 79$cfg[’Servers’][$i][’AllowDeny’][’order’], 26, 45, 65$cfg[’Servers’][$i][’AllowDeny’][’rules’], 26, 27, 45, 65,

121$cfg[’Servers’][$i][’AllowNoPassword’], 45$cfg[’Servers’][$i][’AllowRoot’], 27, 45$cfg[’Servers’][$i][’DisableIS’], 46$cfg[’Servers’][$i][’LogoutURL’], 48$cfg[’Servers’][$i][’MaxTableUiprefs’], 44$cfg[’Servers’][$i][’SessionTimeZone’], 45$cfg[’Servers’][$i][’SignonCookieParams’], 21, 26, 47$cfg[’Servers’][$i][’SignonScript’], 21, 25, 26, 46, 47$cfg[’Servers’][$i][’SignonSession’], 21, 26, 47$cfg[’Servers’][$i][’SignonURL’], 21, 26, 48$cfg[’Servers’][$i][’auth_http_realm’], 37$cfg[’Servers’][$i][’auth_type’], 26, 36, 37$cfg[’Servers’][$i][’bookmarktable’], 38$cfg[’Servers’][$i][’central_columns’], 42$cfg[’Servers’][$i][’column_info’], 40$cfg[’Servers’][$i][’compress’], 35$cfg[’Servers’][$i][’connect_type’], 35$cfg[’Servers’][$i][’control_*’], 35, 36$cfg[’Servers’][$i][’controlhost’], 35, 36$cfg[’Servers’][$i][’controlpass’], 18, 36, 121$cfg[’Servers’][$i][’controlport’], 35, 36$cfg[’Servers’][$i][’controluser’], 18, 19, 36, 40, 121

172 Index

Page 179: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg[’Servers’][$i][’designer_settings’], 43$cfg[’Servers’][$i][’export_templates’], 43$cfg[’Servers’][$i][’extension’], 38$cfg[’Servers’][$i][’favorite’], 41$cfg[’Servers’][$i][’hide_db’], 37$cfg[’Servers’][$i][’history’], 41, 70$cfg[’Servers’][$i][’host’], 10, 32, 33, 35, 37$cfg[’Servers’][$i][’navigationhiding’], 42$cfg[’Servers’][$i][’nopassword’], 37$cfg[’Servers’][$i][’only_db’], 37$cfg[’Servers’][$i][’password’], 26, 37$cfg[’Servers’][$i][’pdf_pages’], 39, 40$cfg[’Servers’][$i][’pmadb’], 30, 36, 38–44, 54$cfg[’Servers’][$i][’port’], 33$cfg[’Servers’][$i][’recent’], 41$cfg[’Servers’][$i][’relation’], 38, 39$cfg[’Servers’][$i][’savedsearches’], 43$cfg[’Servers’][$i][’socket’], 33, 115$cfg[’Servers’][$i][’ssl’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_ca’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_ca_path’], 27, 28, 33–36$cfg[’Servers’][$i][’ssl_cert’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_ciphers’], 28, 33–36$cfg[’Servers’][$i][’ssl_key’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_verify’], 28, 33–36, 80$cfg[’Servers’][$i][’table_coords’], 39, 40, 90$cfg[’Servers’][$i][’table_info’], 39$cfg[’Servers’][$i][’table_uiprefs’], 41, 42, 45$cfg[’Servers’][$i][’tracking’], 43, 44$cfg[’Servers’][$i][’tracking_add_drop_database’], 44$cfg[’Servers’][$i][’tracking_add_drop_table’], 44$cfg[’Servers’][$i][’tracking_add_drop_view’], 44$cfg[’Servers’][$i][’tracking_default_statements’], 44$cfg[’Servers’][$i][’tracking_version_auto_create’], 44$cfg[’Servers’][$i][’user’], 26, 37$cfg[’Servers’][$i][’userconfig’], 44$cfg[’Servers’][$i][’usergroups’], 42, 86$cfg[’Servers’][$i][’users’], 42$cfg[’Servers’][$i][’verbose’], 10, 37, 38, 57, 131$cfg[’SessionSavePath’], 27, 50$cfg[’ShowAll’], 59$cfg[’ShowBrowseComments’], 67$cfg[’ShowChgPassword’], 57$cfg[’ShowColumnComments’], 58$cfg[’ShowCreateDb’], 57$cfg[’ShowDatabasesNavigationAsTree’], 53$cfg[’ShowDbStructureCreation’], 58$cfg[’ShowDbStructureLastCheck’], 58$cfg[’ShowDbStructureLastUpdate’], 58$cfg[’ShowFieldTypesInDataEditView’], 60$cfg[’ShowFunctionFields’], 60$cfg[’ShowGitRevision’], 57$cfg[’ShowHint’], 49$cfg[’ShowPhpInfo’], 57

$cfg[’ShowPropertyComments’], 67$cfg[’ShowSQL’], 50$cfg[’ShowServerInfo’], 57$cfg[’ShowStats’], 57$cfg[’SkipLockedTables’], 50$cfg[’SuhosinDisableWarning’], 31, 48, 113$cfg[’TableNavigationLinksMode’], 58$cfg[’TablePrimaryKeyOrder’], 67$cfg[’TabsMode’], 62$cfg[’TempDir’], 27, 31, 70, 107, 132$cfg[’TextareaAutoSelect’], 68$cfg[’TextareaCols’], 68$cfg[’TextareaRows’], 68$cfg[’ThemeDefault’], 72, 101$cfg[’ThemeManager’], 72, 101$cfg[’ThemePerServer’], 72$cfg[’TitleDatabase’], 72$cfg[’TitleDefault’], 72$cfg[’TitleServer’], 72$cfg[’TitleTable’], 72$cfg[’TranslationWarningThreshold’], 31$cfg[’TrustedProxies’], 45, 65$cfg[’UploadDir’], 69, 96, 107, 132$cfg[’UseDbSearch’], 51$cfg[’UserprefsDeveloperTab’], 72$cfg[’UserprefsDisallow’], 32, 71$cfg[’VersionCheck’], 48$cfg[’ZeroConf’], 18, 54$cfg[’ZipDump’], 60$cfg[’blowfish_secret’], 51, 52

AACL, 163ActionLinksMode, 58Adresse IP, 165AllowArbitraryServer, 52AllowDeny, order, 45AllowDeny, rules, 45AllowNoPassword, 45AllowRoot, 45AllowThirdPartyFraming, 32AllowUserDropDatabase, 51ArbitraryServerRegexp, 52auth_http_realm, 37auth_type, 36Authentication mode, 19

Config, 26Cookie, 20HTTP, 20Signon, 20

AuthLog, 30AuthLogSuccess, 31AvailableCharsets, 64

Index 173

Page 180: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Bbase de données, 164Blowfish, 163blowfish_secret, 51bookmarktable, 38BrowseMarkerEnable, 66BrowseMIME, 71BrowsePointerEnable, 66bzip2, 163BZipDump, 61

CCaptchaLoginPrivateKey, 53CaptchaLoginPublicKey, 53central_columns, 42CGI, 163Champ, 164Changelog, 163CharEditing, 67CharTextareaCols, 68CharTextareaRows, 68CheckConfigurationPermissions, 65Clé, 165clé étrangère, 164clé primaire, 167clé unique, 168Client, 163CodemirrorEnable, 50colonne, 164column_info, 40comment (variable globale ou constante), 98compress, 35CompressOnFly, 61Config

Authentication mode, 26config.inc.php, 28configuration option

$cfg[’ActionLinksMode’], 58$cfg[’AllowArbitraryServer’], 9, 20, 52, 53$cfg[’AllowThirdPartyFraming’], 32$cfg[’AllowUserDropDatabase’], 51$cfg[’ArbitraryServerRegexp’], 52$cfg[’AuthLog’], 27, 30, 31$cfg[’AuthLogSuccess’], 30, 31$cfg[’AvailableCharsets’], 64$cfg[’BZipDump’], 61$cfg[’BrowseMIME’], 71$cfg[’BrowseMarkerEnable’], 66$cfg[’BrowsePointerEnable’], 66$cfg[’CSPAllow’], 65$cfg[’CaptchaLoginPrivateKey’], 27, 53$cfg[’CaptchaLoginPublicKey’], 27, 53$cfg[’CharEditing’], 67, 68$cfg[’CharTextareaCols’], 68

$cfg[’CharTextareaRows’], 68$cfg[’CheckConfigurationPermissions’], 65$cfg[’CodemirrorEnable’], 50$cfg[’CompressOnFly’], 61, 117$cfg[’Confirm’], 51$cfg[’Console’][’AlwaysExpand’], 74$cfg[’Console’][’CurrentQuery’], 74$cfg[’Console’][’DarkTheme’], 74$cfg[’Console’][’EnterExecutes’], 74$cfg[’Console’][’Height’], 74$cfg[’Console’][’Mode’], 74$cfg[’Console’][’StartHistory’], 74$cfg[’ConsoleEnterExecutes’], 32$cfg[’DBG’], 75$cfg[’DBG’][’demo’], 75$cfg[’DBG’][’simple2fa’], 75, 82$cfg[’DBG’][’sql’], 75$cfg[’DBG’][’sqllog’], 75$cfg[’DefaultConnectionCollation’], 63$cfg[’DefaultForeignKeyChecks’], 50$cfg[’DefaultFunctions’], 73$cfg[’DefaultLang’], 63$cfg[’DefaultQueryDatabase’], 73$cfg[’DefaultQueryTable’], 73$cfg[’DefaultTabDatabase’], 62$cfg[’DefaultTabServer’], 62$cfg[’DefaultTabTable’], 63$cfg[’DefaultTransformations’], 73$cfg[’DefaultTransformations’][’Bool2Text’], 73$cfg[’DefaultTransformations’][’DateFormat’], 73$cfg[’DefaultTransformations’][’External’], 73$cfg[’DefaultTransformations’][’Hex’], 73$cfg[’DefaultTransformations’][’Inline’], 74$cfg[’DefaultTransformations’][’PreApPend’], 73$cfg[’DefaultTransformations’][’Substring’], 73$cfg[’DefaultTransformations’][’TextImageLink’],

74$cfg[’DefaultTransformations’][’TextLink’], 74$cfg[’DisableMultiTableMaintenance’], 66$cfg[’DisableShortcutKeys’], 48$cfg[’DisplayServersList’], 55$cfg[’EnableAutocompleteForTablesAndColumns’],

68$cfg[’ExecTimeLimit’], 49, 126$cfg[’Export’], 61$cfg[’Export’][’charset’], 61, 64$cfg[’Export’][’file_template_database’], 61$cfg[’Export’][’file_template_server’], 62$cfg[’Export’][’file_template_table’], 61$cfg[’Export’][’format’], 61$cfg[’Export’][’method’], 61$cfg[’FilterLanguages’], 64$cfg[’FirstLevelNavigationItems’], 53$cfg[’FontSize’], 72

174 Index

Page 181: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg[’ForceSSL’], 49$cfg[’ForeignKeyDropdownOrder’], 60$cfg[’ForeignKeyMaxLimit’], 60, 130$cfg[’GD2Available’], 65$cfg[’GZipDump’], 60$cfg[’GridEditing’], 59$cfg[’HideStructureActions’], 58$cfg[’IconvExtraParams’], 64$cfg[’IgnoreMultiSubmitErrors’], 51$cfg[’Import’], 62$cfg[’Import’][’charset’], 62, 64$cfg[’InitialSlidersState’], 71$cfg[’InsertRows’], 60$cfg[’Lang’], 64$cfg[’LimitChars’], 66$cfg[’LinkLengthLimit’], 65$cfg[’LoginCookieDeleteAll’], 52$cfg[’LoginCookieRecall’], 52$cfg[’LoginCookieStore’], 52$cfg[’LoginCookieValidity’], 52$cfg[’LoginCookieValidityDisableWarning’], 31$cfg[’LongtextDoubleTextarea’], 68$cfg[’MaxCharactersInDisplayedSQL’], 49$cfg[’MaxDbList’], 49$cfg[’MaxExactCount’], 71, 119$cfg[’MaxExactCountViews’], 71$cfg[’MaxNavigationItems’], 53$cfg[’MaxRows’], 59$cfg[’MaxSizeForInputField’], 67$cfg[’MaxTableList’], 49$cfg[’MemoryLimit’], 50$cfg[’MinSizeForInputField’], 67$cfg[’MysqlMinVersion’], 57$cfg[’NaturalOrder’], 71$cfg[’NavigationDisplayLogo’], 55$cfg[’NavigationDisplayServers’], 55$cfg[’NavigationLinkWithMainPanel’], 54$cfg[’NavigationLogoLink’], 55$cfg[’NavigationLogoLinkWindow’], 55$cfg[’NavigationTreeDbSeparator’], 54$cfg[’NavigationTreeDefaultTabTable’], 41, 55$cfg[’NavigationTreeDefaultTabTable2’], 56$cfg[’NavigationTreeDisplayDbFilterMinimum’],

55$cfg[’NavigationTreeDisplayItemFilterMinimum’],

55$cfg[’NavigationTreeEnableExpansion’], 56$cfg[’NavigationTreeEnableGrouping’], 54$cfg[’NavigationTreePointerEnable’], 66$cfg[’NavigationTreeShowEvents’], 56$cfg[’NavigationTreeShowFunctions’], 56$cfg[’NavigationTreeShowProcedures’], 56$cfg[’NavigationTreeShowTables’], 56$cfg[’NavigationTreeShowViews’], 56

$cfg[’NavigationTreeTableLevel’], 54$cfg[’NavigationTreeTableSeparator’], 54, 118$cfg[’NavigationWidth’], 56$cfg[’NumFavoriteTables’], 41, 54, 133$cfg[’NumRecentTables’], 41, 54$cfg[’OBGzip’], 64, 105, 110, 116$cfg[’Order’], 59$cfg[’PDFDefaultPageSize’], 63$cfg[’PDFPageSizes’], 63$cfg[’PersistentConnections’], 49$cfg[’PmaAbsoluteUri’], 10, 29, 49, 113, 116, 117,

122, 124$cfg[’PmaNoRelation_DisableWarning’], 30$cfg[’PropertiesNumColumns’], 62$cfg[’ProtectBinary’], 60$cfg[’ProxyPass’], 49$cfg[’ProxyUrl’], 48$cfg[’ProxyUser’], 48$cfg[’QueryHistoryDB’], 70, 71$cfg[’QueryHistoryMax’], 41, 70, 71$cfg[’RecodingEngine’], 64$cfg[’RelationalDisplay’], 59$cfg[’RememberSorting’], 42, 67$cfg[’RepeatCells’], 70$cfg[’ReservedWordDisableWarning’], 31$cfg[’RetainQueryBox’], 50$cfg[’RowActionLinks’], 66$cfg[’RowActionLinksWithoutUnique’], 66$cfg[’RowActionType’], 59$cfg[’SQLQuery’][’Edit’], 68$cfg[’SQLQuery’][’Explain’], 68$cfg[’SQLQuery’][’Refresh’], 69$cfg[’SQLQuery’][’ShowAsPHP’], 69$cfg[’SaveCellsAtOnce’], 59$cfg[’SaveDir’], 69, 97$cfg[’SendErrorReports’], 31$cfg[’ServerDefault’], 48$cfg[’ServerLibraryDifference_DisableWarning’],

31$cfg[’Servers’], 20, 32, 79$cfg[’Servers’][$i][’AllowDeny’][’order’], 26, 45,

65$cfg[’Servers’][$i][’AllowDeny’][’rules’], 26, 27,

45, 65, 121$cfg[’Servers’][$i][’AllowNoPassword’], 45$cfg[’Servers’][$i][’AllowRoot’], 27, 45$cfg[’Servers’][$i][’DisableIS’], 46$cfg[’Servers’][$i][’LogoutURL’], 48$cfg[’Servers’][$i][’MaxTableUiprefs’], 44$cfg[’Servers’][$i][’SessionTimeZone’], 45$cfg[’Servers’][$i][’SignonCookieParams’], 21, 26,

47$cfg[’Servers’][$i][’SignonScript’], 21, 25, 26, 46,

47

Index 175

Page 182: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

$cfg[’Servers’][$i][’SignonSession’], 21, 26, 47$cfg[’Servers’][$i][’SignonURL’], 21, 26, 48$cfg[’Servers’][$i][’auth_http_realm’], 37$cfg[’Servers’][$i][’auth_type’], 26, 36, 37$cfg[’Servers’][$i][’bookmarktable’], 38$cfg[’Servers’][$i][’central_columns’], 42$cfg[’Servers’][$i][’column_info’], 40$cfg[’Servers’][$i][’compress’], 35$cfg[’Servers’][$i][’connect_type’], 35$cfg[’Servers’][$i][’control_*’], 35, 36$cfg[’Servers’][$i][’controlhost’], 35, 36$cfg[’Servers’][$i][’controlpass’], 18, 36, 121$cfg[’Servers’][$i][’controlport’], 35, 36$cfg[’Servers’][$i][’controluser’], 18, 19, 36, 40,

121$cfg[’Servers’][$i][’designer_settings’], 43$cfg[’Servers’][$i][’export_templates’], 43$cfg[’Servers’][$i][’extension’], 38$cfg[’Servers’][$i][’favorite’], 41$cfg[’Servers’][$i][’hide_db’], 37$cfg[’Servers’][$i][’history’], 41, 70$cfg[’Servers’][$i][’host’], 10, 32, 33, 35, 37$cfg[’Servers’][$i][’navigationhiding’], 42$cfg[’Servers’][$i][’nopassword’], 37$cfg[’Servers’][$i][’only_db’], 37$cfg[’Servers’][$i][’password’], 26, 37$cfg[’Servers’][$i][’pdf_pages’], 39, 40$cfg[’Servers’][$i][’pmadb’], 30, 36, 38–44, 54$cfg[’Servers’][$i][’port’], 33$cfg[’Servers’][$i][’recent’], 41$cfg[’Servers’][$i][’relation’], 38, 39$cfg[’Servers’][$i][’savedsearches’], 43$cfg[’Servers’][$i][’socket’], 33, 115$cfg[’Servers’][$i][’ssl’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_ca’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_ca_path’], 27, 28, 33–36$cfg[’Servers’][$i][’ssl_cert’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_ciphers’], 28, 33–36$cfg[’Servers’][$i][’ssl_key’], 27, 28, 33–36, 80$cfg[’Servers’][$i][’ssl_verify’], 28, 33–36, 80$cfg[’Servers’][$i][’table_coords’], 39, 40, 90$cfg[’Servers’][$i][’table_info’], 39$cfg[’Servers’][$i][’table_uiprefs’], 41, 42, 45$cfg[’Servers’][$i][’tracking’], 43, 44$cfg[’Servers’][$i][’tracking_add_drop_database’],

44$cfg[’Servers’][$i][’tracking_add_drop_table’], 44$cfg[’Servers’][$i][’tracking_add_drop_view’], 44$cfg[’Servers’][$i][’tracking_default_statements’],

44$cfg[’Servers’][$i][’tracking_version_auto_create’],

44$cfg[’Servers’][$i][’user’], 26, 37$cfg[’Servers’][$i][’userconfig’], 44

$cfg[’Servers’][$i][’usergroups’], 42, 86$cfg[’Servers’][$i][’users’], 42$cfg[’Servers’][$i][’verbose’], 10, 37, 38, 57, 131$cfg[’SessionSavePath’], 27, 50$cfg[’ShowAll’], 59$cfg[’ShowBrowseComments’], 67$cfg[’ShowChgPassword’], 57$cfg[’ShowColumnComments’], 58$cfg[’ShowCreateDb’], 57$cfg[’ShowDatabasesNavigationAsTree’], 53$cfg[’ShowDbStructureCreation’], 58$cfg[’ShowDbStructureLastCheck’], 58$cfg[’ShowDbStructureLastUpdate’], 58$cfg[’ShowFieldTypesInDataEditView’], 60$cfg[’ShowFunctionFields’], 60$cfg[’ShowGitRevision’], 57$cfg[’ShowHint’], 49$cfg[’ShowPhpInfo’], 57$cfg[’ShowPropertyComments’], 67$cfg[’ShowSQL’], 50$cfg[’ShowServerInfo’], 57$cfg[’ShowStats’], 57$cfg[’SkipLockedTables’], 50$cfg[’SuhosinDisableWarning’], 31, 48, 113$cfg[’TableNavigationLinksMode’], 58$cfg[’TablePrimaryKeyOrder’], 67$cfg[’TabsMode’], 62$cfg[’TempDir’], 27, 31, 70, 107, 132$cfg[’TextareaAutoSelect’], 68$cfg[’TextareaCols’], 68$cfg[’TextareaRows’], 68$cfg[’ThemeDefault’], 72, 101$cfg[’ThemeManager’], 72, 101$cfg[’ThemePerServer’], 72$cfg[’TitleDatabase’], 72$cfg[’TitleDefault’], 72$cfg[’TitleServer’], 72$cfg[’TitleTable’], 72$cfg[’TranslationWarningThreshold’], 31$cfg[’TrustedProxies’], 45, 65$cfg[’UploadDir’], 69, 96, 107, 132$cfg[’UseDbSearch’], 51$cfg[’UserprefsDeveloperTab’], 72$cfg[’UserprefsDisallow’], 32, 71$cfg[’VersionCheck’], 48$cfg[’ZeroConf’], 18, 54$cfg[’ZipDump’], 60$cfg[’blowfish_secret’], 51, 52

Configuration storage, 17Confirm, 51connect_type, 35Console, AlwaysExpand, 74Console, CurrentQuery, 74Console, DarkTheme, 74

176 Index

Page 183: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

Console, EnterExecutes, 74Console, Height, 74Console, Mode, 74Console, StartHistory, 74ConsoleEnterExecutes, 32control_*, 36controlhost, 35controlpass, 36controlport, 35controluser, 36Cookie, 164

Authentication mode, 20CSPAllow, 65CSV, 164

Ddéclencheur, 168data (variable globale ou constante), 98database (variable globale ou constante), 98DB, 164DBG, 75DBG, demo, 75DBG, simple2fa, 75DBG, sql, 75DBG, sqllog, 75DefaultConnectionCollation, 63DefaultForeignKeyChecks, 50DefaultFunctions, 73DefaultLang, 63DefaultQueryDatabase, 73DefaultQueryTable, 73DefaultTabDatabase, 62DefaultTabServer, 62DefaultTabTable, 63DefaultTransformations, 73DefaultTransformations, Bool2Text, 73DefaultTransformations, DateFormat, 73DefaultTransformations, External, 73DefaultTransformations, Hex, 73DefaultTransformations, Inline, 74DefaultTransformations, PreApPend, 73DefaultTransformations, Substring, 73DefaultTransformations, TextImageLink, 74DefaultTransformations, TextLink, 74designer_settings, 43DisableIS, 46DisableMultiTableMaintenance, 66DisableShortcutKeys, 48DisplayServersList, 55

EEnableAutocompleteForTablesAndColumns, 68ExecTimeLimit, 49Export, 61

Export, charset, 61Export, file_template_database, 61Export, file_template_server, 62Export, file_template_table, 61Export, format, 61Export, method, 61export_templates, 43extension, 38, 164

FFAI, 165FAQ, 164favorite, 41FilterLanguages, 64FirstLevelNavigationItems, 53FontSize, 72ForceSSL, 49ForeignKeyDropdownOrder, 60ForeignKeyMaxLimit, 60

GGD, 164GD2, 164GD2Available, 65GridEditing, 59gzip, 164GZipDump, 60

Hhôte, 164hide_db, 37HideStructureActions, 58history, 41host, 32HTTP, 164

Authentication mode, 20https, 165

IIconvExtraParams, 64IEC, 165IgnoreMultiSubmitErrors, 51IIS, 165Import, 62Import, charset, 62Index, 165InitialSlidersState, 71InsertRows, 60IP, 165IPv6, 165ISAPI, 165ISO, 165

Index 177

Page 184: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

JJPEG, 165JPG, 165

LLang, 64LATEX, 165Ligne (enregistrement, tuple), 167LimitChars, 66LinkLengthLimit, 65LoginCookieDeleteAll, 52LoginCookieRecall, 52LoginCookieStore, 52LoginCookieValidity, 52LoginCookieValidityDisableWarning, 31LogoutURL, 48LongtextDoubleTextarea, 68

MMac, 165Mac OS X, 165MaxCharactersInDisplayedSQL, 49MaxDbList, 49MaxExactCount, 71MaxExactCountViews, 71MaxNavigationItems, 53MaxRows, 59MaxSizeForInputField, 67MaxTableList, 49MaxTableUiprefs, 44mbstring, 166MCrypt, 166mcrypt, 166MemoryLimit, 50MIME, 166MinSizeForInputField, 67mod_proxy_fcgi, 166module, 166Moteur, 164Moteurs de stockage, 167MySQL, 166mysql, 166mysqli, 166MysqlMinVersion, 57

Nname (variable globale ou constante), 98NaturalOrder, 71Navigateur, 163NavigationDisplayLogo, 55NavigationDisplayServers, 55navigationhiding, 42NavigationLinkWithMainPanel, 54

NavigationLogoLink, 55NavigationLogoLinkWindow, 55NavigationTreeDbSeparator, 54NavigationTreeDefaultTabTable, 55NavigationTreeDefaultTabTable2, 56NavigationTreeDisplayDbFilterMinimum, 55NavigationTreeDisplayItemFilterMinimum, 55NavigationTreeEnableExpansion, 56NavigationTreeEnableGrouping, 54NavigationTreePointerEnable, 66NavigationTreeShowEvents, 56NavigationTreeShowFunctions, 56NavigationTreeShowProcedures, 56NavigationTreeShowTables, 56NavigationTreeShowViews, 56NavigationTreeTableLevel, 54NavigationTreeTableSeparator, 54NavigationWidth, 56nom d’hôte, 164nopassword, 37NumFavoriteTables, 54NumRecentTables, 54

OOBGzip, 64only_db, 37OpenDocument, 166Order, 59OS X, 166

Ppassword, 37PCRE, 166PDF, 166pdf_pages, 39PDFDefaultPageSize, 63PDFPageSizes, 63PEAR, 166PersistentConnections, 49PHP, 167phpMyAdmin configuration storage, 17PMA_ABSOLUTE_URI, 13PMA_HOST, 10PMA_PASSWORD, 10PMA_PORT, 10PMA_USER, 10PMA_VERBOSE, 10PmaAbsoluteUri, 29pmadb, 17, 38PmaNoRelation_DisableWarning, 30port, 33, 167Procédure stockée, 167PropertiesNumColumns, 62ProtectBinary, 60

178 Index

Page 185: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

ProxyPass, 49ProxyUrl, 48ProxyUser, 48

QQueryHistoryDB, 70QueryHistoryMax, 70

Rrecent, 41RecodingEngine, 64relation, 38RelationalDisplay, 59RememberSorting, 67RepeatCells, 70ReservedWordDisableWarning, 31RetainQueryBox, 50RFC, 167

RFC 1867, 117RFC 1952, 167RFC 2616, 111

RFC 1952, 167RowActionLinks, 66RowActionLinksWithoutUnique, 66RowActionType, 59

SSaveCellsAtOnce, 59SaveDir, 69savedsearches, 43SendErrorReports, 31server configuration

AllowDeny, order, 45AllowDeny, rules, 45AllowNoPassword, 45AllowRoot, 45auth_http_realm, 37auth_type, 36bookmarktable, 38central_columns, 42column_info, 40compress, 35connect_type, 35control_*, 36controlhost, 35controlpass, 36controlport, 35controluser, 36designer_settings, 43DisableIS, 46export_templates, 43extension, 38favorite, 41

hide_db, 37history, 41host, 32LogoutURL, 48MaxTableUiprefs, 44navigationhiding, 42nopassword, 37only_db, 37password, 37pdf_pages, 39pmadb, 38port, 33recent, 41relation, 38savedsearches, 43SessionTimeZone, 45SignonCookieParams, 47SignonScript, 46SignonSession, 47SignonURL, 48socket, 33ssl, 33ssl_ca, 34ssl_ca_path, 34ssl_cert, 34ssl_ciphers, 34ssl_key, 33ssl_verify, 35table_coords, 39table_info, 39table_uiprefs, 41tracking, 43tracking_add_drop_database, 44tracking_add_drop_table, 44tracking_add_drop_view, 44tracking_default_statements, 44tracking_version_auto_create, 44user, 37userconfig, 44usergroups, 42users, 42verbose, 38

ServerDefault, 48ServerLibraryDifference_DisableWarning, 31Servers, 32Serveur, 167Serveur web, 168SessionSavePath, 50SessionTimeZone, 45Setup script, 15ShowAll, 59ShowBrowseComments, 67ShowChgPassword, 57ShowColumnComments, 58

Index 179

Page 186: phpMyAdmin Documentation - media.readthedocs.org · phpMyAdmin Documentation, Version 4.8.0-dev —suivre les modifications dans les bases de données, tables et vues —travailler

phpMyAdmin Documentation, Version 4.8.0-dev

ShowCreateDb, 57ShowDatabasesNavigationAsTree, 53ShowDbStructureCreation, 58ShowDbStructureLastCheck, 58ShowDbStructureLastUpdate, 58ShowFieldTypesInDataEditView, 60ShowFunctionFields, 60ShowGitRevision, 57ShowHint, 49ShowPhpInfo, 57ShowPropertyComments, 67ShowServerInfo, 57ShowSQL, 50ShowStats, 57Signon

Authentication mode, 20SignonCookieParams, 47SignonScript, 46SignonSession, 47SignonURL, 48SkipLockedTables, 50socket, 33, 167SQL, 168SQLQuery, Edit, 68SQLQuery, Explain, 68SQLQuery, Refresh, 69SQLQuery, ShowAsPHP, 69SSL, 167ssl, 33ssl_ca, 34ssl_ca_path, 34ssl_cert, 34ssl_ciphers, 34ssl_key, 33ssl_verify, 35SuhosinDisableWarning, 31

Ttable, 168table_coords, 39table_info, 39table_uiprefs, 41TableNavigationLinksMode, 58TablePrimaryKeyOrder, 67TabsMode, 62tar, 168TCP, 168TCPDF, 168TempDir, 70TextareaAutoSelect, 68TextareaCols, 68TextareaRows, 68ThemeDefault, 72ThemeManager, 72

ThemePerServer, 72TitleDatabase, 72TitleDefault, 72TitleServer, 72TitleTable, 72tracking, 43tracking_add_drop_database, 44tracking_add_drop_table, 44tracking_add_drop_view, 44tracking_default_statements, 44tracking_version_auto_create, 44TranslationWarningThreshold, 31TrustedProxies, 65type (variable globale ou constante), 98

UUploadDir, 69URL, 168UseDbSearch, 51user, 37userconfig, 44usergroups, 42UserprefsDeveloperTab, 72UserprefsDisallow, 71users, 42

Vvariable d’environnement

PMA_ABSOLUTE_URI, 10, 13PMA_ARBITRARY, 9PMA_HOST, 9, 10PMA_HOSTS, 10PMA_PASSWORD, 10PMA_PORT, 10PMA_PORTS, 10PMA_USER, 10PMA_VERBOSE, 10PMA_VERBOSES, 10

verbose, 38version (variable globale ou constante), 98VersionCheck, 48

XXML, 168

ZZeroConf, 54ZIP, 168ZipDump, 60zlib, 168

180 Index