PHP/MYSQL 1 LES CAHIERS DU PROGRAMMEUR - JEAN-PHILIPPE LEBOEUF

La page est créée Jean-Marc Chauvet
 
CONTINUER À LIRE
Les Cahiers du programmeur
                         PHP/MySQL [1]
Première application avec PHP4 et MySQL

                                Jean-Philippe Leboeuf

                        Avec la contribution de Martine Chalmond

            © Groupe Eyrolles, 2002
             ISBN : 2-212-11069-3
Introduction, présentation
     et cahier des charges                                                                                1
    PHP/MySQL                     Problème | solutions | technologies et outils

   SOMMAIRE
B La gestion d’une bibliothèque
   partagée
   C Approche humaine
   C Approche informatique
B Le cahier des charges
  C Généralités                                                                  Application de gestion de DVD
  C Fonctionnalités                                                     Interface accessible à l'aide d'un navigateur web
B Les choix informatiques
  C Applications équivalentes
  C Technologies utilisables
  C Orientation du choix des
       outils

   MOTS-CLÉS
B CLUGS
B Cahier des charges

                                    F

                                      Ce chapitre introductif a un triple objectif : introduire le problème de la gestion
                                      d’une base de données partagée sur le plan humain et informatique, présenter les
                                      fonctionnalités de l’application CineDVD qui sera développée dans ce Cahier du
                                      programmeur et mettre en avant les principales technologies qui seront utilisées.
                                      La plupart des concepts informatiques apparaissant dans ce chapitre sont simple-
                                      ment évoqués et seront développés dans les suivants.

© Eyrolles, 2002
Les Cahiers du programmeur PHP/MySQL (1)

                                               Le problème de la gestion d’une
                                               bibliothèque partagée
                                               Ce cahier du programmeur traitant de PHP/MySQL prend pour prétexte la
                                               création d’un système de gestion de bibliothèque partagée entre un petit groupe
                                               de personnes, un CLosed User Group library Systems (CLUGS) en anglais. Avant
                                               de nous lancer dans une analyse informatique du problème, essayons de com-
                                               prendre les caractéristiques, sur le plan humain, d’un tel problème de gestion.

                                               Gestion d’objets et partage de collections au sein d’un
                                               groupe restreint
                                               Les objets que l’on peut s’échanger entre personnes membres d’un groupe (amis,
                                               famille) sont trop nombreux pour être tous cités : disques audio (vinyle, CD,
                                               SACD, etc.), cassettes audio ou vidéo, DVD (audio ou vidéo), mais aussi parti-
                                               tions de musique, recettes de cuisine, livres, albums de photographies de
                                               familles, arbres généalogiques, fiches contenant des informations plus diverses
                                               que variées, cartes de collection… En fait : tout type de données pouvant sus-
                                               citer un intérêt partagé, que l’on associe à un processus d’échange.
                                               Le problème de la gestion d’une bibliothèque partagée doit alors être envisagé
                                               suivant deux axes :
                                                • la gestion de données à proprement parler : il s’agit de savoir quelles infor-
                                                   mations retenir pour à la fois rendre compte au mieux des caractéristiques
                                                   d’un objet, et conserver une description utile et pertinente si l’on considère la
                                                   collection formée par ces objets dans son ensemble ;
                                                • l’axe du partage : il s’agit ici de déterminer quelles sont les procédures de
                                                   partage d’objets (d’une personne à une autre ? par rencontres organisées ras-
                                                   semblant plusieurs personnes ? via la poste ? de mains en mains ?, etc.),
                                                   quelles sont les informations échangées (fusion d’informations ?
                                                   agrégation ?), quels sont les rôles de chaque acteur, leurs connaissances et la
                                                   confiance qu’on leur accorde, etc.
                                               Le premier problème est classique dans le domaine de la gestion de données et de
                                               nombreuses solutions existent : la gestion par classeur de fiches regroupant les
                                               informations sur chaque objet, l’utilisation de cahiers de notes, la mise en place de
                                               bibliothèques physiques avec divers systèmes de classement… Le problème peut
                                               certes paraître simple au premier abord mais il se complexifie vite si l’on souhaite
                                               gérer de nombreux médias ayant de multiples relations entre eux, et également
                                               lorsque l’on souhaite caractériser la collection à l’aide d’indicateurs non seulement
                                               quantitatifs (nombre d’objets au total, nombre d’objets par catégorie, etc.) mais
                                               aussi qualitatifs (intérêt de la collection, qualité de la collection, etc.).
                                               Le second problème est à l’heure actuelle un domaine actif de la recherche, que
                                               ce soit en sciences sociales ou en informatique.

                                           2                                                                        © Eyrolles, 2002
1 – Introduction, présentation et cahier des charges
Si l’on résume pratiquement le problème d’échange d’objets, on peut retenir
quatre points :                                                                          Même si les échanges d’objets sont monnaie cou-
1 Certaines personnes possèdent un certain nombre (limité) d’objets et sou-              rante dans la vie de tous les jours, les codes qui les
                                                                                         régissent ne sont pas toujours simples à mettre en
   haitent pouvoir accéder à une collection plus grande en piochant dans les
                                                                                         lumière. On s’en aperçoit d’ailleurs très vite quand
   collections des membres du groupe auquel elles appartiennent.                         un groupe s’échangeant des objets grossit et qu’il
2 Le groupe doit être bien identifié et les échanges doivent être si possible            faut mettre en place des règles claires (voire strictes)
                                                                                         permettant au système de conserver de sa fluidité.
   « sécurisés ».
3 Les emprunts d’objets doivent pour bien fonctionner se faire dans les règles :
   un objet emprunté doit être rendu et si possible en bon état.
4 Le groupe est de préférence situé dans un lieu géographique précis qui per-
   met aux membres de pouvoir se voir facilement.
Notons aussi qu’une personne intègre généralement un groupe d’échange par
cooptation ou via l’accord d’un membre ayant un peu plus de pouvoir que les
autres, « administrateur », « gestionnaire », ou tout autre terme le qualifiant.
Pour mettre en place un tel groupe, les solutions ne sont pas si nombreuses que
cela, trois modes sont possibles :
 • le mode oral : tout est basé sur la confiance, sans papier, c’est-à-dire le
    bouche-à-oreille ; le problème est qu’il faut quand même gérer les descrip-
    tions d’objets d’une façon ou d’une autre ;
 • le mode scriptural : tout est noté sur des fiches qui résument les flux
    d’échanges et qui décrivent les objets ;
 • le mode informatique : l’outil informatique est utilisé avec plus ou moins de
    bonheur pour essayer de décharger le groupe des tâches dites
    « administratives ».

L’approche informatique
Si la plupart des médiathèques que l’on trouve de nos jours dans les villes dispo-
sent de systèmes informatisés de gestion des artefacts culturels, ce n’est pas le cas
de tout un chacun dans le cadre d’un usage personnel. Pourtant, on le sait, les
français sont friands de produits culturels tels que les disques vinyle, les cassettes   Rappelons que l’échange de DVD n’est autorisé
vidéo, les CD audio ou des supports plus récents comme les DVD vidéo et les              que dans le cadre restreint de la famille. La gestion
DVD audio. Nous savons tous que le nombre de médias présents dans une col-               d’une DVDthèque personnelle est la fonction prin-
lection personnelle croît très vite (surtout lorsqu’on est fan d’un certain groupe       cipale de l’application développée.
ou d’un certain réalisateur) et qu’il devient vite problématique de tout gérer.
Lorsque arrive le jour où l’on souhaite partager sa collection, on découvre sou-
vent avec horreur que l’on ne sait même plus ce qu’elle contient (voire où se
trouvent les objets qui la constituent…).
Le fait d’entrer toutes les données concernant chaque film de sa DVDthèque
(par exemple) permet grâce à l’outil informatique de faire des rapprochements
intéressants du genre « le directeur artistique ayant travaillé sur le film A a aussi
travaillé sur le film B, voyons dans les bonus d’un de ces deux films si l’on peut
trouver quelque chose sur ses travaux ». L’outil informatique permet en outre de

© Eyrolles, 2002                                                                                                                          3
Les Cahiers du programmeur PHP/MySQL (1)

                                               « rendre plus carrées » les méthodes de gestion et de classement (bien que cela
                                               soit parfois un défaut), puisqu’il est nécessaire de structurer l’information afin de
                                               la manipuler de façon informatique. En outre, un ordinateur n’aura aucune dif-
                                               ficulté (à l’aide de quelques développements) à résoudre des problèmes de pro-
                                               filage utilisateur (qui dans le groupe aime quel type de film ?) ou de filtrage col-
                                               laboratif (dis-moi les films que tu as vus et je te dirai si tu aimeras telle ou telle
                                               nouveauté). Les possibilités sont multiples comme nous allons le voir dans le
                                               cahier des charges (et comme vous pourrez le constater dans le dernier chapitre,
                                               évoquant les possibilités d’amélioration de l’application présentée dans cet
                                               ouvrage).
                                               Dans ce cahier, nous avons choisi de traiter le problème au travers de l’élabora-
                                               tion d’une application de gestion de films sur support DVD pouvant être
                                               échangés au sein d’un groupe d’amis ou familial (mais dont la taille n’est pas
                                               fixée a priori). « CineDVD » sera le nom de baptême de cette application.
                                               Cette application n’abordera qu’une petite partie de la problématique du partage,
                                               en se limitant notamment à un processus d’échanges postulant la confiance et uti-
                                               lisant surtout les messages électroniques pour signifier les demandes de prêts.
                                               Après ce bref tour du sujet, essayons de formaliser nos desiderata au sein d’un
                                               léger mais fonctionnel cahier des charges.

                                               Le cahier des charges
                                               Les paragraphes qui suivent ont pour objectif de présenter dans les grandes
                                               lignes ce que fera l’application développée, ceci en suivant les deux plans pré-
                                               sentés plus haut : la gestion de DVD ainsi que leur échange.

                                               Un point de modélisation : la séparation films/DVD
                                               De la qualité du système de gestion des films et des DVD dépendra l’intérêt de
                                               notre application. Afin de pouvoir gérer finement les DVD, nous avons fait un
                                               choix crucial : séparer l’aspect « gestion de films » de l’aspect « gestion de
                                               DVD », pour deux raisons évidentes :
                                                • sur le plan de l’exactitude de la modélisation, un film est une entité que l’on
                                                   peut considérer comme « immatérielle » alors qu’un DVD est une
                                                   « instanciation matérielle » d’un film : ce sont les DVD qui sont échangés et
                                                   non les films ;
                                                • cette séparation permet de faire évoluer l’application vers la gestion d’autres
                                                   types de médias.
                                               Ces réflexions ont des conséquences essentielles sur le plan de la modélisation
                                               informatique et du codage de l’application, comme nous pourrons le constater
                                               au fil de l’étude de cas.
                                               Entrons maintenant dans le vif des fonctionnalités.

                                           4                                                                        © Eyrolles, 2002
1 – Introduction, présentation et cahier des charges
La gestion de films et de DVD
Nous abordons ici la liste des données retenues pour caractériser les objets gérés
(films et DVD) et les actions qui seront possibles sur ces derniers.

Caractéristiques prises en charge pour les films et les DVD
Nous retiendrons les caractéristiques suivantes pour un film :
 • « titre de la version française » : cela peut être soit le titre de la version origi-
   nale si le film est français, ou le titre de la version française si le film est
   d’origine étrangère ;
 • « titre de la version originale » : c’est le titre du film dans sa version « non
   française », c’est-à-dire que le titre d’un film français sera placé dans la case
   « titre de la version française » et que cette case-ci sera alors laissée vide ;
 • « année de sortie en salle » : c’est l’année de la première sortie en salle ;
 • « durée du film » : c’est la durée du film indiquée avec une précision pouvant
   aller jusqu’à la seconde (différente de la durée d’un DVD) ;
 • « réalisateur(s) » : le ou les réalisateurs du film ;
 • « pays de production » : c’est le pays d’origine du film, ou les pays s’il s’agit
   d’une collaboration internationale ;
 • « genre du film » : cela correspond à(aux) la(les) catégorie(s) dans la(les)quelle(s)
   le film entre (les sous-catégories ne sont pas prises en compte, mais l’on pourra
   affecter plusieurs catégories à un film et ainsi le caractériser finement).

  Où trouver la date de sortie exacte                  Notons qu’il existe aussi une « zone 0 ». On        • « coffret (ou autre format hors-norme) » : ce
  d’un DVD ?                                           désigne par là les DVD qui passent sur tous les       sont les coffrets qui regroupent plusieurs
  Pour connaître la date exacte de sortie d’un         lecteurs du globe.                                    DVD, ou tout autre boîtier bizarre inclassa-
  DVD, il suffit de se rendre sur la base des DVD                                                            ble.
                                                       Petit lexique des types de boîtiers DVD
  français : DVDfr. Ce site d’information sur les                                                          Petit lexique des types d’éditions DVD
                                                       • « keep-case » : c’est le format le plus cou-
  sorties françaises de DVD est aussi une base de
                                                         rant, en plastique (gris anthracite, transpa-     • « standard » : caractérise une édition
  références contenant plusieurs milliers de
                                                         rent ou coloré) ; il est parfois placé dans un       lorsqu’elle est unique ou l’édition classique
  titres.
                                                         sur-étui ;                                           lorsqu’il en existe d’autres ;
  B http://www.dvdfr.com/
                                                       • « snap-case » : c’est le format utilisé par       • « spéciale », « prestige », « premium » :
  Les zones DVD                                          Warner en France, qui se caractérise par une         qualifient une édition (ou réédition) un peu
  Avant de séparer les marchés sur le plan inter-        ouverture à l’aide d’une languette sur le            mieux dotée que la normale (ou que les
  national (et pour limiter le piratage), la planète     côté ;                                               précédentes) ;
  a été divisée en six zones. Un lecteur de DVD        • « digipack » : ce sont de jolis boîtiers dérou-   • « collector » : désigne une édition riche en
  (du moins ceux vendus actuellement) ne peut            lables (notamment utilisés pour les éditions         bonus ou au contenu cinématographique
  lire que les DVD de sa zone (en théorie) :             dites « collector » ; souvent placés dans un         exceptionnel ;
  • Amérique du Nord (États-Unis et Canada) ;            fourreau de protection ;                          • « limitée » : qualifie une édition limitée
  • Europe, Moyen-Orient, Afrique du Sud, Japon ;      • « maxi-jewel » : c’est un boîtier CD classi-         dans le temps ;
  • Asie de l’Est ;                                      que de taille un peu plus grande ;                • « numérotée » : qualifie une édition limitée
  • Amérique Centrale, Amérique du Sud, Aus-           • « pochette » : elle peut être cartonnée ou           en quantité.
      tralie et Nouvelle Zélande ;                       plastique et accompagne les DVD que l’on          Les types d’éditions peuvent être combinés
  • Afrique, Ex-URSS, continent indien ;                 trouve dans les magazines ou ceux envoyés         (avec quelques restrictions).
  • Chine.                                               par la poste.

© Eyrolles, 2002                                                                                                                                        5
Les Cahiers du programmeur PHP/MySQL (1)

                                                                                                  Cela peut paraître restrictif, mais c’est presque déjà trop : il est rare en effet que
                                           Ce nombre de renseignements peut paraître très
                                                                                                  tous les utilisateurs prennent le temps de compléter l’intégralité des cases, alors
                                           limité pour caractériser un DVD, car nous n’avons      autant limiter à l’essentiel ! Pour cette raison, seul le titre du film sera obligatoire.
                                           pas pris en compte un nombre important de rensei-      Pour les DVD, les données seront évidemment plus techniques :
                                           gnements utiles : les formats vidéo (ratio image et
                                           présence d’un traitement anamorphique), les for-
                                                                                                   • « titre » : le titre du boîtier DVD, généralement le même que le film, mais
                                           mats audio (type d’encodage et nombre de                   qui peut-être différent lorsqu’il s’agit d’un coffret regroupant plusieurs
                                           canaux), les formats de DVD, les possibilités multi-       films (seule caractéristique obligatoire, comme pour le titre des films) ;
                                           angles, les bonus DVD-ROM, les labels (THX…), le        • « date de sortie » : la date de sortie exacte du (coffret) DVD (jour/mois/
                                           bitrate, les sous-titres ou les captions… Rappelons
                                                                                                      année) ;
                                           qu’il s’agit dans ce cahier d’apprendre à construire
                                           une application plus que de se pencher sur le pro-      • « nombre de DVD » : le nombre de DVD contenus dans le boîtier, film(s) et
                                           blème « métier » que constitue la gestion de DVD.          bonus ;
                                           Le lecteur intéressé par ce domaine pourra sans
                                                                                                   • « zone » : la zone à laquelle appartient le DVD (zone 2 en général pour les
                                           problème prendre en charge ses informations dans
                                           une version personnelle de l’application.                  DVD français…) ;
                                                                                                   • « boîtier » : le type de boîtier DVD ;
                                                                                                   • « édition » : le type d’édition DVD ;
                                                                                                   • « film(s) » : le ou les film(s) contenu(s) dans le boîtier DVD.
                                                                                                  Notons aussi le problème spécifique des coffrets DVD, comme le montrent les
                                                                                                  exemples suivants :
                                           En savoir plus sur les termes techniques
                                                                                                   • un coffret peut contenir d’autres boîtiers (keep-case ou digipack) ;
                                           B http://www.cinestore.com/html/lexique.php             • un coffret peut être un seul gros digipack ;
                                                                                                   • un coffret peut contenir un keep-case et un livre (sans compter les bandes ori-
                                                                                                      ginales de films).
                                                  Une application plus complète
                                                                                                  Tous ces cas de figure pourraient être pris en compte, mais nous préférerons la
                                           Le dernier chapitre contient bien d’autres idées
                                                                                                  simplicité : nous les placerons dans la catégorie « coffret ou autre format hors-
                                           d’évolution pour l’application. Le site de l’auteur
                                           contient d’ailleurs une version disposant de plus de   norme » (voire digipack pour certains) et les autres boîtiers « simples » contenus
                                           fonctionnalités, téléchargeable.                       à l’intérieur ne seront pas pris en compte : on fera comme si les films
                                                                                                  « appartenaient » directement au coffret.

                                                                                                  Opérations possibles
                                                                                                  La seule opération possible sur les films et les DVD sera l’ajout (figure 1–1,
                                                                                                  figure 1–2). Ces ajouts se feront au travers d’assistants tels qu’on les rencontre
                                                                                                  sur les plates-formes Windows ou Linux.

                                                              Figure 1–1 CineDVD : ajout d'un film                                   Figure 1–2 CineDVD : ajout d'un DVD

                                              6                                                                                                                            © Eyrolles, 2002
1 – Introduction, présentation et cahier des charges
On aura ainsi un assistant d’ajout de films et un assistant d’ajout de DVD, le
second pouvant faire appel au premier si, lors de l’ajout d’un DVD, le film cor-
respondant n’est pas encore dans la base (figure 1–3).

         Figure 1–3 CineDVD : possibilité d'ajout de films lors de l'ajout de DVD

Nous verrons que des modifications minimes seront possibles pour l’administra-
teur de l’application. Dans tous les cas, le lecteur voulant disposer de fonctions
de modifications avancées ou de suppression devra les développer lui-même (ce
qui est relativement simple).

Consultation des données
On proposera une fonction de consultation de la base permettant d’afficher la
liste complète des DVD présents. On affichera le titre du DVD ainsi que le réa-
lisateur du film. L’affichage pourra se faire sur plusieurs pages, avec cinq, dix,
vingt ou cinquante DVD par page. Un membre inscrit pourra visualiser ses
DVD personnels. Il est possible de cliquer sur chaque entrée DVD affichée
dans une liste et d’avoir ainsi accès à la fiche complète dudit DVD, associée aux
fiches complètes des films contenus sur le ou les supports (figure 1–4).

         Figure 1–4 CineDVD : une fiche DVD avec la fiche du film correspondant

© Eyrolles, 2002                                                                     7
Les Cahiers du programmeur PHP/MySQL (1)

                                                                            Moteur de recherche des films présents dans la base
                                                                            Un moteur de recherche permettra de retrouver des films particuliers présents
                                                                            dans la base (figure 1–5). La recherche pourra s’effectuer par titre (version fran-
                                                                            çaise ou originale), année de sortie, réalisateur, pays ou genre. On pourra indé-
                                                                            pendamment du critère de recherche classer les résultats suivant un second cri-
                                                                            tère, qui sera pris dans le même ensemble que les critères de recherche : titre
                                                                            (version française ou originale), année de sortie, réalisateur, pays ou genre.

                                                                                                   Figure 1–5 CineDVD : recherche de films

                                                                            Le critère de recherche sera constitué d’une série de caractères successifs à
                                                                            rechercher dans une des caractéristiques de tous les films de la base.
                                                                            Le moteur de recherche offrira indirectement la possibilité d’afficher tous les
                                                                            films disponibles si aucun critère de recherche n’est saisi (figure 1–6).

                                                                            L’échange de DVD et la gestion du groupe
                                                                            L’échange de DVD sera géré le plus simplement du monde via un classique sys-
                                                                            tème de gestion d’objets prêtés puis rendus.

                                                                            Gestion des membres du groupe et sécurisation
                                                                            Pour chaque individu, on retiendra les caractéristiques suivantes :
                                                                             • nom ;
                                                                             • prénom ;
                                                                             • identifiant (login) ;
                                                                             • mot de passe (password) ;
                                                                             • adresse e-mail.
                                                                            L’identifiant servira à désigner un utilisateur de façon plus concise mais sera sur-
                                                                            tout utilisé en complément du mot de passe pour l’authentifier auprès du sys-
                                                                            tème. En effet, ne pourront accéder à l’application CineDVD que les personnes
                                                                            ayant saisi dès le début un bon couple (identifiant, mot de passe). Un utilisateur
                                               CineDVD : authentification   pourra facilement être créé pour permettre à des membres externes au groupe de

                                           8                                                                                                    © Eyrolles, 2002
1 – Introduction, présentation et cahier des charges
         Figure 1–6 CineDVD : affichage de tous les films (recherche sans critère)

visionner la base, mais aucun mécanisme ne sera mis en place pour les empêcher
d’ajouter des informations. L’ajout d’utilisateur sera uniquement permis pour
une personne ayant un rôle particulier, à savoir celui d’administrateur de la base
applicative. Les adresses e-mails serviront par la suite aux membres pour com-
muniquer dans le cadre de la gestion des prêts et des retours.

                   Figure 1–7 CineDVD : ajout d'un nouvel utilisateur

Gestion des prêts et des retours
Pour emprunter un DVD, il suffira d’aller dans sa fiche et de le marquer comme
emprunté. Un lien permettra aussi de contacter la personne possédant le DVD
pour lui demander s’il est possible d’effectuer « dans les faits » l’emprunt. Cela
suppose que tout DVD marqué comme emprunté pourra l’être : on anticipe

© Eyrolles, 2002                                                                     9
Les Cahiers du programmeur PHP/MySQL (1)

                                                                                                donc en fait sur l’emprunt, mais ce raccourci simplifie le système de prêt. Un
                                                                                                propriétaire de DVD pourra accéder à un menu lui permettant d’afficher la liste
                                                                                                des DVD qu’il a prêtés avec le nom de la personne concernée. De façon iden-
                                                                                                tique, tout membre aura l’opportunité de consulter la liste des DVD qu’il a chez
                                                                                                lui mais qui ne lui appartiennent pas, avec le nom des propriétaires.
                                                                                                La prise en charge des retours sera similaire. En allant dans la fiche d’un DVD,
                                                                                                on le marquera à l’aide d’un bouton comme rendu et l’on pourra contacter le
                                                                                                propriétaire pour organiser le retour. Les fonctionnalités étant fixées, passons à
                                                                                                l’étude des technologies qui seront utilisées pour les réaliser.

                                                                                                Le choix des technologies et des outils
                                                                                                Jusqu’ici nous n’avons envisagé que l’aspect fonctionnel de notre application
                                                                                                sans jamais nous soucier de l’aspect technologique. Nous allons maintenant
                                                                                                aborder ce point des plus importants, en regardant les solutions de gestion de
                                                                                                bibliothèques existantes.

                                                                                                Quelques-unes des solutions actuelles
                                                                                                Remarquons tout d’abord qu’il existe plusieurs grandes classes de solutions logi-
                                                             Les sites Web                      cielles au problème de la gestion et de l’échange d’objets de façon collaborative :
                                           B http://www.microsoft.com/france/access/             • une première classe qui est constituée d’outils bureautiques : rentrent dans
                                             default.asp                                            cette catégorie les systèmes de gestion de bases de données (SGBD) bureau-
                                           B http://www.microsoft.com/france/excel/
                                                                                                    tiques (dont l’incarnation par excellence est Microsoft Access) et les tableurs
                                             default.asp
                                           B http://www.gnome.org/projects/gnumeric/
                                                                                                    (Microsoft Excel sous Windows ou Gnumeric sous Linux) ;
                                                                                                 • une seconde classe qui rassemble des outils logiciels spécifiquement conçus
                                                                                                    pour la gestion de bibliothèques partagées.
                                                           Types de logiciels                   Cette dernière catégorie est en fait très vaste : on y trouve tout à la fois des logi-
                                           Voir le chapitre suivant pour une description des
                                                                                                ciels propriétaires (payants ou gratuits) et des logiciels libres, ces derniers pou-
                                           différents types de logiciels, notamment les gra-    vant soit être orientés vers la résolution du problème « métier » (la gestion colla-
                                           tuits.                                               borative d’objets), soit vers la démonstration d’une technologie à même de
                                                                                                résoudre ce genre de problème.
                                                                                                On peut aussi grouper ces diverses solutions suivant le modèle technologique
                                                                                                utilisé, qui peut-être :
                                                                                                 • une base de données gérée sur un poste local prenant en compte les échanges
                                                                                                    via des propriétés des fiches DVD ;
                                            La communication d’égal à égal ou P2P
                                                                                                 • une base de données centralisée, par exemple sur un site Web, accessible à
                                           Sous ce terme se cache un modèle d’architecture          tous les membres ;
                                           pour les applications distribuées. Chacun des mem-
                                           bres d’un réseau P2P constitue un nœud et peut
                                                                                                 • une base de données distribuée : ici aussi la base de données est gérée sur un
                                           fournir des services ou des ressources aux autres        poste local, mais grâce (par exemple) à un système de type « communication
                                           (informations, espace de stockage ou puissance de        d’égal à égal » (P2P, Peer to Peer) toutes les bases personnelles sont accessi-
                                           calcul).                                                 bles à tous les membres.

                                             10                                                                                                                      © Eyrolles, 2002
1 – Introduction, présentation et cahier des charges
Pour mieux prendre connaissance des solutions technologiques retenues en                                   Freshmeat
général, tournons-nous vers le site Freshmeat contenant une base rassemblant            Un site de référence pour les passionnés de veille
un grand nombre de logiciels libres disponibles à l’heure actuelle.                     technologique, à consulter tous les jours pour être
En y effectuant une recherche sur « DVD » dans les projets, on trouve neuf pro-         au courant des dernières nouveautés ou mises à
jets intéressants (la technologie utilisée est indiquée).                               jour de logiciels dans le monde du libre.
                                                                                        B http://www.freshmeat.net/
                                                                 Tableau 1–1

 Projet                                       Adresse du projet                         Technologies
 The DVD Database Project                     http://dvddbp.sourceforge.net/            PHP/MySQL|PostgreSQL
 DVD Database                                 http://globalmegacorp.org/dvddb/          PHP/MySQL
 MovieMate                                    http://moviemate.sourceforge.net/         PHP/MySQL
 PhpVideoPro                                  http://www.qumran.org/homes/izzy/         PHP/MySQL|PostgreSQL
 PhpDVD                                       http://ugo.scarlata.it/?pid=phpdvd        PHP/MySQL
 PHP_Film                                     http://phpfilm.netpecos.org/              PHP/PostgreSQL
 VideOrasis                                   http://go.to/videorasis/                  QT
 Wuff’s MovieDB                               http://wuffs-moviedb.sourceforge.net/     PHP/MySQL

Sur plate-forme Windows, citons le logiciel freeware DVD Profiler (http://
www.intervocative.com/dvdpro/)qui permet d’utiliser un logiciel client pour gérer ses                   Plus de logiciels
DVD mais qui peut se connecter à une base de données centralisée pour aller             Sur plate-forme Windows, une liste très complète
chercher des fiches DVD déjà élaborées.                                                 de logiciels prenant en charge, plus ou moins bien,
On peut faire plusieurs remarques :                                                     le problème de la gestion de bibliothèque peut être
                                                                                        trouvée sur le site telecharger.com.
  • le binôme PHP/MySQL est omniprésent (on trouve quelques utilisations                B http://telecharger.01net.com/windows/
    du serveur de base de données PostgreSQL, mais c’est anecdotique) ;                    Bureautique/gestion_k7_dvd_cd_vin/
  • les solutions fonctionnant sur le Web représentent quasiment la majorité (on
    compte une seule application tournant sous Linux avec les widgets QT) ;
  • ces solutions sont toutes gratuites et pour la plupart disponibles avec le code
    source (c’est de toute façon le type de logiciels référencés par Freshmeat) ;
  • si on étudie les fiches techniques de ces logiciels, on s’aperçoit que le pro-
    blème du partage des DVD n’est pas vraiment pris en compte (sauf pour
    DVD Profiler qui en fait son point fort).
Ces constatations nous confortent dans l’idée qu’une solution « presque tout
gratuit » est viable. Il semble en outre que le choix du serveur de bases de don-                         Comprendre
nées MySQL aille de lui-même, comme le langage PHP pour écrire le code de               Ce trio est présenté en détail au chapitre suivant.
l’application. Enfin, on ne peut parler de ces deux outils sans les associer au ser-
veur Web Apache.
Notons que l’utilisation d’un outil comme Microsoft Access pourrait aussi avoir
du bon s’il n’était pas si cher. Même si l’on désire employer une base Access sur
un serveur Web pour la rendre accessible au membre d’un groupe, il se posera
toujours le problème de trouver un hébergeur peu cher, performant et compa-
tible avec la plate-forme Microsoft. Cette recherche est quasiment impossible si
l’on se positionne dans une optique « presque tout gratuit », jusqu’à l’hébergeur.

© Eyrolles, 2002                                                                                                                      11
Les Cahiers du programmeur PHP/MySQL (1)

                                                                                   Une orientation « presque tout gratuit »
                                                                                   Pour le développement de cette application, nous allons essayer de n’utiliser que
                                                                                   des logiciels gratuits tout en veillant à ce qu’ils conservent une qualité profes-
                                                                                   sionnelle. Cette orientation est possible car il existe actuellement bon nombre
                                                                                   de logiciels non payants qui égalent ou surpassent leurs concurrents commer-
                                                                                   ciaux. Le choix de ces outils fera donc partie intégrante de l’étude de cas. Ils se
                                                                                   répartissent en trois catégories :
                                                                                     • l’environnement de développement au sens large, c’est-à-dire tous les logi-
                                                                                       ciels permettant de faciliter la vie du développeur mais qui ne sont pas à pro-
                                                                                       prement parler des outils de développement, comme les clients FTP, les
                                                                                       outils d’archivage ou les éditeurs de texte ;
                                                                                     • l’environnement de développement au sens strict côté client, c’est-à-dire les
                                                                                       outils que nous utiliserons pour construire l’application ;
                                                                                     • l’environnement de développement au sens strict côté serveur rassemblant
                                                                                       les serveurs qui permettront de faire fonctionner notre logiciel (évoqués plus
                                                                                       haut).
                                                                                   Les deux premiers types de logiciels sont présentés dans les annexes A et B, et
                                                                                   les serveurs le sont dans le chapitre 2.
                                                                                   En fait une seule partie de l’environnement échappera à cette logique du « tout
                                                                                   gratuit » : le système d’exploitation. Nous présupposerons dans l’étude de cas
                                                                                   que les développements s’effectuent sur plate-forme Windows (95, 98, Me, NT,
                                                                                   2000 ou XP), ce système d’exploitation ayant la plus large base installée chez les
                                                                                   particuliers, car étant bien souvent fourni en standard pour tout achat d’un ordi-
                                                                                   nateur personnel. L’ombre des Unix gratuits (Linux, FreeBSD, OpenBSD, etc.)
                                                                                   planera pourtant sur ce cahier : tous les serveurs sélectionnés seront en fait des
                                                         Les Unix gratuits         versions Windows des serveurs les plus répandus dans le monde Unix. Tout lec-
                                           B http://www.linux.org/ (par exemple)   teur familier du monde Linux n’aura cependant aucun problème à transposer
                                           B http://www.freebsd.org/               l’étude de cas sur ce système d’exploitation.
                                           B http://www.openbsd.org/

                                                                                   Guide de lecture
                                                                                   Cette première approche de l’application nous a permis d’entrevoir les points
                                                                                   principaux qui seront étudiés dans les chapitres suivants. N’ayez pas peur si cer-
                                                                                   tains termes techniques vous ont échappés, ils seront expliqués par la suite !
                                                                                   Afin de faciliter votre lecture, vous pouvez suivre le guide de lecture ci-après.

                                             12                                                                                                       © Eyrolles, 2002
1 – Introduction, présentation et cahier des charges
        Phase
     introductive                                                       Annexe A
                                                             Préparation de la trousse à outils

                                     Chapitre 1                                                            Chapitre 2
                              Introduction, présentation
                                                                                             Installation de l’infrastructure serveur
                                et cahier des charges

                                                                          Annexe B
                                                                 Les outils du développeur

        Base
     de données                                                                                            Chapitre 4
                                     Chapitre 3
                                                                                                 Création et première utilisation
                                 Conception de la base
                                                                                                  de la base avec MySQL-Front

     PHP/MySQL                     Chapitre 5                                                         Chapitre 6
                             Connexion à la base DVDs                                    Premières opérations sur la base DVDs
                                avec PHP/MySQL                                           avec PHP/MySQL, JavaScript et XHTML

   Développement                     Chapitre 7                                                           Chapitre 8
                            Interface générale, gestion                                             Consultation de la base
                       des utilisateurs, des films et des DVD                                       et moteur de recherche

                    Il peut être intéressant d’effectuer
                    le plus tôt possible les démarches
                    pour l’ouverture des comptes
                    chez un hébergeur...                                                                  Chapitre 9
                                                                                               Installation chez un hébergeur,
                                                                                                    bilan et perspectives

                                                      Figure 1–8 Guide de lecture du livre

© Eyrolles, 2002                                                                                                                        13
Vous pouvez aussi lire