Documentation Technique

Dimension: px
Commencer à balayer dès la page:

Download "Documentation Technique"

Transcription

1 Documentation Technique TD8 Legendary Heroes La documentation technique a pour but de permettre à un développeur non familier avec le projet Legendary Heroes de comprendre les aspects techniques et prendre en main le code existant. Ce document contient des diagrammes expliquant le fonctionnement du projet, de descriptions des modules ainsi que le recensement des différents problèmes rencontrés au cours du développement.

2 Description du document Titre Documentation technique Legendary Heroes Date 20/03/2013 Auteurs Login Mail Xu Long Long xu_l Weiwen Yu yu_w Philippe Tian tian_p Franck Ibrahima ibrahi_f Jean Thai thai_j Paul Morel morel_e Tableau des révisions Date Version Auteur(s) Section(s) Commentaires 20/03/ yu_w, tian_p, ibrahi_f, morel_e, thai_j, xu_l Toutes Création du document 31/05/ Ibrahi_f IV.1.A Mise à jour des technologies partie client jeu 31/07/ thai_j VI.11.1, VI.11.2, VI.11.3, 15 Déploiement sites sur serveur web. Mise à jour des méthodes implémentées. 24/10/ thai_j VI.13 Mise à jour de la structure base de données 2014/01/ Yu_w Correction et ajout mineur 1

3 Table des matières Description du document... 1 Tableau des révisions... 1 I. Introduction au projet... 5 II. Architecture, buts et contraintes Objectifs spécifiques ayant un impact sur l architecture Contraintes fonctionnelles Contraintes non fonctionnelles... 6 III. Vue Déploiement... 7 IV. Partie jeu Introduction... 8 A. La partie client... 8 V. Partie serveur Technologie utilisées Implémentation a. Démarrage du serveur b. Interface c. Réseau d. Protocole e. Matchmaking f. Session de jeu g. Base de données Diagramme base de données Legendary Heroes VI. Sites internet Introduction de la partie site internet Diagrammes cas d utilisation Technologies utilisées

4 5. Frameworks utilisés Environnement de développement Implémentation Arborescence du domaine Configuration des sous-domaines Les Bundles Les contrôleurs FFFGamesHeaderBundle : HeaderController FFFGamesWebsiteBundle : PortalController FFFGamesLegendaryHeroesBundle : WebsiteController Structure template Base de données Table «user» Table «friends» Table «messages» Table «temporary_registration» Table «admin» Table «chat_rooms» Table «game_website» Table «news» Table «pass_retrieval» Table «profile» Modules Site Portail 3FGames Connexion a. Informations b. Diagramme d activité c. Diagramme de séquence Création de compte a. Informations b. Diagramme d activité c. Diagramme de séquence Site Legendary Heroes

5 Lancement du jeu a. Informations b. Diagramme d activité c. Diagramme de séquence Déploiement sites internet Debian Windows VII. Annexes Release Note Bug Log

6 I. Introduction au projet L Epitech Innovative Project (ou EIP) correspond au projet de fin d étude à l Epitech. Les étudiants doivent ainsi concevoir et réaliser un projet informatique sur deux ans qui validera la réalisation technique mais aussi les qualités de gestion, d organisation et de communication à la fin de leurs études. En plus de l aspect technique d un projet informatique, les étudiants doivent rendre le projet commercialisable via l élaboration d un business plan ainsi que de la publicité du projet. Dans le cadre de l EIP, notre équipe réalise le projet Legendary Heroes. Ce projet consiste à la réalisation d un portail de jeu en ligne, communautaire, le thème familial. Il permet aux personnes désirant passer du temps en groupe, en famille ou simplement se divertir, de se regrouper et/ou rejoindre une communauté de joueur. Plusieurs jeux vont être proposés aux joueurs, étant axé sur le thème familial, ces jeux seront comparables à des jeux de cartes ou jeux de société. Le projet Legendary Heroes se divise actuellement en deux parties distinctes : - Le portail de la communauté 3FGames: Le portail est un site internet permettant aux joueurs de s inscrire et être guidé vers les jeux en ligne disponibles. D autres fonctionnalités telles que la gestion de compte, l ajout d amis et la messagerie vont être développées. - Le jeu Legendary Heroes : Legendary Heroes est un jeu de carte en ligne et sera le 1 er jeu disponible sur le portail 3FGames. Chacun des jeux en ligne posséderont leurs propres sites internet leurs permettant de se différencier et produira un environnement plus distinctif et immersif pour l utilisateur sur chaque jeu. 5

7 II. Architecture, buts et contraintes 1. Objectifs spécifiques ayant un impact sur l architecture Les objectifs spécifiques ayant un impact sur l architecture : - le projet doit être utilisable sur plusieurs types de base de données - le projet doit être utilisable sur plusieurs types de système d exploitation - le projet doit pouvoir accueillir un grand nombre d utilisateur simultanément - le site doit être stable et fiable 2. Contraintes fonctionnelles Les contraintes fonctionnelles qui ont un impact sur l architecture : - possibilité que plusieurs utilisateurs se connectent sur le site portail - possibilité que plusieurs utilisateurs se connectent dans un jeu - consultation du site par un et plusieurs utilisateurs - l utilisateur doit pouvoir jouer à un jeu via le navigateur - l utilisateur doit pouvoir quitter une session de jeu à n importe quel moment - l utilisateur doit pouvoir jouer même avec une vitesse de connexion réduit 3. Contraintes non fonctionnelles Les contraintes non fonctionnelles qui ont un impact sur l architecture : - accès au site web et jeux sur différents systèmes d exploitation - accès au site web et jeux sur différents navigateur - le jeu doit pouvoir jouer de la musique - l utilisateur doit pouvoir modifier ses informations personnelles - l utilisateur doit pouvoir communiquer avec d autres joueurs lors des sessions de jeux - l utilisateur doit pouvoir envoyer et recevoir des messages privés - le site doit présenter un très bon design - le site doit être rapide à charger 6

8 III. Vue Déploiement L utilisateur (Poste Client), à partir de son navigateur internet doit se connecter soit depuis le site portail ou depuis un site de jeu. La base de données est séparée en deux parties, la base de données portail contenant les informations générales du compte utilisateur (mot de passe, , etc.) et la base de données jeu contenant les composants du jeu (objets, cartes, etc.) ainsi que les informations du joueur par rapport au jeu concerné (classement, exploits, etc.). Le navigateur internet doit avoir un lecteur Flash installé au préalable afin d exécuter le jeu contenu dans le site jeu. L exécutable communique avec un serveur de jeu qui s assure de la communication et la synchronisation entre tous les joueurs. Le serveur de jeu a la possibilité d interroger les bases de données afin de récupérer les informations concernant les joueurs. 7

9 IV. Partie jeu 1. Introduction Le jeu est séparé en deux parties distinctes : - Une partie client, qui utilise la technologie Flash - Une partie serveur, qui est codé avec le langage de programmation C++ A. La partie client La partie client utilise Aswing pour créer du contenu 2d. Aswing est un API surtout destiné au développement de l'interface graphique de jeu. API très complet, permettant de développer des jeux les plus simples aux jeux flash les plus complexes. L'utilisation de cette API permet d'utiliser la carte graphiqe afin d'accélérer la vitesse et la puissance du client de jeu. De plus, nous utilisons Robotlegs, un api qui permet de développer notre application client sous l'architecture MVC. Le choix de robotlegs est sans équivoque un choix judicieux puisque il permet de mieux structurer le code, de bien différencier les différentes parties du programme et de les intégrer rapidement et assez facilement. Pour plus d'informations sur cette technologie, vous pouvez jeter un coup d'œil sur le site officiel L image ci-dessous montre l organisation de code source dans la partie client : On a le package par défaut, qui contient une classe qui est le point d entrée de progamme, cette classe sera appelée automatiquement au lancement par Flash Player. 8

10 Le package assets contient tous les sources externes nécessaires pour le jeu, comme les images, les sons, les sprites... Puis on a un package LegendaryHeros qui contient tous les codes sources du jeu, qui est divisé en plusieurs sous packages. Le client est lancé au moment où l'utilisateur ouvre la page de jeu sur notre site portail. Dès le lancement du client, LegendaryHeroes est instancié et est exécuté automatiquement. Cette classe permet d instancier la classe GameStartMenu, qui est une classe fille de Sprite et qui permet d'afficher dans ce cas-là, notre menu du jeu. 9

11 Lorsqu un utilisateur identifié lance le jeu, le site portail envoie au client Flash le ID de l utilisateur, cet ID sera reçu par la classe WebsiteCommnicator, qui s occupe de la communication entre le site web et le client. Le message envoyé par le siteweb est capté par l event ExternalInterface.addCallback, qui va appeler à son tour la fonction SendToJavascript, dans la SendToJavascript, un event est créé pour alerter la classe principale GameScreen pour lui passer l'id du client, la classe GameScreen va, dans ce cas, essayer de communiquer avec le serveur de jeu pour récupérer les information du joueur qui correspond à cette ID, et ensuite le menu de jeu est affiché. Pour la communication entre le client et le serveur de jeu, on utilise le protocle TCP/IP, la donnée à envoyer est sous format XML, la communication entre le serveur est assurée par le package Network dans le LegendaryHeroes Package. 10

12 La classe Connection dans le package Network instancie Flash.Net.Socket pour la communication en TCP/IP. Les données entre le serveur sont sous format XML, ces données sont créées et traitées par les fonctions dans le package XMLManager. La classe DataCreator dans le package XMLManager s occupe de créer les différents types de donnée XML à envoyer. Par exemple la création de donnée XML pour le requête au serveur sur les informations de joueur dans la base de donnée de jeu, ou les informations sur les logiques de jeu. Pour traiter les données XML envoyées par le serveur, la classe DataProcess dans le package XMLManager s occupe de de-sérialiser et de traiter ces informations afin de créer des events pour signaler à des fonctions qui s occupent de faire l affichage visuelle au joueur. 11

13 V. Partie serveur Le serveur a deux fonctionnalités : permettre aux joueurs de jouer et l'administration des parties via une interface en ligne de commandes. 1. Technologie utilisées Le serveur est programmé avec le langage de programmation C++. Nous utilisons la bibliothèque Boost::Asio pour la gestion du réseau. Pour des raisons de performance le serveur est multi threadé grace à Boost::Thread. Les requêtes en base de données sont exécutées avec la bibliothèque MySQL Connector/C++. En parallèle du serveur de jeu un serveur de base de données MySQL est déployé sur la même machine. Toutes ces technologies sont portables. Ainsi même si le projet est actuellement configuré pour Visual Studio 2010 il est facile de le porter sur les systèmes UNIX et MAC. 2. Implémentation a. Démarrage du serveur Lors de l exécution du binaire de serveur la classe Server est instancié et sa routine de lancement est appelée. Routine de lancement du serveur : void Server::run(void) { // Start the client listening routine in background startaccept(); running = true; // Start console in background boost::thread thread(boost::bind(&server::console, this)); } // Run io network service while (running) io.run_one(); b. Interface Il est possible d interagir avec le serveur en local en envoyant des commandes sur son entrée standard. Le serveur répond actuellement à de simples commandes telles que quit. Le but est d'ajouter des commandes affichant les statistiques des clients connectés et des parties en cours. 12

14 c. Réseau Au démarrage le serveur écoute sur le port 4242 avec un socket TCP. Lancement du serveur (main.cpp) Server server(io); server.listenonport(4242); server.run(); Chaque nouveau client est associé à une instance de la classe RemoteClient. class RemoteClient { public: // Initialise a Client handler for the given network service RemoteClient(boost::asio::io_service & io); // Retrieve low level socket boost::asio::ip::tcp::socket & getsocket(void); // Start the request hanling process void start(void); // Set a new callback to be called when a packet is received void setpacketreceivedcallback(packetreceivedcallback callback); // Send data to the remote client void sendpacket(const RemoteClient::Packet & packet); }; Cette classe est responsable des opérations réseau asynchrone liés à ce client. À la connexion d'un joueur l'instance RemoteClient est gérée par la classe Server. void Server::handleAccept(RemoteClient * client) { // Add the new client to the connected clients list. addclient(client); // Start new client networking routine client->start(); // Restart the listener for more incoming clients. startaccept(); } Le client est alors placé dans un lobby géré par la classe Server en attendant de le lié à une session de jeu. d. Protocole Les clients communiquent avec le serveur avec par protocole XML. Le protocole XML est parsé par un système générique convertissant les données xml en liste de std::string. 13

15 Le protocole est défini par des instances de la classe XmlFormat initialisé comme tel dans la classe RemoteClient : // protocol is the action list of the protocol // XmlFormat is a parse tree of the xml of the request protocol["connection_result"] = XmlFormat("LegendaryHeroes").attribute("type_info").child( XmlFormat("Connection_result").attribute("result")); Pour étendre le protocole il faut donc ajouter une entrée dans la variable RemoteClient ::protocol en définissant le format de la requête avec XmlFormat. Actuellement le protocole est découpé en deux parties : Les échanges dans le lobby et les échanges dans une partie. Liste des requêtes réseaux avant d'entrer dans une partie (lobby) : Connection : Connexion au serveur de jeu Connection_result : Réponse du serveur JoinQueue : Jouer, entre dans la file d attente JoinQueueResult : Réponse du serveur CancelQueue : Quitte la file d'attente ListFriend : Récupère la liste d'ami ListFriendResult : Réponse du serveur ListCards : Obtenir la liste des cartes possédées ListCards : Réponse du serveur SubmitDeck : Mettre à jour le nouveau deck SubmitDeck : Réponse du serveur Reconnect : Requête client de reconnexion Reconnect : Réponse du serveur Disconnect : Déconnexion du client 14

16 Liste des requêtes réseaux au cours d'une partie : PreStart : Envois des infos de jeu des joueurs au début de la partie ChoosePerso : Le serveur propose des rôles au client ChoosePerso : Le client choisi un rôle ChosenPerso : Le serveur informe chaque client de du rôle de chacun PickCards : Le serveur envoie le résultat d'une pioche BeginTurn : Le serveur informe tout le monde quel joueur commence à jouer EndTurn : Le joueur informe la fin de son tour PlayCard : Le joueur joue une carte PlayCard : Le serveur informe chaque client qu'une carte a été jouée AffectedPlayCard : Un joueur joue une carte en contre AffectedPlayCard : Le serveur informe chaque client qu'une carte est jouée en contre PlayerLeft : Un joueur se déconnecte PlayerLeft : Le serveur informe chaque client de la déconnexion d'un joueur PlayerDead : Le serveur informe tous les clients de la mort d'un joueur GameEnd : Le serveur informe tous les clients que la partie est terminée RecoTO : Le serveur informe tous les clients qu'un client s'est reconnecté ou qu'il a été éjecté (timeout) SendTxt : Un joueur envoie un message sur le chat SendTxt : Le serveur transmet le message à tous les clients La classe Server parse et exécute les requêtes XML reçues concernant les joueurs qui ne sont pas dans une partie. 15

17 e. Matchmaking Quand un joueur fait une requête pour lancer une partie le serveur tente de réunir des joueurs selon leur niveau pour commencer une partie. Pour déterminer le niveau des joueurs le serveur récupère le grade des joueurs stocké dans la BDD MySQL. Le matchmaking est également basé sur le temps d'attente afin de ne pas laisser un joueur d'un niveau différent attendre trop longtemps. Lorsqu'une partie est créée le serveur instancie la classe GamePart. Cette classe représente la durée de vie d'une partie. Elle stocke tous les RemoteClient des joueurs participant. La classe GamePart notifie chacun de ses RemoteClient qu'elle gère à présent leurs requêtes réseau. f. Session de jeu La session de jeu correspond au jeu en cours, et possède donc une boucle de jeu gérant les différents mécanismes de LegendaryHeroes, tel que: - la distribution des cartes de rôle et de personnage - le positionnement sur la table de jeu - la distribution des cartes de jeu (la pioche de jeu et le tas de défausse) - la gestion du tour par tour et des timers - la gestion réseau des envoie et réception de paquets traduit en action de jeu grâce à la classe Client La classe qui représente la session de jeu est GamePart. 16

18 1. Classe représentant la session de jeu class GamePart { public: GamePart(); //constructeur par défaut, non utilisé GamePart(list<Client>, int gamesize); //constructeur prenant la liste des clients et la taille de la game ~GamePart(); //destructeur void GamePart::setClientdata(list<Client>); //fonction qui stocke les infos de clients dans le vecteur groupe de l'objet. void GamePart::ChoosePerso(Protocole proto); //Fonction protocole pour sauvegarder le choix du perso void GamePart::EndTurn(Protocole proto); //Fonction protocole prenant en compte la fin de tour d'un joueur void GamePart::PlayCard(Protocole proto); //Fonction protocole d'un joueur jouant une carte void GamePart::AffectedPlayCard(Protocole proto); //Fonction protocole d'un joueur jouant une carte en contre void GamePart::PlayerLeft(Protocole); //Fonction protocole annonçant la déconnexion d'un joueur void GamePart::SendTxt(Protocole); //Fonction protocole envoie d'un message sur le chatbox en jeu void GamePart::parsingGame(Protocole proto); //Parseur de Fonction protocole et traitement par une map de méthodes. void GamePart::initialize(); //Initialisation du ptr sur méthode. bool GamePart::IsMyTurn(int); //Fonction renvoyant si le tour actuel est bien le tour du joueur en paramètre void GamePart::launchboucle(); //Lancement de la boucle de jeu void GamePart::setClientRole(); //Attribution des rôles des joueurs par un algo de hasard simuler. protected: std::vector<joueur> groupe; //Vector contenant les infos des clients du groupe de jeu int gamesize; //taille de la partie actuelle int touractuel; //numéro du tour du joueur actuel. }; 17

19 2. Classe représentant le joueur et le client enum Role // les différents rôles jouable dans LegendaryHeroes. { AUCUN, EMPEREUR, FIDELE, REBELLE, TRAITRE, REINE }; class Joueur { public: Joueur(); //constructeur par défaut ~Joueur(); //destructeur par défaut int Joueur::getAttack(); //getter du nombre d'attaque disponible(0-1 ou infini) int Joueur::getCharacterid(); //getter de l'id de la carte personnage choisi Role Joueur::getRole(); //getter du rôle int Joueur::getNbcards(); //getter du nb de carte dans la main void Joueur::setAttack(int ); //setter du nb d'attaque void Joueur::setCharacterid(int ); //setter de l'id personnage void Joueur::setRole(Role); //setter du rôle int id; //id du joueur int playerspot; //position du joueur sur la table de jeu int Joueur::getRange(); //getter de la portée d'attaque void Joueur::setRange(int); //setter de la portée d'attaque protected: std::string pseudo; //pseudo du joueur int attack; //nombre d'attaques disponibles int characterid; //id du personnage Role role; //rôle joué std::list<int> *hands; //liste contenant les cartes de la main int range; //portée d'attaque du joueur std::vector<int> *equipped; //cartes équipées au joueur }; 18

20 3. Classe représentant une carte de jeu (différent de la carte de rôle et la carte personnage) enum actif //représente les caractéristiques actif d'une carte de jeu { NOT = 0, BANGATK, VOL, DETRUIT, PRISON, SOIN }; enum reactif //représente les caractéristiques de contre d'une carte de jeu { NONE = 0, BANGDEF, RATE, LASTCHANCE }; class Carte { public: bool _multi; //multi pour savoir si la carte est jouable sur un joueur adverse ou non bool _solo; //solo pour savoir si utilisable sur soi même int _portee; // portée -1 = infini 0 = dépend de la portée du joueur et 1+ = portée fixe de la carte }; 19

21 g. Base de données Le serveur Legendary Heroes dispose d'une connexion à une base de données MYSQL. De nombreuses informations seront stockées dans la base de données notamment la liste des joueurs qui se sont inscrits au jeu, les statistiques des joueurs, les logs, les parties jouées. Toutes ces données seront essentielles au bon fonctionnement du jeu, mais surtout, elle permettra aux joueurs d'accéder à de nombreuses informations concernant par exemple son historique de jeu ou bien d'avoir accès à la boutique du jeu, mais également de voir le profil des autres joueurs. Détails techniques : Pour pouvoir communiquer avec la base de donnée, le serveur de jeu doit instancié une classe nommée Database, une fois instancié et donc connecté au serveur MySQL, il pourra lancer des requêtes grâce à la fonction Resquest(const std::string &) prenant en paramètre la requête à effectuer. Par exemple "Database->Request("SELECT FROMPlayer WHERE 1")". De plus la classe Database dispose de requête prédéfini vers la base de données afin de simplifier la lisibilité du code et mais surtout de mieux gérer les informations lorsqu'il y'a des données à récuperer. Voici des exemples de fonctions prédéfinis: - static void GetProfil(Database *, Player *) => fonction qui récupère les informations du joueur concerné. - static void SetPlayerInGame(Database *, const Player *) => fonction qui va indiquer que le joueur est en pleine partie de jeu. - static void CreateReport(Database *, const Report *) => fonction qui va permmettre de créer un report lorsque joueur rencontre un problème dans le jeu par exemple. - static void SetPlayerOnline(Database *, const Player *) => fonction qui va connecter le joueur en ligne - static void CreateRoom(Database *, const Room *) => fonction qui va permettre d'indiquer qu'une room de jeu viens tout juste d'être crée. Afin d'améliorer les performances du serveur face aux nombreuses requêtes, s'il y'a plusieurs requêtes en même temps, la classe Database est threadé, les requêtes sont stockées dans une file d'attente jusqu'à qu'elle soit traité et si la requête demande à ce que des valeurs soient retournées, un signal est automatiquement envoyé au thread ou à la classe afin de récupérer les données. 20

22 Diagramme base de données Legendary Heroes 21

23 VI. Sites internet 2. Introduction de la partie site internet Les sites internet sont les portes d entrées menant les utilisateurs aux jeux disponibles. Deux catégories de sites internet sont apercevables dans le projet : - Site Portail 3FGames : Le site portail est un site gérant l inscription de l utilisateur au sein de la communauté. L utilisateur aura la possibilité de gérer son compte à partir de ce site, accéder aux jeux disponibles depuis une liste de sélection mais aussi de consulter l actualité des jeux qui sont centralisée sur ce portail. Le site portail ne contient aucun jeu en soi et ne redirige que l utilisateur vers les sites jeux depuis une liste de sélection. - Sites jeu : Chaque jeu possède un site propre à eux où une présentation et les règles de jeu y sont expliquées. C est à partir de ce site que le joueur pourra accéder au jeu. Tous les sites possèdent un module utilisateur correspondant à un en-tête qui comporte les fonctionnalités principales de l utilisateur (connexion, sélection du jeu, consultation des messages). 3. Diagrammes cas d utilisation Diagramme cas d utilisation site jeu 22

24 Diagramme cas d utilisation site portail 23

25 4. Technologies utilisées Technologie xhtml/css PHP JavaScript Commentaires Langage de formatage classique permettant de créer des pages internet. PHP permet de rajouter la composante dynamique des pages internet, il permet l élaboration de pages internet intelligente pouvant récupérer et traiter des données demandé à l utilisateur. D autres technologies son équivalent à PHP tel que Java J2EE et C#.Net mais le manque de portabilité de ce dernier et les nombreux failles de Java nous fait préférer utiliser PHP pour ce projet pour le moment. JavaScript nous permet d animer les pages internet afin de les rendre agréable à utiliser pour l utilisateur (par exemple une animation au passage de la souris ou des chargements de pages dynamique). 5. Frameworks utilisés Framework Symfony2 JQuery Commentaires Le framework Symfony2 impose une norme de développement MVC structurant le code afin de faciliter la maintenance de celui-ci. PHP étant un langage relativement libre de notation, il est donc impératif d utiliser ce framework qui impose un style de programmation objet du même niveau que J2EE ou C#.Net JQuery est un framework de JavaScript simplifiant l utilisation de ce dernier. Il rajoute des fonctionnalités permettant l utilisation d AJAX qui permet le chargement de contenu au sein d une même page. 6. Environnement de développement Nous utilisons la suite de logiciel WAMP pour Windows et LAMP pour Linux. Cette suite de logiciel comporte les applications suivantes : - Apache : Serveur internet permettant de traiter les requêtes des clients, le serveur héberge les pages internet. - MySQL : Base de données contenant les informations et données nécessaires au fonctionnement du projet. - PHP : Le module PHP intégré au serveur Apache lui permet d interpréter le code PHP des pages internet. 24

26 7. Implémentation Architecture MVC C est un pattern architectural qui sépare les données (le modèle), l interface homme-machine (la vue) et la logique de contrôle (le contrôleur). Lorsqu un utilisateur consulte un site basé sur cet architecture, le navigateur envoie les requêtes de l utilisateur au site à travers le protocole http, de côté site, la couche contrôleur filtre les commandes par une série de traitement logiques, si la requête passe le filtrage, la couche modèle s engage à interagir avec la base de donnée sur le serveur distant, et elle renvoie à la couche contrôleur des données correspondante à la requête, la couche contrôleur transmit ensuite ces données à la couche vue qui génère une page web au utilisateur. Les trois couches : - Le modèle: Il représente les données de l application. Il définit aussi l interaction avec la base de données et le traitement de ces données. - La vue: Elle représente l interface utilisateur. Elle n effectue aucun traitement en générale et se contente d afficher les données que lui fournit le modèle à travers le contrôleur. Il peut y avoir plusieurs vues qui présentent les données d un même modèle. - Le contrôleur: Il génère l interface entre le modèle et le client. Il va interpréter la requête de ce dernier pour lui envoyer la vue correspondante. Son rôle est donc de récupérer les informations, de les traiter en fonction des paramètres demandés par la vue, puis de renvoyer à la vue les données à afficher. Il effectue la synchronisation entre le modèle et les vues. 25

27 Voici un schéma de l architecture MVC : Avantages / Inconvénients L architecture MVC apporte de réels avantages : Une conception claire et efficace grâce à la séparation des données de la vue et du contrôleur Un gain de temps de maintenance et d évolution du site Une plus grande souplesse pour organiser le développement du site entre différents développeurs (indépendance des données, de l affichage et des actions). Les inconvénients L inconvénient majeur du modèle MVC n est visible que dans la réalisation de petits projets, de site internet de faible envergure. Car la séparation des différentes couches nécessite la création de plus de fichiers (3 fois plus exactement). 26

28 8. Arborescence du domaine Schéma d arborescence du domaine 9. Configuration des sous-domaines Afin d obtenir les sous-domaines pour chaque site jeu (par exemple legendaryheroes.3fgames.fr) il faut modifier le fichier de configuration httpd.conf du serveur Apache. NameVirtualHost * <VirtualHost *> ServerName legendaryheroes.3fgames.fr DocumentRoot /www/3fgames/ </VirtualHost> <VirtualHost *> ServerName DocumentRoot /www/3fgames/ </VirtualHost> Cette configuration permet la prise en compte du sous-domaine depuis le serveur Apache. En plus de la configuration côté serveur web, nous devons aussi modifier les routes à Symfony2 afin de rediriger les requêtes vers les bons contrôleurs dans les fichiers routing.yml. 27

29 fff_games_legendary_heroes_website_homepage: path: / host: legendaryheroes.3fgames.fr defaults: { _controller: FFFGamesLegendaryHeroesWebsiteBundle:Website:index } fff_games_legendary_heroes_website_index: path: /index host: legendaryheroes.3fgames.fr defaults: { _controller: FFFGamesLegendaryHeroesWebsiteBundle:Website:index } Dans cet exemple, la ligne spécifiant host permet au moteur de routes Symfony de rediriger la requête vers le contrôleur du site de jeu lorsque le navigateur accède au domaine legendaryheroes.3fgames.fr. Dans le cas où l utilisateur accède au domaine principal le moteur de route redirigera la requête vers le contrôleur du site portail. Pour plus d informations sur les routes Symfony2, veuillez consulter la documentation. 10. Les Bundles Les Bundles sont des composants de Symfony. Ils permettent de regrouper une partie du site internet facilitant son utilisation au sein de plusieurs pages internet. Dans le framework Symfony, tout code appartient à un bundle, ainsi un bundle peut être un composant réutilisable ou le site internet en lui-même. Le project Legendary Heroes se découpe actuellement en trois bundles différents : - Barre d utilisateur 3FGames : la barre d utilisateur en en-tête de chaque site permettant aux joueurs d accéder rapidement aux fonctionnalités de bases. Il est codé dans le bundle «FFFGamesHeaderBundle», tous les sites doivent inclure ce bundle afin d obtenir l en-tête 3FGames. - Site portail 3FGames : Tout le site portail 3FGames regroupé dans un bundle nommé «FFFGamesWebsiteBundle». - Site jeu Legendary Heroes : De même que pour le site 3FGames, Legendary Heroes est codé dans un bundle nommé «FFFGamesLegendaryHeroesWebsiteBundle». Pour plus d informations sur les bundles Symfony2, veuillez consulter la documentation. 28

30 11. Les contrôleurs Les contrôleurs sont les parties gérants les requêtes du navigateur client lors d un chargement de page. Le projet se compose actuellement des contrôleurs suivants : Diagramme contrôleurs Pour plus d informations sur les contrôleurs Symfony2, veuillez consulter la documentation FFFGamesHeaderBundle : HeaderController Répertoire : /src/fffgames/headerbundle/headercontroller.php Ce contrôleur génère, affiche et gère l en-tête 3FGames sur chaque début de page. Méthode Statut Commentaires getheaderaction() Implémenté Appelée depuis un template, permet de générer l affiche de l en-tête. userloginaction() Implémenté Gère la connexion de l utilisateur. Elle récupère les informations d authentification et vérifie la correspondance des données. Elle créer les données de sessions. userlogoutaction() Implémenté Gère la déconnexion de l utilisateur. Elle détruit les données de sessions. addfriendaction() Implémenté Code gérant l ajout d un ami à la liste de contact de l utilisateur en base de données. deletefriendaction() Implémenté Code gérant la suppression d un ami à la liste de contact de l utilisateur en base de données. openmailboxaction() Implémenté Chargement et affichage de la page de messagerie. sendmessageaction() En cours Gère l envoie d un message vers un ami de l utilisateur. readmessageaction() En cours Chargement d un message de la page de messagerie. deletemessageaction() En cours Suppression d un message de la boite de messagerie. editprofilepageaction() Implémenté Affichage de la page d édition du profile utilisateur. editprofileaction() Implémenté Sauvegarde les modifications du profile utilisateur. 29

31 11.2. FFFGamesWebsiteBundle : PortalController Répertoire : /src/fffgames/websitebundle/controller/portalcontroller.php Ce contrôleur contient le site portail 3FGames, toutes les pages sont gérées par ce contrôleur qui s occupe de les générer. Méthode Statut Commentaires indexaction() Implémenté Génère la page d index du portail. registerpageaction() Implémenté Génère la page d inscription. registeraction() Implémenté Gère l inscription de l utilisateur au portail 3FGames. Le contrôleur vérifie les informations renseignées par l utilisateur et le sauvegarde en base de données temporairement. confirmregistrationaction() Implémenté Gère la finalisation de l inscription de l utilisateur après une confirmation de l utilisateur à partir d un message . creditspageaction() Prévu Génère la page de crédits du portail FFFGamesLegendaryHeroesBundle : WebsiteController Répertoire : /src/fffgames/ LegendaryHeroesWebsiteBundle/Controller/WebsiteController.php Ce contrôleur contient le site de jeu Legendary Heroes, toutes les pages sont gérées par ce contrôleur qui s occupe de les générer. Méthode Statut Commentaires indexaction() Implémenté Génère la page d index du site Legendary Heroes. rulespageaction() Implémenté Génère la page des règles du jeu. creditspageaction() Prévu Génère la page de crédits du site. scorepageaction() Prévu Génère la page de classement utilisateur pour le jeu. 30

32 12. Structure template Le moteur de templates Twig est utilisé afin de mettre en place la vue du modèle MVC dans le framework Symfony2. Voici la composition classique d une page template de tous les sites. Aperçu séparation structurelle d une page Les pages internet sont composés de trois parties distinctes : 1. L en-tête de la page, la même pour toutes les pages, est généré par le contrôleur «HeaderBundle : HeaderController». 2. Le contenu de la page qui est géré par les contrôleurs dédiés à chaque page du site. 3. Le pied de page, la même pour toutes les pages, est une inclusion d un fichier template. 31

33 Le code suivant est le code template utilisé pour reproduire la même disposition. <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title> <!-- Inclusion du titre de la page --> {% block title %}{% endblock %} </title> <!-- Inclusion des feuilles de style --> {% block stylesheets %}{% endblock %} </head> <body> <!-- Inclusion des scripts JavaScript --> {% block javascripts %} {% endblock %} <!-- Appel du contrôleur afin de générer l en-tête --> {% render(controller('fffgamesheaderbundle:header:getheader')) %} <div id="page-content"> <div class="content"> <!-- Inclusion du contenu de la page --> {% block page_content %} {% endblock %} </div> </div> <!-- Inclusion du pied de page --> {% include 'FFFGamesWebsiteBundle:Portal:footer.html.twig' %} </body> </html> Pour plus d informations sur les templates Symfony2, veuillez consulter la documentation. 32

34 13. Base de données Diagramme base de données du site 3FGames Le site portail 3FGames possède une base de données des comptes utilisateurs ainsi que les autres fonctionnalités tels que la base de données des amis, la messagerie et le système d inscription en deux étapes. D autres bases de données existent et correspondent aux données du jeu tel que les objets du jeu, succès du joueur, etc. Tous données de jeu liant à un joueur possède un identifiant permettant de le retrouver parmi la base de données utilisateur de 3FGames Table «user» Colonne id username salt password is_active Commentaires Identifiant unique permettant de différencier chaque entrée. Est une clé primaire. Nom d utilisateur. Chaîne de caractères permettant de chiffrer le mot de passe. Mot de passe utilisateur chiffré en MD-512. Adresse de l utilisateur. Indique si l utilisateur est actuellement en ligne. 33

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian Gestion d une école FABRE Maxime 2015 Sommaire Introduction... 2 I. Présentation du projet... 3 1- Lancement de l application... 3 Fonctionnalités réalisées... 4 A. Le serveur... 4 1 - Le réseau... 4 2

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

TP n 1 : Installation et configuration d un serveur Web Apache

TP n 1 : Installation et configuration d un serveur Web Apache TP n 1 : Installation et configuration d un serveur Web Apache Objectifs du TP Configurer, lancer et administrer le serveur Web Apache sous Linux Machines sous Linux Fedora 14 Fichiers de configuration

Plus en détail

Développer de nouvelles fonctionnalités

Développer de nouvelles fonctionnalités 19 Développer de nouvelles fonctionnalités Chaque site e-commerce est unique. Bien que Magento soit une application riche, des besoins spécifiques apparaîtront et l ajout de modules deviendra nécessaire.

Plus en détail

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1] SISR3 TP 1-I Le service Web [1] Objectifs Comprendre la configuration d'un service Web Définir les principaux paramètres d'exécution du serveur Gérer les accès aux pages distribuées Mettre à disposition

Plus en détail

Tutorat C/Unix : Un Rapido Client/Serveur

Tutorat C/Unix : Un Rapido Client/Serveur Tutorat C/Unix : Un Rapido Client/Serveur Nouredine Melab 1 Description générale du projet 1.1 Objectif L'objectif du projet est de concevoir et de réaliser un jeu de hasard dénommé Rapido. Un serveur

Plus en détail

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Documentation de conception

Documentation de conception Documentation de conception La présente documentation précise les choix de modélisation, détaille les fonctionnalités (en sus de la documentation utilisateur), documente la conception de la base de donnes

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

T. HSU Sécurité des programmes PHP

T. HSU Sécurité des programmes PHP Sécurité des programmes PHP T. HSU IUT de LENS, Département informatique November 13, 2012 Part I Introduction à PHP Fonctionnement 1 : Requète PHP 2 : Aller chercher la page MySQL Page PHP Moteur PHP

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d étude 13 1.1 Présentation générale 13 1.2 Présentation des applications 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR GUIDE D INSTALLATION DE L APPLICATION GECOL SUR SERVEUR WINDOWS INTRODUCTION Le guide d installation qui va suivre va tenter d amener de la simplicité et de centraliser toutes les informations nécessaires

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Gestion du Serveur Web

Gestion du Serveur Web Gestion du Serveur Web Console de gestion du Serveur Web Une console de gestion est disponible dans l'outil de l'administrateur. Cette console de gestion vous permet de configurer les services JetClouding

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Tutoriel compte-rendu Mission 1

Tutoriel compte-rendu Mission 1 Mission 1 : Inventaire de l ensemble du matériel BTS SIO 2 2012/2013 MUNIER Julien Tutoriel compte-rendu Mission 1 Sommaire I - OCS Inventory Agent a) Installation et configuration Agent b) Installation

Plus en détail

Documentation sur l administration web (LAMP) Réalisé par Ruette Charlène, & Petit Antoine

Documentation sur l administration web (LAMP) Réalisé par Ruette Charlène, & Petit Antoine Documentation sur l administration web (LAMP) Réalisé par Ruette Charlène, & Petit Antoine 1 Sommaire: 1) Installation du serveur Lamp en ligne de commande :... 3 2) Présentation de Webmin:... 3 1-Création

Plus en détail

RÉALISATION D UN SITE DE RENCONTRE

RÉALISATION D UN SITE DE RENCONTRE RÉALISATION D UN SITE DE RENCONTRE Par Mathieu COUPE, Charlène DOUDOU et Stéphanie RANDRIANARIMANA Sous la coordination des professeurs d ISN du lycée Aristide Briand : Jérôme CANTALOUBE, Laurent BERNARD

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall Titre Version Date Dernière page Identité du document Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Wampserver pour développement PHP. Installation

Wampserver pour développement PHP. Installation Wampserver pour développement PHP Installation F. Thiberville mars 2015 install wampserver & co v02.docx F. Thiberville Bordeaux Sciences Agro - SPI Page 1/21 I. Architecture générale d un site Web 1.

Plus en détail

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS FOURNIER VINCENT 29/04/2015 1.2 Ce tutoriel est réalisé sous debian 7.7 avec une synchronisation

Plus en détail

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions] Version 2004 Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions] Il vous permet aussi de vous familiariser avec le fonctionnement de

Plus en détail

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières

Plus en détail

PROGRAMME DE MESSAGERIE INSTANTANEE RAPPORT FINAL. Généralités Structure du code Détail de scénarios Précisions de fonctionnement

PROGRAMME DE MESSAGERIE INSTANTANEE RAPPORT FINAL. Généralités Structure du code Détail de scénarios Précisions de fonctionnement PROGRAMME DE MESSAGERIE INSTANTANEE Généralités Structure du code Détail de scénarios Précisions de fonctionnement Paul RICHIER Gautier LETAROUILLY 30/05/2012 SOMMAIRE I Contexte et généralités II Structure

Plus en détail

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés.

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés. Tenrox Guide d intégration Tenrox-Salesforce Janvier 2012 2012 Tenrox. Tous droits réservés. À propos de ce guide Le présent guide décrit les procédures nécessaires pour configurer les paramètres d intégration

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET

Plus en détail

Logiciel de Gestion de Version

Logiciel de Gestion de Version Logiciel de Gestion de Version Git Qu'est-ce qu'un Version Control System (VCS)? Appelé également Logiciel de Gestion de Révision (RCS), un VCS est un outil qui permet de : de suivre l évolution d un code

Plus en détail

WebFTP Un client Web sécurisé pour FTP

WebFTP Un client Web sécurisé pour FTP WebFTP Un client Web sécurisé pour FTP Jirung Albert SHIH, Shih@math.Jussieu.fr Université Paris 7 JRES 2001 Introduction Nous allons dans ce document présenter une solution mise en œuvre sur le réseau

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Laboratoire Télécom&Réseaux TP M1 2005/2006 SECURITE - IPTABLES

Laboratoire Télécom&Réseaux TP M1 2005/2006 SECURITE - IPTABLES SECURITE - IPTABLES Conception d'une zone démilitarisée (DeMilitarized Zone: DMZ) Veuillez indiquer les informations suivantes : Binômes Nom Station ou PC D. Essayed-Messaoudi Page 1 sur 9 TP 4 : Sécurité

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION SOMMAIRE ACCES EX10... 3 CONFIGURATION EX10 A. Entrées DNS à créer sur le(s) nom(s) de domaine choisi(s)... 3 B. Configuration Outlook 2007 - MAPI...

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale.

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale. Version du Date document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale Commentaires 1 Table des matières 1 Introduction / Identification...

Plus en détail

Business Sharepoint Contenu

Business Sharepoint Contenu Business Sharepoint Contenu Comment ajouter un utilisateur BlackBerry? (Business Sharepoint)... 2 Comment démarrer avec Business Sharepoint?... 10 Comment se connecter à son site personnel Business SharePoint?...

Plus en détail

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques Contenu Statique Le client envoie une requête avec un nom de fichier Le serveur répond en lui retournant

Plus en détail

Interactions audio sur le site web du LIA Documentation Technique

Interactions audio sur le site web du LIA Documentation Technique 2007 Interactions audio sur le site web du LIA Documentation Technique Projet 13 - IUP Avignon Master1 TAIM 28/05/2007 2 Projet 13 : Interactions audio sur le site web du LIA Sommaire Composants de l'application...

Plus en détail

www.alaniamedia.com/igcc

www.alaniamedia.com/igcc www.alaniamedia.com/igcc Copyright 2010 Alania Media. Tous droits réservés Aujourd hui L écran «Aujourd hui» vous donne un aperçu de votre calendrier, votre programme des visites chez le client, vos rendezvous,

Plus en détail

Téléchargement d OCS Inventory Serveur et Agent. Sommaire

Téléchargement d OCS Inventory Serveur et Agent. Sommaire Téléchargement d OCS Inventory Serveur et Agent Tout d abord, Connectez-vous sur le site suivant : http://www.ocsinventory-ng.org/ Sélectionner le langage Français en cliquant sur le drapeau France Cliquer

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Etude et développement d un moteur de recherche

Etude et développement d un moteur de recherche Ministère de l Education Nationale Université de Montpellier II Projet informatique FLIN607 Etude et développement d un moteur de recherche Spécifications fonctionnelles Interface utilisateur Responsable

Plus en détail

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

TP réseaux 4 : Installation et configuration d'un serveur Web Apache TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux

Plus en détail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Configuration du serveur web proposé dans Ma Plateforme Web pour déployer WebMatrix

Configuration du serveur web proposé dans Ma Plateforme Web pour déployer WebMatrix Configuration du serveur web proposé dans Ma Plateforme Web pour déployer WebMatrix Déploiement de Web Deploy sur un serveur Windows Server 2008 R2 09/09/2010 Microsoft France Pierre Lagarde pierlag@microsoft.com

Plus en détail

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE TP 7, 8 & 9 : SISR 1 Installation et Gestion de GLPI et Télédéploiement HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE Table des matières TP 7 : Installation de GLPI... 2 1 ) Recherchez sur internet

Plus en détail

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier Etude de cas PLM Patrice TORGUET IRIT Université Paul Sabatier Plan Exemple PLM Répartition avec Sockets Répartition avec RMI Répartition avec CORBA Répartition avec JMS Répartition avec Java EE Améliorations

Plus en détail

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP L INTEGRATION DE SAS AVEC JMP Quelles sont les techniques possibles pour intégrer SAS avec JMP? Comment échanger des données entre SAS et JMP? Comment connecter JMP à SAS? Quels sont les apports d une

Plus en détail

Dans cette Unité, nous allons examiner

Dans cette Unité, nous allons examiner 13.0 Introduction Dans cette Unité, nous allons examiner les fonctionnements internes d une des plateformes de publication web les plus largement utilisées de nos jours sur l Internet, WordPress. C est

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Mise à jour Julie 3.32.0.(8)

Mise à jour Julie 3.32.0.(8) Mise à jour Julie 3.32.0.(8) Cher Docteur, Vous venez d effectuer avec succès la mise à jour de votre logiciel Julie. Veuillez trouver cidessous le récapitulatif de l installation : Mise à jour : UPD332_8

Plus en détail

Installation Iconito École Numérique 2010 sous Windows WampServer

Installation Iconito École Numérique 2010 sous Windows WampServer Installation Iconito École Numérique 2010 sous Windows WampServer Outil web libre, module de la suite logicielle enfance Iconito version 1.0 Table des matières Table des matières...2 Avant-propos...3 Objectif...3

Plus en détail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

LES ACCES ODBC AVEC LE SYSTEME SAS

LES ACCES ODBC AVEC LE SYSTEME SAS LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie

Plus en détail

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

UserLock Guide de Démarrage rapide. Version 8.5

UserLock Guide de Démarrage rapide. Version 8.5 UserLock Guide de Démarrage rapide Version 8.5 Introduction UserLock est une solution logicielle d'entreprise unique sécurisant les accès utilisateur sur le réseau afin de réduire le risque d'une brèche

Plus en détail

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2

Plus en détail

Failles web : Les bases

Failles web : Les bases Failles utilisant les sites web comme support Ciblant soit les serveurs soit les visiteurs Dangereuses car simples à assimiler Objectifs : Vol de données Défaçage Rendre indisponible un site Utiliser le

Plus en détail

Tutoriel Drupal version 6 :

Tutoriel Drupal version 6 : 1 Tutoriel Drupal version 6 : Installation en local sous Windows et traduction 2 1. Installation de Drupal en local (sur votre pc) 1.1. Logiciels nécessaires Drupal fonctionne dans un environnement nécessitant

Plus en détail

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

Activité - Serveur sous Linux Suse

Activité - Serveur sous Linux Suse Activité - Serveur sous Linux Suse Configuration de services réseaux Problématique : Configurer les services réseaux (DHCP, SAMBA, APACHE2) sur un serveur afin de répondre au besoin des postes clients

Plus en détail

DATAEXCHANGER DEX VERSION X

DATAEXCHANGER DEX VERSION X GUIDE D INSTALLATION DATAEXCHANGER DEX VERSION X SOMMAIRE Sommaire...- 2-1 PRE-REQUIS...- 4-1.1 Cohabitation avec d anciennes versions DEX...- 4-1.2 Matériel...- 4-1.3 Logiciel...- 4-1.4 Base de données...-

Plus en détail

Guide de l utilisateur Mikogo Version Windows

Guide de l utilisateur Mikogo Version Windows Guide de l utilisateur Mikogo Version Windows Table des matières Création d un compte utilisateur 3 Téléchargement et installation 4 Démarrer une session 4 Joindre une session 5 Fonctionnalités 6 Liste

Plus en détail

PROJET D INFORMATISATION DE LA GESTION DES ABSENCES EN STARTER

PROJET D INFORMATISATION DE LA GESTION DES ABSENCES EN STARTER Année 2008/2009 PROJET D INFORMATISATION DE LA GESTION DES ABSENCES EN STARTER Licence Professionnelle Système informatique et logiciel Responsable du projet : Françoise GREFFIER SOMMAIRE I. PRESENTATION

Plus en détail

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp Vous avez certainement déjà souhaiter gérer plusieurs projets symfony sur votre machine après avoir installé Wamp Server. Ce n'est pas simple en apparence, un seul dossier www et des sous répertoire en

Plus en détail

BTS SIO 2012-2014. Dossier BTS. PURCHLA Romain

BTS SIO 2012-2014. Dossier BTS. PURCHLA Romain BTS SIO 2012-2014 Dossier BTS PURCHLA Romain 2012-2014 Lors d une création de serveur web plusieurs solution nous son proposé en voici quelques une. - LAMP (Linux, Apache, MySql, Php) La mise en place

Plus en détail

Documentation télémaintenance

Documentation télémaintenance Documentation télémaintenance Table des matières Introduction... 2 Interface web du technicien... 2 Connexion à l interface... 2 Mon compte... 3 Configuration... 4 1. Jumpoint... 4 2. Jump clients... 4

Plus en détail