INSTITUT DE LA FRANCOPHONIE ÉCOLE NATIONALE SUPÉRIEURE POUR L’INFORMATIQUE DES TÉLÉCOMMUNICATIONS MÉMOIRE DE FIN D’ÉTUDES Construire un système de gestion de conférence (SGC) PHAM Duc Long Promotion 9 - IFI Hanoi, Avril 2006 TIEU LUAN MOI download : skknchat@gmail.com Table des matières Remerciements .2 Structure du rapport .1 Architecture du système.1 Analyse des exigences de métiers.2 Analyse des exigences fonctionnelles.3 Base de données.1 L’interface du système.2 Base de données.5 Paiement en ligne avec Paypal.1 Introduction du PayPal .2 Paiement en ligne à Paypal pour RIVF. 38 3 Analyse des résultats .2 SGC en comparaison avec les autres outils. 44 i TIEU LUAN MOI download : skknchat@gmail. 45 ii TIEU LUAN MOI download : skknchat@gmail.com Liste des figures Figure 2-1: Architecture du SGC.
2 Figure 2-2: L’état d’utilisation de PHP des années dernières. 3 Figure 2-3: L’état d’utilisation des langages de programmation. 4 Figure 2-4: Diagramme de cas d’utilisation de l’administrateur. 10 Figure 2-5: Diagramme de cas d’utilisation du responsable.
11 Figure 2-6: Diagramme de cas d’utilisation du comité. 12 Figure 2-7: Diagramme de cas d’utilisation de l’auteur. 13 Figure 2-8: Diagramme de cas d’utilisation de l’utilisateur. 14 Figure 2-9: Diagramme d’activité du SGC.
17 Figure 2-10: Diagramme de séquence Ajouter des comités. 18 Figure 2-11: Diagramme de séquence Ajouter une session. 19 Figure 2-12: Diagramme de séquence Choisir les comités. 20 Figure 2-13: Diagramme de séquence Soumettre un papier.
21 Figure 2-14: Diagramme de séquence Assigner les papiers. 22 Figure 2-15: Diagramme de séquence Evaluer un papier. 23 Figure 2-16: Diagramme de séquence Décider un papier. 24 Figure 2-17: Diagramme de séquence S’inscrire à la conférence.
25 Figure 2-18: Schéma des tables principales de la base de données du SGC. 26 Figure 2-19: Gérer les comités. 27 Figure 2-20: Ajouter une session. 28 Figure 2-21: Modifier une session.
28 Figure 2-22: Choisir comités pour la session. 29 Figure 2-23: Assigner un papier aux comités. 29 iii TIEU LUAN MOI download : skknchat@gmail.com Figure 2-24: Evaluer un papier. 30 Figure 2-25: Soumettre un papier.
30 Figure 2-26: S'inscrire à la conférence. 31 Figure 2-27: Une transaction très simple utilisant PayPal. 36 Figure 2-28: Paiement à PayPal. 36 Figure 2-29: L’information de paiement à RIVF.
38 Figure 2-30: Paiement à PayPal pour RIVF. 39 Figure 3-1: Les papiers soumis. 41 Figure 3-2: Les auteurs. 41 iv TIEU LUAN MOI download : skknchat@gmail.com Remerciements Je voudrais tout d’abord remercier mon grand chef: le Docteur Patrick Bellot, professeur de l’Ecole Nationale Supérieure des Télécommunications (ENST) à Paris, pour m’avoir proposé le stage, pour sa patience dans les premiers jours où je n’étais pas efficace et enfin pour m’avoir donné des conseils tout au long de mon stage.
En suite, je tiens à remercier mes amis, mes collègues: DANG Minh Dung, LE Quoc Cuong, PHAM Viet Tan Nguyen, DINH Anh Minh, qui m’ont partagé les moments inoubliables à Paris. Je voudrais également remercier les professeurs de l’Institut de la Francophonie pour l’Informatique (IFI) et les personnels de l’IFI qui m’ont donné des soutiens pendant mes études. Enfin, un grand merci à ma famille et mes amis qui m’encouragent tout le temps dans ma vie. v TIEU LUAN MOI download : skknchat@gmail.com Résumé A l’occasion de la conférence RIVF’06, nous avons développé un système (SGC) pour l’organisation de conférence basé sur WWW et sur le système de la base de données.
Ce rapport décrit l’analyse, la conception, l’implémentation et l’évaluation du système SGC. Mots-clefs: gestion de conférence, responsable de session, comité, auteur, soumission de papier, évaluation de papier, assigner un papier aux comité Abstract In the context of the organization of RIVF’06, we have developed a system (SGC) for conference organization based on World Wide Web and data base system. This report describes analysis, design, implementation and evaluation of the system. Keywords: conference management, track chair, committee, author, paper submission, paper evaluation, assign paper to committee vi TIEU LUAN MOI download : skknchat@gmail.1 Motivations RIVF'06 offre l'opportunité pour les jeunes informaticiens de discuter de problèmes et de partager leurs résultats en informatique, d'identifier de nouveaux problèmes ainsi que de créer de nouvelles voies pour la recherche et l'innovation.
Pour les organisateurs d'un tel événement, c'est un honneur à être responsable, mais il comporte également beaucoup de choses à faire. Par exemple: lancer le Call for paper, collecter les papiers, assigner les papiers aux comités, collecter les évaluations, envoyer les notifications aux auteurs, gérer les inscriptions des participants etc. Le système SGC a pour but d’aider les organisateurs de faire tels travaux. Il supporte tous les fonctionnalités principales d’un système de gestion de conférence: soumettre le papier, assigner les papiers, évaluer les papiers, informer à l’auteur les notifications de son papiers, s’inscrire à la conférence.
Avec ce système, les organisateurs peuvent gérer facilement la conférence.2 Structure du rapport Ce rapport se divise en 4 parties: chapitre 1 est l’introduction; chapitre 2 s’agit de la solution, dans ce chapitre, nous abordons l’architecture du système, les analyses des exigences, les outils utilisés; chapitre 3 présente les résultats, les utilisations du système et une petite comparaison avec les autres. Chapitre 4 est la conclusion. 1 TIEU LUAN MOI download : skknchat@gmail.1 Architecture du système L’architecture du système a 3 couches: navigateur de web, serveur de web et serveur de la base de données. L’utilisateur prend le navigateur de web pour accéder au système via l’Internet.
Le protocole de communication entre le navigateur et le serveur est HTTP. Le mécanisme du système est très simple: d’abord, le navigateur envoie son requête au serveur, et puis, le serveur accède directement au serveur de la base de données, en suit, il envoie au navigateur les données. Figure 2-1: Architecture du SGC Nous avons décidé d’utiliser le langage PHP et le système de la base de données MySQL qui sont décrits en détail dans la section suivante. 2 TIEU LUAN MOI download : skknchat@gmail.1 Qu’est ce PHP PHP a une définition récursive: PHP: Hypertext Processor.
Mais, en réalité, son premier nom est: Personal Home Page Tools. PHP est un langage de script côté serveur inclus dans HTML. PHP est créé par Rasmus Lerdorf, un ingénieur qui fait partie de l’équipe développement d’Apache. La première partie de PHP est construite en 1994.
En 1997, il y avait 50.000 sites utilisant PHP. En 1998, ce numéro était 100. En 2000, il était 1. Et maintenant, il est environ 22.
La figure suivante va illustrer la croissant d’utilisation de langages PHP dans les années dernières. Figure 2-2: L’état d’utilisation de PHP des années dernières.php) 3 TIEU LUAN MOI download : skknchat@gmail.com L’utilisation de PHP par rapport aux autres langages: Figure 2-3: L’état d’utilisation des langages de programmation (Source: http://www.2 Les jolies raisons pour utiliser PHP PHP est gratuit: PHP ne coûte rien. Pas un dollar, pas un euro. Rien au départ, rien pendant la durée de la vie de l’application, et rien à la fin.
Le développement, le serveur, la gestion de la base de données, le support, tous sont gratuits. PHP est simple: Le syntaxe de PHP est simple, PHP est donc facile à apprendre. Pourtant, on ne peut pas utiliser les outils pour générer le code source de PHP, ils sont écrits à la main. PHP est incorporé: PHP vient s’incorporer dans HTML.
L’incorporation de PHP dans HTML a plusieurs conséquences utiles comme: PHP peut être rapidement ajouté à du code produit par un éditeur HTML graphique; PHP se prête de lui-même a une division du travail entre concepteurs graphiques et développeur de scripts; PHP peut réduire les coûts de développement et améliorer son efficacité. 4 TIEU LUAN MOI download : skknchat@gmail.com PHP n’a pas besoin de compilation: C’est un point fort du type de langage de script, il n’est pas nécessaire d’une compilation en code binaire avant tester ou déployer une application. Il suffit de l’écrire et de la lancer. PHP est disponible sur plusieurs plates-formes: PHP est disponible en natif pour Unix et pour Windows (la plupart des serveurs HTTP fonctionne sous l’un de ces types de système d’exploitation).
PHP est aussi compatible avec les serveurs Web populaires: Apache HTTP Server, Microsoft Internet Information Server et Netscape Enterprise Server. PHP de plus en plus populaire: PHP devient rapidement l’une des solutions de développement dite «à deux étage» (Web et données). Les deux figures au-dessus illustrent la croissance de PHP. En résumé, PHP n’est pas la panacée à tous les problèmes de développement Web, mais il a de nombreux avantages.
Il est fait par des développeurs Web et pour des développeur Web.2 MySQL MySQL est devenue la base de données open source la plus populaire au mode grâce à sa performance, sa haute fiabilité et sa simplicité d’utilisation. On la trouve dans plus de 8 millions d’installations, dans les grandes entreprises transnationales comme au sein d’applications embarquées spécialisées, sur tous les continents de la planète. Non seulement MySQL est la base de données open source la plus populaire au monde, mais elle est également devenue le choix de prédilection de toute une nouvelle génération d'applications construites sur la plate-forme LAMP (Linux, Apache, MySQL, PHP / Perl / Python. MySQL fonctionne sur plus de 20 plates-formes, notamment Linux, Windows, OS/X, HP-UX, AIX ou Netware, une polyvalence vous permettant de maîtriser toutes les situations.[2] Les jolies raisons pour utiliser MySQL: Montée en charge et flexibilité: Le serveur de base de données MySQL offre les meilleures performances en termes de montée en charge.
Il est capable de gérer des applications embarquées n’utilisant qu' 1 Mo de mémoire comme des entrepôts de données de grande taille contenant plusieurs téraoctets d'information. La polyvalence des plates- formes est l'un des points forts de MySQL, qui fonctionne sur toutes les déclinaisons de 5 TIEU LUAN MOI download : skknchat@gmail.com Linux, UNIX ou Windows. Et, bien sûr, sa nature open source autorise une personnalisation complète pour les utilisateurs désirant ajouter des fonctionnalités spécifiques au serveur de base de données. Des performances élevées: Une architecture unique de moteur de stockage permet aux professionnels des bases de données de configurer le serveur MySQL de façon spécifique pour certaines applications, avec pour résultat des performances stupéfiantes.
Que l'application envisagée soit un système de traitement de transactions à haut débit ou un site Web à fort volume servant un milliard de requêtes par jour, MySQL peut répondre aux demandes de performance les plus exigeantes. Grâce à ses utilitaires de charge à haute vitesse, ses mémoires cache caractéristiques, son indexation en texte intégral et à d'autres mécanismes d'amélioration des performances, MySQL offre la puissance de feu nécessaire aux systèmes professionnels névralgiques d'aujourd'hui. Haute disponibilité: Une fiabilité à toute épreuve et une disponibilité constante sont la marque de fabrique de MySQL. C'est pourquoi ses utilisateurs lui font confiance pour garantir un fonctionnement sans faille de leurs systèmes.
MySQL offre une grande diversité d'options de haute disponibilité, depuis des configurations de réplication maître/esclave à haut débit jusqu'aux serveurs spécialisés en clusters offrant des fonctions de basculement instantané, en passant par des solutions de haute disponibilité proposées par nos partenaires. Un support transactionnel solide: MySQL offre l’un des moteurs de bases de données transactionnelles les plus puissants du marché. Il est pourvu de fonctionnalités complètes de support de transaction ACID (atomique, constant, isolé, durable), d’une fonction de verrouillage de ligne illimitée, de capacités de transactions distribuées et d’un support de transactions multi-version dans lequel les opérations de lecture ne bloquent jamais celles d’écriture et vice-versa. L’intégrité complète des données est également assurée par une fonction d’intégrité référentielle via le serveur, par des niveaux spécialisés d’isolation de transactions et par la détection instantanée des blocages.
De puissantes fonctionnalités Web et d’entreposage de données: MySQL est le standard lorsqu’il s’agit de sites web à fort trafic en raison de son moteur de requêtes à hautes performances, de ses capacités d’insertion de données phénoménalement rapides et de ses fonctions web spécialisées telles que la recherche rapide en texte intégral.