Copyright © 2004-2017 François LAGARDE. Tous droits réservés.
   
Version 2.2.8
      Bibliographie   Histoire  

MySQL - concept de l'Administration

Publié le 06 décembre 2006 - François Lagarde
DEA d'histoire moderne & DUT d'informatique

Pour cette approche conceptuelle de l'administration d'une base de données, j'ai choisi le logiciel MySQL pour sa gratuité et sa disponibilité sur Windows, MacOS X et Linux. [1] Ce choix n'exclut nullement les autres produits comme FileMaker Pro, Access ou 4D. Il ne s'agit pas ici de vous apprendre à utiliser ni même développer une base de données, mais seulement de vous aider à en saisir le principe, les acteurs et les enjeux.

 

Présentation du logiciel SGBD

Un système de gestion de base de données (SGBD) est un outil logiciel permettant de collecter, stocker et organiser des informations, les données, dans le but d'y effectuer des requêtes ultérieures. [2] La requête est une recherche, un tri (on parle aussi de filtre) mené en fonction de critères pertinents. La plupart du temps les informations sont organisées selon cette hiérarchie : BASE > TABLE > ENREGISTREMENTS > ATTRIBUTS.

Par nature la plupart des SGBD sont multi-utilisateurs. C'est-à-dire que les bases peuvent être consultées ou enrichies par différentes personnes simultanément. Cette aptitude permet donc le travail d'équipe sur un projet commun. Les SGBD fonctionnent également en mode clients / serveur. Cela signifie d'une part que la base logicielle en question est accessible depuis un endroit commun centralisé : l'ordinateur serveur. D'autre part les différentes personnes se connectent sur le serveur de base de données via leurs ordinateurs clients respectifs. L'ensemble de ces ordinateurs interconnectés clients et serveurs constituent un réseau. Ce réseau peut être interne (intranet d'entreprise ou d'institution) ou externe (internet).

Figure n°1 Accès via le réseau à une base distante

Le logiciel MySQL est un serveur de bases de données relationnelles très puissant. Il peut mettre à disposition de nombreuses bases pour qu'elles soient accessibles en consultation / modification par de multiples utilisateurs. Ceux-ci se connectent aux bases depuis leurs ordinateurs via un réseau local ou le web. Pour cette raison MySQL fonctionne conjointement avec un serveur web pour un usage en intranet ou internet.

 

Administration et Importance de l'administrateur

Une telle architecture à la fois client / serveur et multi-utilisateurs impose un travail d'administration. Cela veut d'abord dire sécuriser l'accès depuis l'exterieur à votre base de données. N'importe qui en effet ne doit pas pouvoir accéder à celle-ci sans y être identifié et autorisé. Cela passe par la création d'un compte informatique par utilisateurs autorisés. Chacun doit effectivement s'authentifier par un mot de passe. Cela permet de limiter l'accès à la base aux seules personnes connues et accréditées.

Ensuite il faut sécuriser les accès à l'intérieur de votre base, car toutes les personnes y travaillant ne doivent pas nécessairement accéder à tous les objets ni faire n'importe quoi. Au sein de la base on considère comme objets les tables, les enregistrements, les requêtes, les comptes d'utilisateurs, etc. Il faut donc gérer des accès différenciés aux données de la base selon la fonction de l'utilisateur. Dans ce but on distingue les comptes d'utilisateur standards du compte spéciale "administrateur" chargé de la gestion des autres comptes.

On désigne donc par administrateur un compte informatique d'utilisateur doté de privilèges spéciaux dans le système ici le SGBD. Par extension, le terme désigne aussi la personne physique qui utilise ce compte. [3] Ce fameux compte administrateur se caractérise par son droit régalien de vie et de mort sur tous les objets de la base y compris sa structure. De fait, il peut créer ou supprimer n'importe quel autre compte d'utilisateur lambda. Le rôle de l'administrateur est donc de gérer au quotidien la base et les accès à son contenu.

Figure n°2 Phases d'un projet de SGBD

Il ne faut pas le confondre avec le programmeur / développeur dont le rôle est de créer la base. Il s'agit d'un informaticien chargé de créé la base logicielle via un ou des langages de programmation comme le SQL, SQL+ ou le PL/SQL. Il est également en charge de créer l'interface graphique de la base afin d'en faciliter l'utilisation par les non informaticiens. Dans le cas de MySQL cette interface est le plus souvent de type web créée avec des langages comme le HTML, PHP, feuilles de styles CSS, javascript etc. Ce poste nécessite donc de solides compétences techniques. N'oublions pas non plus le rôle de l'analyste charger de comprendre et définir les besoins du projet pour les transcrire dans un cahier des charges. Dans ce cadre il lui revient d'assurer la conception théorique de la base. Le programmeur en assure la réalisation pratique et enfin l'administrateur gère au quotidien le produit fini. Toutefois dans les petites structures (PME, PMI, association loi 1901, etc) ces trois fonctions reviennent souvent à une seule et même personne.

 

intérêt pratiques

Un premier cas pratique illustrant ce concept peut-être une base de données mise en ligne sur le serveur par un enseignant et consultable par chacun des élèves de la salle de TP. Un second cas pratique à l'université cette fois est un directeur de recherche ayant élaboré une base de données de fiches de dépouillement préformatées. Ses étudiants l'enrichissent au fur et à mesure de l'avancé de leurs travaux (maîtrise, DEA, thèse, etc.). Dans ces deux exemples l'intérêt est de mutualiser les données collectées afin de permettre un travail collaboratif.

Prenons le cas d'un professeur à l'université réalisant une base dans le but d'y collecter les données d'un dépouillement collectif de ses étudiants. La base contiendra deux types de données (A et B) correspondant à deux modèles de fiches types différentes, mais complémentaires. Cela afin de permettre de croiser les informations des documents sources.

Dans la figure 2, les étudiants 1 et 2 sont chargés exclusivement de dépouiller et saisir les données de type A dans la base. Idem pour les étudiants 3 et 4 concernant les données de type B. Il est primordial que les étudiants 1 et 2 accèdent uniquement aux données qui leur sont attribuées et réciproquement pour 3 et 4. Cela doit garantir l'intégrité de la base et la cohérence des données. C'est dans ce but qu'intervient l'administrateur.

Figure n°3 Accès discrétionnaire aux objets de la base

Enfin il n'est pas nécessaire de travailler à plusieurs pour profiter des qualités de MySQL ou de toutes autres SGBD. L'exemple de l'étudiant (de maîtrise ou autre) souhaitant seulement disposer d'une base de données sur son ordinateur personnel en est l'illustration. Dans ce cas de figure le serveur de base de données et l'ordinateur depuis lequel la base est consultée ou modifiée ne font qu'un. Il n'y a donc pas besoin systématiquement d'un réseau. Un travail exclusivement en local (sur le poste) est parfaitement envisageable.

Figure n°4 Travail sur une base locale

 

Avant de vous lancer seul ou à plusieurs dans un projet de base de données, ne vous précipitez pas. Prenez le temps d'analyser en détail vos besoins, car un système mal conçu dés l'origine ne se rattrape pas à coup d'astuces techniques. Fixez vous des objectifs réalistes en fonction de vos moyens. Assurez vous toujours au préalable de bien disposer des compétences techniques requises. Ayez toujours à l'esprit qu'un modeste projet économe, mais évolutif sera toujours préférable à une coûteuse usine à gaz ingérable. Ces recommandations sont valables quelques soient la taille et l'ambition de votre projet.

 


[1] MySQL est un logiciel de type SGBDR (Système de Gestion de Bases de données Relationnelles) de l'éditeur suédois AB. Il est compatible avec de nombreux systèmes d'exploitation et utilise une interface web. Il peut donc s'administrer depuis n'importe quel ordinateur munis d'un navigateur.
[2] Les plus célèbres SGBG sont Oracle, MySQL, PostgreSQL, SQL Server, 4D, FileMaker Pro, Access, etc. Certains se souviendront de feu FoxPro.
[3] On parle aussi de DBA (Data Base Administrator) pour administrateur de base de données / SGBD. Ne pas confondre avec l'administrateur du système d'exploitation (MacOS X, Unix, Linux, Windows, etc...).

 

François LAGARDE
webmaster@modernalis.com

 


Article L122-4 du CODE DE LA PROPRIETE INTELLECTUELLE :

Toute représentation ou reproduction intégrale ou partielle faite sans le consentement de l'auteur ou de ses ayants droit ou ayants cause est illicite. Il en est de même pour la traduction, l'adaptation ou la transformation, l'arrangement ou la reproduction par un art ou un procédé quelconque.