les cahiers du programmeur. php/mysql [1].

138 downloads 1664 Views 773KB Size Report
programmeur et mettre en avant les principales technologies qui seront utilisées. ... Ce cahier du programmeur traitant de PHP/MySQL prend pour prétexte la.
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 PHP/MySQL

1

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 C Fonctionnalités

Application de gestion de DVD 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 simplement é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 comprendre 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 partitions 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 susciter 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 informations 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 rassemblant 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 Certaines personnes possèdent un certain nombre (limité) d’objets et sou-

haitent pouvoir accéder à une collection plus grande en piochant dans les collections des membres du groupe auquel elles appartiennent. 2 Le groupe doit être bien identifié et les échanges doivent être si possible

« sécurisés ».

Même si les échanges d’objets sont monnaie courante dans la vie de tous les jours, les codes qui les régissent ne sont pas toujours simples à mettre en lumière. On s’en aperçoit d’ailleurs très vite quand un groupe s’échangeant des objets grossit et qu’il faut mettre en place des règles claires (voire strictes) permettant au système de conserver de sa fluidité.

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 descriptions 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 disposent 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 vidéo, les CD audio ou des supports plus récents comme les DVD vidéo et les DVD audio. Nous savons tous que le nombre de médias présents dans une collection personnelle croît très vite (surtout lorsqu’on est fan d’un certain groupe 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 souvent 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

Rappelons que l’échange de DVD n’est autorisé que dans le cadre restreint de la famille. La gestion d’une DVDthèque personnelle est la fonction principale de l’application développée.

3

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 :

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 difficulté (à l’aide de quelques développements) à résoudre des problèmes de profilage utilisateur (qui dans le groupe aime quel type de film ?) ou de filtrage collaboratif (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’élaboration 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 utilisant 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 originale 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 d’un DVD ? Pour connaître la date exacte de sortie d’un DVD, il suffit de se rendre sur la base des DVD français : DVDfr. Ce site d’information sur les sorties françaises de DVD est aussi une base de références contenant plusieurs milliers de titres. B http://www.dvdfr.com/

Les zones DVD Avant de séparer les marchés sur le plan international (et pour limiter le piratage), la planète a été divisée en six zones. Un lecteur de DVD (du moins ceux vendus actuellement) ne peut lire que les DVD de sa zone (en théorie) : • Amérique du Nord (États-Unis et Canada) ; • Europe, Moyen-Orient, Afrique du Sud, Japon ; • Asie de l’Est ; • Amérique Centrale, Amérique du Sud, Australie et Nouvelle Zélande ; • Afrique, Ex-URSS, continent indien ; • Chine.

© Eyrolles, 2002

Notons qu’il existe aussi une « zone 0 ». On désigne par là les DVD qui passent sur tous les lecteurs du globe.

Petit lexique des types de boîtiers DVD • « keep-case » : c’est le format le plus courant, en plastique (gris anthracite, transparent ou coloré) ; il est parfois placé dans un sur-étui ; • « snap-case » : c’est le format utilisé par Warner en France, qui se caractérise par une ouverture à l’aide d’une languette sur le côté ; • « digipack » : ce sont de jolis boîtiers déroulables (notamment utilisés pour les éditions dites « collector » ; souvent placés dans un fourreau de protection ; • « maxi-jewel » : c’est un boîtier CD classique de taille un peu plus grande ; • « pochette » : elle peut être cartonnée ou plastique et accompagne les DVD que l’on trouve dans les magazines ou ceux envoyés par la poste.

• « coffret (ou autre format hors-norme) » : ce sont les coffrets qui regroupent plusieurs DVD, ou tout autre boîtier bizarre inclassable.

Petit lexique des types d’éditions DVD • « standard » : caractérise une édition lorsqu’elle est unique ou l’édition classique lorsqu’il en existe d’autres ; • « spéciale », « prestige », « premium » : qualifient une édition (ou réédition) un peu mieux dotée que la normale (ou que les précédentes) ; • « collector » : désigne une édition riche en bonus ou au contenu cinématographique exceptionnel ; • « limitée » : qualifie une édition limitée dans le temps ; • « numérotée » : qualifie une édition limitée en quantité. Les types d’éditions peuvent être combinés (avec quelques restrictions).

5

Les Cahiers du programmeur PHP/MySQL (1)

Ce nombre de renseignements peut paraître très limité pour caractériser un DVD, car nous n’avons pas pris en compte un nombre important de renseignements utiles : les formats vidéo (ratio image et présence d’un traitement anamorphique), les formats audio (type d’encodage et nombre de canaux), les formats de DVD, les possibilités multiangles, les bonus DVD-ROM, les labels (THX…), le bitrate, les sous-titres ou les captions… Rappelons qu’il s’agit dans ce cahier d’apprendre à construire une application plus que de se pencher sur le problème « métier » que constitue la gestion de DVD. Le lecteur intéressé par ce domaine pourra sans problème prendre en charge ses informations dans une version personnelle de l’application.

En savoir plus sur les termes techniques B http://www.cinestore.com/html/lexique.php

Une application plus complète Le dernier chapitre contient bien d’autres idées d’évolution pour l’application. Le site de l’auteur contient d’ailleurs une version disposant de plus de fonctionnalités, téléchargeable.

Cela peut paraître restrictif, mais c’est presque déjà trop : il est rare en effet que tous les utilisateurs prennent le temps de compléter l’intégralité des cases, alors autant limiter à l’essentiel ! Pour cette raison, seul le titre du film sera obligatoire. Pour les DVD, les données seront évidemment plus techniques : • « titre » : le titre du boîtier DVD, généralement le même que le film, mais qui peut-être différent lorsqu’il s’agit d’un coffret regroupant plusieurs films (seule caractéristique obligatoire, comme pour le titre des films) ; • « date de sortie » : la date de sortie exacte du (coffret) DVD (jour/mois/ année) ; • « nombre de DVD » : le nombre de DVD contenus dans le boîtier, film(s) et bonus ; • « zone » : la zone à laquelle appartient le DVD (zone 2 en général pour les 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 : • un coffret peut contenir d’autres boîtiers (keep-case ou digipack) ; • un coffret peut être un seul gros digipack ; • un coffret peut contenir un keep-case et un livre (sans compter les bandes originales de films). Tous ces cas de figure pourraient être pris en compte, mais nous préférerons la simplicité : nous les placerons dans la catégorie « coffret ou autre format horsnorme » (voire digipack pour certains) et les autres boîtiers « simples » contenus à 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

6

Figure 1–2 CineDVD : ajout d'un DVD © 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 correspondant 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’administrateur 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éalisateur 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 critè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 système de gestion d’objets prêtés puis rendus.

Gestion des membres du groupe et sécurisation

CineDVD : authentification

8

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 surtout utilisé en complément du mot de passe pour l’authentifier auprès du systè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 pourra facilement être créé pour permettre à des membres externes au groupe de © 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 communiquer 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 identique, 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 Les sites Web B http://www.microsoft.com/france/access/

default.asp B http://www.microsoft.com/france/excel/

default.asp B http://www.gnome.org/projects/gnumeric/

Types de logiciels Voir le chapitre suivant pour une description des différents types de logiciels, notamment les gratuits.

La communication d’égal à égal ou P2P Sous ce terme se cache un modèle d’architecture pour les applications distribuées. Chacun des membres d’un réseau P2P constitue un nœud et peut fournir des services ou des ressources aux autres (informations, espace de stockage ou puissance de calcul).

10

Remarquons tout d’abord qu’il existe plusieurs grandes classes de solutions logicielles au problème de la gestion et de l’échange d’objets de façon collaborative : • une première classe qui est constituée d’outils bureautiques : rentrent dans cette catégorie les systèmes de gestion de bases de données (SGBD) bureautiques (dont l’incarnation par excellence est Microsoft Access) et les tableurs (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. Cette dernière catégorie est en fait très vaste : on y trouve tout à la fois des logiciels propriétaires (payants ou gratuits) et des logiciels libres, ces derniers pouvant soit être orientés vers la résolution du problème « métier » (la gestion collaborative 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 ; • une base de données centralisée, par exemple sur un site Web, accessible à tous les membres ; • une base de données distribuée : ici aussi la base de données est gérée sur un poste local, mais grâce (par exemple) à un système de type « communication d’égal à égal » (P2P, Peer to Peer) toutes les bases personnelles sont accessibles à tous les membres. © Eyrolles, 2002

Freshmeat Un site de référence pour les passionnés de veille technologique, à consulter tous les jours pour être au courant des dernières nouveautés ou mises à 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:// qui permet d’utiliser un logiciel client pour gérer ses DVD mais qui peut se connecter à une base de données centralisée pour aller chercher des fiches DVD déjà élaborées. On peut faire plusieurs remarques : • le binôme PHP/MySQL est omniprésent (on trouve quelques utilisations du serveur de base de données PostgreSQL, mais c’est anecdotique) ; • 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 problè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 données MySQL aille de lui-même, comme le langage PHP pour écrire le code de l’application. Enfin, on ne peut parler de ces deux outils sans les associer au serveur 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 compatible 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. www.intervocative.com/dvdpro/)

© Eyrolles, 2002

Plus de logiciels Sur plate-forme Windows, une liste très complète de logiciels prenant en charge, plus ou moins bien, le problème de la gestion de bibliothèque peut être trouvée sur le site telecharger.com. B http://telecharger.01net.com/windows/ Bureautique/gestion_k7_dvd_cd_vin/

Comprendre Ce trio est présenté en détail au chapitre suivant.

11

1 – Introduction, présentation et cahier des charges

Pour mieux prendre connaissance des solutions technologiques retenues en général, tournons-nous vers le site Freshmeat contenant une base rassemblant un grand nombre de logiciels libres disponibles à l’heure actuelle. En y effectuant une recherche sur « DVD » dans les projets, on trouve neuf projets intéressants (la technologie utilisée est indiquée).

Les Cahiers du programmeur PHP/MySQL (1)

Une orientation « presque tout gratuit »

Les Unix gratuits B http://www.linux.org/ (par exemple) B http://www.freebsd.org/ B http://www.openbsd.org/

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é professionnelle. Cette orientation est possible car il existe actuellement bon nombre de logiciels non payants qui égalent ou surpassent leurs concurrents commerciaux. 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 logiciels permettant de faciliter la vie du développeur mais qui ne sont pas à proprement 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 ordinateur 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 versions Windows des serveurs les plus répandus dans le monde Unix. Tout lecteur familier du monde Linux n’aura cependant aucun problème à transposer l’étude de cas sur ce système d’exploitation.

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 certains 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 Introduction, présentation et cahier des charges

Chapitre 2 Installation de l’infrastructure serveur

Annexe B Les outils du développeur

Base de données

Chapitre 4 Création et première utilisation de la base avec MySQL-Front

Chapitre 3 Conception de la base

PHP/MySQL

Chapitre 5 Connexion à la base DVDs avec PHP/MySQL

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

Développement

Chapitre 7 Interface générale, gestion des utilisateurs, des films et des DVD

Chapitre 8 Consultation de la base 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