PHP/MYSQL 1 LES CAHIERS DU PROGRAMMEUR - JEAN-PHILIPPE LEBOEUF
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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