Développement de Dexem Pagecreator. Rapport de stage

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

Download "Développement de Dexem Pagecreator. Rapport de stage"

Transcription

1 Immeuble Delta 40, rue du Bignon CHANTEPIE Tél : +33 (0) Fax : +33 (0) Développement de Dexem Pagecreator Rapport de stage Damien Le Berrigaud Master STS - mention INFORMATIQUE 2ème année - professionnel - spécialité Mitic Sous la responsabilité de Eric Ravelomanantsoa, Dexem SA Ewa Kijak, Ifsic - Irisa Université de Rennes 1 Septembre 2007 IFSIC - UNIVERSITÉ de RENNES 1 - Campus de Beaulieu RENNES CEDEX - FRANCE Tél. : Fax : Page 1 / 28

2 Remerciements Je voudrais remercier avant tout Eric Ravelomanantsoa qui m'a accompagné et conseillé pendant ce stage. Je voudrais également remercier Alain Jaouen et Philippe Simon ainsi que tous les employés de Dexem pour m'avoir accueilli et soutenu tout au long de ce stage. Page 2 / 28

3 Résumé Ce rapport a pour but de vous exposer un bilan du stage que j'ai effectué chez Dexem pour cette fin d'année de Master 2 Professionnel au sein de la formation Mitic de l'ifsic. L'objectif de ce stage était de développer les versions 2.4 et 2.5 de Dexem Pagecreator. Il s'agit d'une application utilisée dans un premier temps par des développeurs, ensuite par des clients de Dexem pour créer et mettre en production des Services Vocaux Interactifs (SVI). Les SVI sont les sites Webs du monde de la téléphonie. Dexem Pagecreator étant réalisé avec le cadre de développement (framework) Ruby on Rails ainsi qu'en PHP et VoiceXML, il m'a fallu m'adapter aux technologies que je ne connaissais pas encore. Il a également fallu m'adapter aux méthodes de travail de Dexem et participer à toutes les phases du développement d'une application : de la spécification aux tests d'intégration et de validation, en passant par la conception, le codage, les tests unitaires... Ce stage m'a finalement permis de découvrir de nouvelles technologies et méthodes développement que je ne connaissais pas. La formation du Master 2 Mitic m'a beaucoup aidé pour aborder plus facilement les différentes facettes de ces deux projets. Abstract The goal of this report is to share with you what I have done during my internship at Dexem. This internship concludes my Master's degree of Information technologies in MITIC. The goal of this internship was to develop version 2.4 and 2.5 of Dexem Pagecreator. It is a Web application mainly used by developers but it ought to be used by Dexem's clients in a very near future. This application is used to create Interactive Voice Responses (IVR). Those are «vocal Web sites» browsed by simple phones. Dexem Pagecreator being developed using the Ruby on Rails framework, PHP and VoiceXML, I had to adapt myself to these technologies I did not know yet. I also had to adpat myself to the working methods used at Dexem and take part in all phases of application development; including : software specification, validation tests, unit testing, design, coding... This internship finally permitted me to discover new technologies and development methods I did not know. The training during this year helped me a lot to treat easier these projects. Page 3 / 28

4 Sommaire 1. Introduction L entreprise...5 a) Les fondateurs...5 b) Le nom «Dexem»...6 c) Activité Présentation du stage...7 a) Intégration de l équipe R&D de Dexem...7 b) Développement du logiciel Dexem Pagecreator Travail Proposé Services Vocaux Interactifs Dexem Pagecreator...8 a) Présentation fonctionnelle...9 b) Architecture Méthodes et technologies...11 a) Méthodes de travail...11 b) Technologies pour le développement...12 c) Applications pour la gestion de projet Travail réalisé Travail introductif : amélioration d'un type de page Amélioration du système de droits Amélioration de l'ergonomie...20 a) La navigation...20 b) Simplification pour Pagecreator c) Adaptation à la charte Orange de France Télécom Ajout de «Services Web Vocaux» Support du navigateur vocal NIVR...24 a) Adaptation pour navigateur multi-langues b) Traitement des transferts Conclusion Page 4 / 28

5 1. Introduction Aujourd hui la téléphonie connaît une forte croissance. Que ce soit grâce au développement de la téléphonie mobile ou par l utilisation de plus en plus courante de la Voix sur IP (VoIP). La demande de nouveaux services vocaux suit ce courant, et les services déjà existant connaissent également une forte demande. Le Web est également un canal majeur de la communication entre les entreprises. L association du Web et de la téléphonie est donc parfaitement naturelle. C est dans ce cadre que Dexem s inscrit. L application principale de Dexem, Dexem Voice Publisher se décompose en deux autres applications : Dexem Pagecreator permet aux utilisateurs de créer et administrer des services vocaux. Dexem Analytics permet de visualiser des statistiques concernant la fréquentation des sites vocaux créés par Pagecreator. Dans ce rapport je présenterai un peu plus en détail la société Dexem. Ensuite je vous présenterai le travail qui m a été proposé sur Dexem Pagecreator. Puis je rentrerai plus dans les détails de mon travail tout au long de ce stage. Enfin je ferai un bilan de ces 5 mois passés chez Dexem et du travail que j ai pu y accomplir L entreprise a) Les fondateurs Dexem a été fondée en juillet 2000 par trois anciens des Bell Labs de Lucent Technologies et d'avaya Communication qui ont acquis chez ces géants des télécommunications une expérience à la fois managériale et technique. Alain Jaouen est le président de Dexem. Il a travaillé durant 15 ans dans le secteur des télécommunications en Europe et aux Etats-Unis. Au sein de Bell Labs, il a exercé différentes missions de direction technique et projets dans le domaine de la téléphonie et des transmissions. Il a travaillé auparavant chez Matra Communications et OST. Alain est titulaire d'un diplôme d'ingénieur de l'insa-lyon et un MBA d'audencia. Eric Ravelomanantsoa a passé toute sa carrière dans le domaine du logiciel appliqué aux télécoms (Ingenico, OST, AT&T puis Lucent Technologies). Toujours curieux des nouvelles tendances, il a développé une expertise dans les technologies à objets et les architectures de logiciel de téléphonie, en exerçant Page 5 / 28

6 différentes positions d'architecte logiciel en France et aux Etats-Unis. Eric est diplômé ingénieur de l'eseo. Philippe Simon a exercé tant en France qu'aux Etats-Unis des postes d'encadrement d'équipes R&D sur les plates-formes de téléphonie de Lucent Technologies. Précédemment, il a travaillé au sein de la société OST (leader européen dans le domaine X25) dans le domaine de l'administration de réseaux. Philippe détient un DEA en informatique avancée. b) Le nom «Dexem» Le choix du nom Dexem a pour origine l'association de deux mots : «digital» et «eskem». «Eskem» voulant dire échange en breton. La contraction de ces deux mots donne «Deskem», trop proche du mot anglais «desk» (bureau). Il fut alors suggéré de remplacer les lettres «sk» par un «x», symbole d'échange dans le mot anglais «exchange». Ce qui donne «Dexem». L'idée de marier un nom anglais à un nom breton s'est imposée. Un nom d'origine bretonne démontre la fierté et l'attachement aux racines celtes des fondateurs. La consonance américaine est une autre histoire de culture... d'entreprise, celle dont sont également imprégnés les fondateurs. c) Activité Dexem est une société de service qui travaille à la convergence du monde du Web et de la téléphonie. Elle utilise pour cela le langage VoiceXML. VoiceXML permet de rendre le contenu et les services du Web accessibles à tous sans passer par un ordinateur et par une connexion Internet, mais à partir d'un simple téléphone. De nombreuses applications sont alors imaginables : des services de portails qui combinent le Web et le VoiceXML pour permette à l'utilisateur de configurer les services qui l'intéressent par un site Web, puis de les consulter périodiquement par téléphone (météo, bourse, horoscope, actualité, infos trafic, des services de messagerie et de commerce électronique...), des services d'annuaires, des applications mains-libres ainsi que de multiples applications sectorielles... Dexem offre aux entreprises des prestations de consulting (missions d'expertise), d'intégration (intégration de solutions complexes) et d'ingénierie pour une nouvelle génération de services vocaux et d'applications de couplage téléphonie-informatique, exploitant la puissance d'internet et de ses standards. Ses domaines d'intervention sont : les centres d'appels. la gestion de la relation client (CRM). Page 6 / 28

7 les applications de Web-téléphonie. Ce sont l'ensemble des applications reposant sur un inter-fonctionnement d'applications informatiques et d'applications téléphoniques. les services vocaux pour téléphones mobiles ou couplés au Web (Portails Vocaux, Messageries) Dexem compte parmi ses clients la SNCF, Alcatel, Bouygues Telecom, Cegetel, Discofone, SFR ou encore France Télécom. L'effectif de l'entreprise est inférieur à dix personnes. Cette société est située à Rennes et s'adresse dans un premier temps à l'ensemble de l'europe francophone mais internationalise également son offre notamment par le biais d Equant (France Télécom) Présentation du stage a) Intégration de l équipe R&D de Dexem Pour toute la durée de mon stage, j'ai intégré l'équipe R&D de Dexem. C'est à dire que j'ai participé au développement de leur produit phare actuel: Dexem Pagecreator. Les évolutions de l'application que j'ai produite durant mon stage sont passées en production et sont aujourd'hui utilisées par les clients de Dexem. Il s'agit pour moi d'un des principaux avantages de ce stage. On ne me demande pas de développer une application qui ne sera peut-être jamais utilisée par l'entreprise, on me demande au contraire de développer des évolutions pour une application afin de l'améliorer et de mettre ces améliorations en production. b) Développement du logiciel Dexem Pagecreator Le logiciel que j'ai participé à améliorer s'appelle Dexem Pagecreator. Il s'agit d'une application Web faites avec le cadre de développement Ruby on Rails. Cette application permet aux utilisateurs de créer des Services Vocaux Interactifs (SVI). Les SVI de Pagecreator sont des applications faites en VoiceXML et permettant de proposer des services accessibles depuis n'importe quel téléphone. J'ai développé durant mon stage deux grandes évolutions de Dexem Pagecreator : les versions 2.4 et 2.5. Page 7 / 28

8 2. Travail Proposé Dexem propose à ses clients de créer des services vocaux interactifs (SVI) ou de leur donner accès à leur application permettant de les créer. Je vais dans cette partie décrire un peu plus en détail ce qu'est un SVI puis je décrirai les applications de Dexem Voice Publisher et plus particulièrement Dexem Pagecreator que j'ai développé pendant ce stage Services Vocaux Interactifs Les services vocaux interactifs (SVI) peuvent être comparés aux services Web classiques. Un service Web utilisera essentiellement le langage XHTML pour se présenter à l'utilisateur alors que le SVI utilise le langage VoiceXML. Un service Web est accessible depuis un ordinateur connecté à Internet alors que le SVI est accessible depuis un simple téléphone. Enfin, le service Web est accessible (en général) en utilisant un navigateur Web (tel que Firefox, Internet Explorer...) alors que le SVI utilise un navigateur vocal pour interpréter le VoiceXML de manière totalement transparente pour l'utilisateur. Figure 1 Comparaison VXML / HTML Dexem Pagecreator est l'application qui va permettre aux clients et aux développeurs de Dexem de générer le code VoiceXML nécessaire à la création du SVI Dexem Pagecreator Pour créer et publier des SVI, Dexem a développé sa propre application nommée Dexem Voice Publisher. Cette application se découpe en deux applications Web différentes. Page 8 / 28

9 Dexem Analytics qui sert à obtenir et visualiser des statistiques de fréquentation des SVI. Dexem Pagecreator quant à lui permet de créer des SVI, il va générer le VoiceXML qui peut être interprété par un navigateur vocal et qui fait appel à des fonctionnalités d'analytics pour enregistrer les infos de passages au sein de l'application. Lorsque Dexem Voice Publisher était en version 1.8, il n'y avait pas de séparation entre Pagecreator et Analytics, il s'agissait d'une unique application. C'est au passage en version 2.0 que l'environnement de développement est passé du langage Java à Ruby: Pagecreator et Analytics sont nés à ce moment. a) Présentation fonctionnelle Dans sa version 2.3 (version en production à mon arrivée chez Dexem), Pagecreator représente un service vocal comme étant un arbre. La racine de cet arbre est la première page du site, ensuite elle peut bifurquer vers différentes pages selon les choix de l'utilisateur ou d'autre critères. En réalité, il ne s'agit pas d'un arbre mais plutôt d'un graphe. En effet il est possible de revenir sur ses pas et de créer des cycles au sein de l'application. Figure 2 Vue d'ensemble de Pagcreator 2.5, arbre représentant le site Page 9 / 28

10 Chaque noeud de l'arbre est une page. La page a l'un des types suivants : L'Annonce joue un fichier audio ou lit un texte (par synthèse vocale) à l'appelant et enchaîne vers une page suivante. Le Menu à reconnaissance vocale joue une annonce puis redirige l'appelant en fonction de ce que le moteur de reconnaissance vocale a reconnu. Le Menu DTMF (Dual-tone multi-frequency : nom donné au son que produit une touche de téléphone lorsqu'elle est enfoncée) joue une annonce puis redirige l'appelant selon le code tapé sur la clavier du téléphone. Le Transfert transfert l'appelant vers un numéro de téléphone donné. L'Aiguillage calendaire redirige l'appelant vers une page donnée. Hors jours fériés et dans les plages horaires indiquées, l'appelant est redirigé vers une page, sinon vers une autre. Et c... Un système de compte permet de gérer les utilisateurs et leurs sites. Les utilisateurs d'un compte peuvent avoir des droits d'écriture et/ou de lectures sur les sites d'un compte. Les premiers travaux que j'ai effectué sur Pagecreator sont : L'amélioration de la page Aiguillage calendaire pour supporter deux plages horaires par jour et l'activation individuelle des jours de la semaine. L'amélioration du système de droits dans le but de mieux séparer la création de sites de la gestion de contenu de sites. b) Architecture L'architecture de Pagecreator est divisée en trois parties : Le serveur Web contient le coeur de l'application, du métier à l'interface utilisateur, tout se trouve ici. C'est ce serveur Web qui va générer les fichiers VoiceXML d'une application vocale. Le serveur vocal contient les fichiers VoiceXML générés par le serveur Web. Une fois qu'un fichier est généré il est stocké dans l'arborescence de ce serveur. Le serveur de base de données contient l'ensemble des données de tous les sites et de tous les comptes Pagecreator. Les technologies utilisées sur ces différents serveurs sont décrites dans la partie suivante (2.3 b). Page 10 / 28

11 Figure 3 Architecture de Dexem Pagecreator 2.3. Méthodes et technologies Je vais maintenant vous décrire les méthodes de travail de la société Dexem ainsi que les différentes technologies utilisées pour l'application Dexem Pagecreator. a) Méthodes de travail La chose la plus importante chez Dexem est le partage des connaissances. La première chose que j'ai faite en arrivant chez Dexem en tant que stagiaire, c'est configurer mon poste de travail pour avoir accès au serveur de fichiers de l'entreprise. Celui-ci contient toutes les informations nécessaires au développement d'une application ou d'une autre. Cela va des spécifications des anciennes versions d'un logiciel aux détails de conceptions des dernières évolutions en passant par la documentation des technologies utilisées pour travailler... Le suivi du projet est également très important, il est fait de manière hebdomadaire. Ainsi j'avais au moins une réunion par semaine avec Eric Ravelo pour faire le point sur les avancées du projet et sur ce qu'il reste à faire. On discutait également pendant ces réunions de la spécification du besoin ou de certains points de conception. Cela permet d'améliorer sans cesse l'application en y intégrant le meilleur des points de vue de chacun. Page 11 / 28

12 Dans le but d'avoir un produit facile à développer et à comprendre quelques étapes du développement de projet sont indispensables : La spécification détaillée des lignes directrices de développement. Ainsi pour chaque nouvelle version, un document de spécification est réalisé et indique les nouvelles fonctionnalités apportées, les fonctionnalités qui sont modifiées... Ce document est relu par plusieurs développeurs dans le but de le rendre le plus concis possible. La documentation de la conception doit être faite soigneusement dans le but d'expliquer les décisions prises lors du développement de l'application. On y explique ainsi les modèles statiques mis en place pour la réalisation d'une foncitonnalité ainsi que le fonctionnement dynamique de cette fonctionnalité (par le biais de diagrammes de séquences UML par exemple). Des séances de relecture de code sont organisées régulièrement. Cela m'a permis de profiter de l'expérience d'eric mais aussi des autres employés de Dexem qui ont également participé à ces réunions. Ainsi les autres développeurs comprennent mieux le fonctionnement de l'application et apportent leur expérience pour améliorer son implémentation. Ces étapes sont indispensables pour bien comprendre l'application. Il faut également savoir que la spécification n'est pas close avant de passer à la conception... il se peut que des points s'éclaircissent lors de la conception et amènent à faire une itération supplémentaire sur la spécification du besoin... le travail est itératif. Lorsque le développement de l'application semble terminé (codage et tests unitaires de chaque fonctionnalité de la nouvelle version), une série de tests de validation et d'intégration est réalisée par un groupe de personnes. Ce groupe est toujours plus important que l'équipe de développement du projet (pour gagner du temps et rendre ce travail moins fastidieux pour chacun). Il a pour rôle de suivre une liste de scénarios, définie par l'équipe de développement, et de trouver les bugs qui peuvent persister dans l'application. Ces tests sont effectués de manière itérative jusqu'à ce qu'il ne reste plus aucun bug relatif à ces scénarios. De cette manière nous sommes sûrs de répondre aux besoins du client et si les scénarios de tests sont exhaustifs, nous sommes sûrs de minimiser le nombre de bugs qui peuvent passer au travers des mailles du filet au moment de la mise en production. b) Technologies pour le développement L'application Dexem Pagecreator utilise plusieurs technologies différentes pour arriver à ses fins. Page 12 / 28

13 1) Ruby on Rails Le coeur de l'application qui se trouve sur le serveur Web est développé avec le cadre d'applications Ruby on Rails (également appelé «RoR» ou encore «Rails»). Rails est issu d'un outil de gestion de projet nommé Basecamp développé par David Heinemeier Hansson. La première version de Rails date de 2004 et sa première version stable de décembre 2005, il est très récent et peu utilisé en France. Comme son nom l'indique, Ruby on Rails utilise le langage Ruby. C'est un langage de programmation interprété orienté objet. Il est à l'intersection de Perl (pour le traitement des chaînes de caractère), Eiffel (pour la syntaxe), Python et Smalltalk (pour les notions de programmation objet). Tout est objet en Ruby mais cela n'empêche pas pour autant de l'utiliser comme langage procédural. La philosophie principale de Rails est de préférer la convention plutôt que la configuration. Ainsi les comportements par dégaut de Ruby on Rails permettent de gagner beaucoup de temps, que ce soit pour l'utilisation du pluriel pour le nommage des tables de la base de données ou bien le nommage des attributs qui servent de clef étrangère... Rails est un environnement très structuré. Il utilise le modèle MVC (Modèle Vue Contrôleur) pour la séparation du coeur du métier de l'interface utilisateur : Le modèle est un ensemble de classes qui vont gérer les données présentes dans la base de données. Les vues vont présenter à l'utilisateur les données du modèle et permettre éventuellement d'interagir avec celles-ci. Dans notre cas, les vues sont en XHTML avec du Ruby embarqué : RHTML. Les vues peuvent également être des réponses à des requêtes Ajax (Javascript Asynchrone et XML), dans ce cas le code d'une vue est en Ruby et génère du Javascript. Les contrôleurs quant à eux sont les actions accessibles à l'utilisateur. En général, l'utilisateur accède à une action d'un contrôleur en tappant une adresse URL dans son navigateur ou en cliquant sur un lien. Le contrôleur va alors accéder au modèle pour mettre en place ce qui est nécessaire à l'affichage d'une ou plusieurs vues. Page 13 / 28

14 Figure 4 le patron de conception Modèle Vue Contrôleur La liaison avec la base de données dans le cadre du développement Ruby on Rails se fait par une bibliothèque nommée Active Record. Il s'agit d'un ORM (Object-Relational Mapping) qui se base sur la structure des tables de la base de données pour créer les objets du modèle de l'application. Comme tout ce qui se trouve dans Rails, il se base essentiellement sur des conventions : le nom de la table est au pluriel, la classe est au singulier, une clef étrangère prend le nom de la classe cible suivi du suffixe «_id»... bien entendu il est possible de personnaliser ce comportement qui rend l'utilisation de la base de données on ne peut plus simple. L'objectif principal de l'application Rails de Pagecreator est de pouvoir générer du code VoiceXML qui sera accessible depuis un téléphone. 2) Voice XML Avant la naissance du langage VoiceXML les solutions offertes pour développer des applications vocales étaient propriétaires. VoiceXML essaye donc de standardiser le monde des applications vocales en offrant un langage de balisage «simple» qui permet de développer un grand nombre d'applications vocales différentes. L'intérêt majeur de VoiceXML est son héritage du langage XML qui permet à des services Web classiques de devenir des services vocaux. Cela permet de gagner beaucoup de temps dans le développement d'une application vocale étant donné qu'un simple serveur Apache peut servir des pages en VoiceXML. Page 14 / 28

15 Ce langage comme d'autres langages de balisage doit être interprété. Dans le cas de VoiceXML, c'est un navigateur vocal qui va l'interprêter. Il va ainsi pouvoir transformer les balises des fichiers VXML en annonces, transferts, menu à reconnaissance vocale, etc... L'utilisation de ce mécanisme entre VoiceXML et le navigateur vocal permet un découplage parfait entre la description du service (faite en VoiceXML) et l'application de celui-ci (faite par le navigateur vocal). La mise en place des pages VXML par l'application Pagecreator permet une grande souplesse, cependant on aimerait parfois un peu plus de dynamisme que de simples fichiers VoiceXML statiques générés. C'est pour cela qu'on utilise également le langage PHP. 3) PHP Les évolutions récentes de Dexem Pagecreator que j'ai développées nécessitent parfois d'accèder à la base de données. J'ai par exemple développé une page VoiceXML qui permet d'aiguiller l'utilisateur vers un numéro de téléphone faisant parti d'une liste. Chaque numéro de cette liste est associé à un pourcentage de transfert à atteindre. La mise en oeuvre de ce type de transfert nécessite de mémoriser les transferts qui ont été effectués vers chaque numéro. Cela nécessite donc l'utilisation d'un langage du côté du serveur qui va générer le VoiceXML en fonction du contenu de la base de données. Le langage PHP est parfait pour ce genre de petits travaux. Une architecture MVC (Modèle Vue Contrôleur) est mise en place pour chaque petit programme PHP qui retourne du VoiceXML. 4) MySQL La base de données utilisée par Pagecreator est MySQL. C'est le standard utilisé par la majorité des applications Ruby on Rails développées aujourd'hui. Le choix se fait assez simplement : c'est une base de données rapide, et Ruby on Rails ne nécessite pas de contrôle au sein même de la base, c'est le modèle qui se charge de l'intégrité des données. Il n'y a donc pas besoin de la puissance du PL/SQL d'oracle, de plus cela épargne le coût d'une licence. c) Applications pour la gestion de projet 1) Subversion Le partage des fichiers et les accès concurrents aux fichiers du projet sont gérés par un serveur Subversion. C'est bien évidemment indispensable pour gérer n'importe quel projet. Page 15 / 28

16 2) Trac Trac est une application Web qui permet de gérer un projet. Il s'installe en parallèle du serveur subversion et permet d'explorer son contenu. Il contient également un Wiki dans lequel nous documentons certains points de conception de l'application Pagecreator. Trac nous permet également de répertorier les bugs existants dans l'application. Il est possible de poster des tickets de rapports de bug en spécifiant la sévérité, la priorité... il est également possible d'affecter un bug à une personne pour sa correction. Lorsqu'on corrige un ticket, on spécifie le numéro du ticket corrigé dans le commentaire du «commit» sur le serveur subversion. Ainsi il est possible de suivre la ligne de vie des bugs de Pagecreator. 3) Capistrano Capistrano quant à lui est un outil utilisé pour le déploiement d'applications Ruby on Rails depuis un serveur Subversion. Il suffit de configurer le serveur cible et divers paramètres comme la connexion à la base de données, le «tag» du serveur subversion à mettre en production... Il peut ensuite déployer une nouvelle version de l'application en moins de cinq minutes. Le processus de mise en production par capistrano est testé avant chaque déploiement sur le serveur de tests utilisé lors de la phase de la validation de la version. Page 16 / 28

17 3. Travail réalisé A mon arrivée chez Dexem, j'ai d'abord appris les bases du développement avec Ruby on Rails. J'ai donc passé une première semaine exclusivement à me former sur le sujet : apprentissage du langage Ruby par le biais de divers tutoriaux sur Internet apprentissage du cadre de développement Rails. Pour cela j'ai essentiellement utilisé le livre «Agile Web Development with Rails 2 nd Edition» de Dave Thomas et David Heinemeier (le créateur de Ruby on Rails). Suite à cette semaine de «formation» j'ai directement commencé à essayer de comprendre le fonctionnement de l'application Pagecreator. Pour cela j'ai effectué un des travaux inclus dans le développement de Pagecreator 2.4 : l'amélioration d'un type de page disponible, l'aiguillage calendaire Travail introductif : amélioration d'un type de page Ce premier travail a été particulièrement important car les pages au sein de Pagecreator sont centrales. Chaque type de page est représenté par un modèle dont les données sont stockées en base de données. Les pages lorsqu'elles sont créées ou modifiées sont générées au format VoiceXML, elles sont en général en un unique fichier VoiceXML. L'application, pour bien séparer ces tâches de maintenance du modèle et de génération VoiceXML, est divisée en deux parties. En effet le générateur VoiceXML est en fait une bibliothèque représentée par un objet Ruby qui, une fois instancié, permet de générer le ou les fichiers VoiceXML correspondants à une page, ou même à un site complet. Les contrôleurs de l'application qui permettent de gérer les modèles correspondant aux sites, pages, utilisateurs... appellent le générateur de VoiceXML quand cela est nécessaire. De cette manière le serveur vocal (qui stocke les sites au format VXML) est constamment synchronisé avec le contenu de la base de données. Ce premier travail qui m'a été demandé n'était pas particulièrement complexe ni très long à effectuer. Cependant il m'a permis de comprendre une partie essentielle du fonctionnement de Pagecreator : la création, la maintenance et la génération des Pages. Page 17 / 28

18 Figure 5 Aiguillage calendaire sous Pagecreator 2.3 : plages horaires Figure 6 Aiguillage Calendaire sous Pagecreator 2.4 : plages horaires Suite à cela, le travail que j'ai effectué était beaucoup plus volumineux et plus complexe Amélioration du système de droits La spécification des besoins du client pour Dexem Pagecreator 2.4 a fait ressortir essentiellement deux lignes directrices. Dans un premier temps, l'une d'elles incluait l'amélioration du système de droits. La conception de cette première amélioration de Pagecreator n'a pas été simple. Je n'étais alors pas encore accomodé à l'application du modèle MVC. L'objectif de ce système de droits est de permettre à certains utilisateurs de modifier le contenu des pages d'un site vocal sans avoir la connaissance de l'architecture du site vocal, et sans avoir la connaissance des pages elles-mêmes. Par exemple : dans un site, on utilise diverses annonces, on peut également utiliser des pages pour transférer l'utilisateur vers des numéros de téléphones, on peut aussi avoir des pages aiguillage calendaire... Un utilisateur qui pourra gérer le contenu pourra gérer : les messages de certaines annonces, les numéros de destinations de certains transferts, ou les calendriers de certains aiguillages calendaires. Page 18 / 28

19 Lorsqu'on développe une nouvelle fonctionnalité, il est important de savoir ce qu'on veut en terme d'interface utilisateur pour cette fonctionnalité. C'est un des côtés intéressant chez Dexem, on ne laisse pas de côté l'interface utilisateur. Au contraire on y pense dès la spécification dans le but d'avoir un logiciel aussi clair que possible. Dans notre cas, on voulait ajouter des onglets à l'application existante : un onglet pour gérer les messages, un onglet pour gérer les destinations de transferts et un onglet pour gérer les calendriers. Chacun de ces onglets présenterait une liste cliquable des objets administrables et cliquer sur un objet mènerait sur une page d'édition. Figure 7 onglets de gestion de contenu, liste des messages administrables En face de chaque message de la liste, un lien «edit» permet d'obtenir le forumlaire d'édition du message (visible ci-dessous). On ne sait pas quelle page contient le message on ne connaît que le nom du message, il n'y a donc pas besoin de connaître l'architecture exacte du site vocal. Figure 8 onglets de gestion de contenu, édition d'un message Page 19 / 28

20 Au final, le résultat a été «simplement» mis en place par la création de contrôleurs supplémentaires qui réutilisent des vues et des modèles déjà existants. Seulement les accès en lecture et/ou en écriture sont mis en place par le contrôleur. Il suffit donc de modifier les vues pour qu'elles s'affichent correctement selon le contrôleur qui les utilise. Le modèle MVC apporte beaucoup de libertés dans ce sens : si les vues sont bien faites, on peut facilement les réutiliser avec différents contrôleurs pour effectuer des actions spécifiques à ces contrôleurs Amélioration de l'ergonomie Un des travaux importants qui m'ont été confiés dans le développement de Pagecreator est l'amélioration de l'ergonomie aussi bien pour la version 2.4 que la version 2.5. Pour la version 2.4, c'est essentiellement le système de navigation entre différents sites sur un même compte qui voulait être revu. a) La navigation Dans Dexem Pagecreator 2.3, pour éditer un site, on devait cliquer sur l'onglet «sites» ensuite on devait cliquer sur la version du site à éditer et enfin on devait cliquer sur «editer les pages». Si on se déplaçait dans un autre onglet et qu'on revenait, on devait refaire la même manipulation. C'était une perte de temps pour les développeurs de sites vocaux dès qu'ils voulaient vérifier l'onglet des fichiers audios par exemple. Dans Dexem Pagecreator 2.4 nous avons pris la décision de créer un onglet «pages» et d'ajouter un «sélecteur de site» à l'application. Ce sélecteur de site indiquerait le site utilisé en ce moment et permettrait d'en changer depuis les onglets «sites», «pages», «messages», «destinations» et «calendriers». Le site sélectionné est mémorisé en session et même dans le compte de l'utilisateur (en base de données). Cela permet quand on navigue d'un onglet à un autre ou quand on se déconnecte et qu'on se reconnecte, d'arriver directement sur le bon site et la bonne version. Ce travail a été long et ne s'est pas fait en une seule étape. En effet lorsqu'on travaille sur l'ergonomie de l'application, il est important de communiquer avec les autres personnes qui travaillent sur le projet ou qui utilisent l'application. De cette manière on regroupe différents avis pour réussir à obtenir la meilleure interface utilisateur possible. Page 20 / 28

21 Figure 9 Interface de Pagcreator 2.3, pas de sélecteur de site, pas d'onglet pages... Figure 10 Sélecteur de site de Pagecreator 2.4 (sur la gauche). Les lignes directrices de l'ergonomie de Pagecreator 2.5 étaient la simplification pour des clients non informaticiens. b) Simplification pour Pagecreator 2.5 Pour simplifier l'interface utilisateur pour des non informaticiens, nous avons en premier lieu décidé d'améliorer l'arbre des pages et son utilisation. En effet sous Pagecreator 2.4, l'abre des pages n'est pas très pratique à utiliser. Quand on édite une page on a aucune idée de sa position dans le site car on ne peut pas à la fois éditer la page et visualiser l'arbre sous Pagecreator 2.4. Nous avons donc décidé d'afficher le nouvel arbre sur la gauche et le formulaire d'édition de la page Page 21 / 28

22 sélectionnée sur la droite. Dans le but de ne pas recharger constamment la page, nous avons décidé d'utiliser Ajax. L'utilisation d'ajax par le biais de Ruby on Rails est assez simple, on a pas besoin d'écrire de javascript, c'est Rails qui transcrit du code Ruby en Javascript. La difficulté d'ajax vient plutôt de la complexité des pages que nous affichons et les compatibilités différentes selon les navigateurs. En effet Internet Explorer par exemple est beaucoup plus sensible à l'arbre XHTML qui représente la page au moment d'effectuer une mise à jour de celle-ci. Ainsi dans certains cas on peut avoir des requêtes Ajax qui fonctionnent sur Internet Explorer et pas sous Firefox ou bien Opera. Mais le plus souvent c'est le contraire qui se produit. Il m'a donc fallu apprendre au fur et à mesure quelles étaient les limites de chacun pour réussir à éviter les bugs ou bien même contourner certaines limites. Figure 11 L'arbre de Pagecreator 2.5, édition d'un menu DTMF Le travail sur les icônes de l'abre a également été assez long. On voulait que l'icône d'une page dans l'arbre permette d'un seul coup d'oeil de déterminer son type et quel est son rôle par rapport à la page parente. Par exemple on veut pouvoir déterminer qu'une page est une annonce et que cette annonce est atteinte dans le cas où le transfert de la page parente a abouti à un cas d'occupation. Racine de l'arbre Aiguillage Annonce sur Erreur Transfert sur DTMF 1 Figure 12 Quelques exemples d'icônes Page 22 / 28

23 c) Adaptation à la charte Orange de France Télécom En tant que client de Dexem, Equant (France Télécom) a le droit à son propre thème pour les comptes de ses clients. J'ai donc travaillé sur l'application de la charte Orange pour un thème applicable aux comptes de Pagecreator. Figure 13 Aperçu de l'apparence de Pagecreator pour la marque Orange Ainsi tous les utilsateurs d'un compte de la marque Orange auront une apparence propre à la charte de la marque. Pour cela il a fallu modifier les couleurs utilisées, modifier les onglets, le sélecteur de site, le pied de page... Un document officiel de la marque m'a été fourni pour savoir en détail ce qui devait être modifié. J'ai ensuite adapté en fonction de ce qui était faisable en un temps limité. Heureusement pour moi, ce n'était pas mon premier travail avec des feuilles de style en cascade (CSS) et je connais plutôt bien le comportement des différents navigateurs pour l'application de styles Ajout de «Services Web Vocaux» Pagecreator 2.4 et 2.5 apportent trois nouveaux types de pages que nous appelons des «Services Web Vocaux» Le premier service Web vocal sert à transférer l'appelant vers un numéro figurant dans une liste. Le numéro utilisé est défini selon une stratégie de distribution cyclique. Ainsi le premier appelant est transféré vers le premier numéro, le deuxième vers le deuxième numéro... et lorsque le dernier numéro est atteint on revient au premier numéro. Le deuxième service Web vocal quant à lui est une table de routage. L'utilisateur de Pagecreator peut paramètrer une variable VoiceXML à tester. Il indique ensuite une liste de valeurs et leurs destinations. Ces destinations peuvent être des pages du site vocal Page 23 / 28

Sommaire. Présentation de Dexem Services Vocaux Interactifs et VoiceXML Dexem Pagecreator Travail proposé par Dexem Travail réalisé Conclusion

Sommaire. Présentation de Dexem Services Vocaux Interactifs et VoiceXML Dexem Pagecreator Travail proposé par Dexem Travail réalisé Conclusion Développement de Dexem Page Creator Stagiaire: Damien Le Berrigaud Responsables de stage: Eric Ravelomanantsoa (Dexem SA), Ewa Kijak (Ifsic - Irisa) 1 Sommaire Présentation de Dexem 2 Présentation de Dexem

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 SOMMAIRE I. Introduction 02 II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 III. Présentation de l'association 05 a. Présentation juridique et géographique 05 b. Présentation de

Plus en détail

7.0 Guide de la solution Portable sans fil

7.0 Guide de la solution Portable sans fil 7.0 Guide de la solution Portable sans fil Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

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

Serveur de travail collaboratif Michaël Hoste -

Serveur de travail collaboratif Michaël Hoste - Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3

Plus en détail

Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup

Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup Sébastien MEDARD GIP RENATER 263 avenue du Général Leclerc CS 74205 35042 Rennes Cedex Résumé L intégration

Plus en détail

Publication d'application

Publication d'application Publication d'application Vue d'ensemble JetClouding supporte 3 types de publication d'application: Microsoft Remote Desktop: L'utilisateur verra le Bureau à distance Windows dans la session. Le contrôle

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Le farming dans DokuWiki, intérêt et mise en œuvre

Le farming dans DokuWiki, intérêt et mise en œuvre Le farming dans DokuWiki, intérêt et mise en œuvre Etienne MELEARD Comité Réseau des Universités Université de Rennes 1, Campus Beaulieu 35042 Rennes Cedex Résumé DokuWiki est une plateforme de Wiki souple

Plus en détail

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants»

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants» Compte-Rendu SDL Auteurs : BOUTROUILLE Alexis BAILLEUL Pierre Tuteur : Ioan Marius Bilasco «Reprise de l application de gestion de listes de présences des alternants» Master MIAGE 1 Année 2012/2013 1 Remerciements

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

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 % PFE Télécommunications Pré-rapport à l'issue des 6 premières semaines de stage!"!"#$%&' ()*()!")+")# (#),()-,)*)"-./0 1 ()*()!")+-)# % 23 &0 )14) 56 7$8797%77:7' '72 Page 1 sur 5 Contexte Les centres de

Plus en détail

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Tony Galmiche le 28 février 2011 (modifiée alb) Sommaire 1 - Accès au portail de l'application GED...3

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

Plus en détail

Rapport de stages BTS SIO première et seconde années

Rapport de stages BTS SIO première et seconde années Rapport de stages BTS SIO première et seconde années Stage 1 : du 10 juin 2013 au 28 juillet 2013 (7 semaines) Stage 2 : du 02 septembre 2013 au 04 octobre 2013 (5 semaines) Organisme d'accueil : CNRM

Plus en détail

Sage CRM. Sage CRM 7.3 Guide CTI

Sage CRM. Sage CRM 7.3 Guide CTI Sage CRM Sage CRM 7.3 Guide CTI Copyright 2014 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Explication des statistiques

Explication des statistiques Explication des statistiques Sources : http://www.eolas.fr/8-conseil/65-interpreter-vos-statistiques-webalizer.htm http://support.sherweb.com/faqdetails.php?idarticle=68 Un site web est un ensemble de

Plus en détail

Mode d'emploi Application Présences Planification des évènements

Mode d'emploi Application Présences Planification des évènements Mode d'emploi Application Présences Planification des évènements 21 avril 2005 Page 1 / 31 2005 / Guillaume Fort Sommaire 1. Description du concept...3 2. Démarrage de l'application...4 3. Philosophie

Plus en détail

Introduction à la programmation web

Introduction à la programmation web Introduction à la programmation web Nouvelles Technologies Dr. Thé Van LUONG The-Van.Luong@heig-vd.ch HEIG-VD Switzerland 8 octobre 2015 1/34 8 octobre 2015 1 / 34 Plan 1 État de l art des langages orientés

Plus en détail

2012 R2 Guide du portable

2012 R2 Guide du portable 2012 R2 Guide du portable Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm, et de

Plus en détail

Rapport d Étude Pratique : Site Web pour conférence scientifique

Rapport d Étude Pratique : Site Web pour conférence scientifique Rapport d Étude Pratique : Site Web pour conférence scientifique Quentin Dufour, Thomas Hareau, Laurent Aymard, Jean Chorin Encadrant : Jean-François Dupuy 2015 Site Web de conférence scientifique 2 Résumé

Plus en détail

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Serveur de partage de documents Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Table des matières Introduction... 3 L existant... 3 Les besoins de l entreprise...

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Extension WebEx pour la téléphonie IP Cisco Unified

Extension WebEx pour la téléphonie IP Cisco Unified Extension WebEx pour la téléphonie IP Cisco Unified Guide d utilisation Version 2.7 Copyright 1997 2010 Cisco et/ou ses affiliés. Tous droits réservés. Cisco, WebEx et Cisco WebEx sont des marques déposées

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

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

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

Systèmes de Gestion de Contenu

Systèmes de Gestion de Contenu Introduction aux de site Web Master 1 CAWEB Page 1/7 Introduction Définition CMS Content Management Systems : logiciels de conception et de mise à jour dynamique de site web ou d'application multimédia

Plus en détail

Chap. 2 : gestion du code source avec Git/GitHub

Chap. 2 : gestion du code source avec Git/GitHub Chap. 2 : gestion du code source avec Git/GitHub L'objectif de ce cours est de présenter une solution libre et gratuite pour la gestion du code source : l'outil Git associé à la forge logicielle GitHub.

Plus en détail

Publication. Aperçu rapide Ce que vous apporte Microsoft Project 2013

Publication. Aperçu rapide Ce que vous apporte Microsoft Project 2013 Aperçu rapide Ce que vous apporte Microsoft Project 2013 Avec la nouvelle version 2013, Microsoft achève l'intégration complète de MS Project à SharePoint Server et met une nouvelle infrastructure à disposition.

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

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Lycée Claude MONET Le Havre

Lycée Claude MONET Le Havre Lycée Claude MONET Le Havre Le réseau pédagogique du lycée Guide d'utilisation pour le prof Proverbe : Dans 99% des pannes informatiques, le problème se situe entre la chaise et le clavier. 1 Table des

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d

Plus en détail

Serveur vocal. Manuel utilisateur

Serveur vocal. Manuel utilisateur Serveur vocal Manuel utilisateur En raison de l évolution technique, Sagem Communication se réserve le droit à tout moment et sans préavis, de modifier les caractéristiques techniques annoncées pour ce

Plus en détail

La recherche Google sur les sites Web de votre entreprise

La recherche Google sur les sites Web de votre entreprise Google Site Search Fiche technique Google Site Search La recherche Google sur les sites Web de votre entreprise Google Site Search Pour plus d'informations, consultez la page : http://www.google.com/enterprise/search/

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Alfresco Mobile pour Android

Alfresco Mobile pour Android Alfresco Mobile pour Android Guide d'utilisation de l'application Android version 1.1 Commencer avec Alfresco Mobile Ce guide offre une présentation rapide vous permettant de configurer Alfresco Mobile

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

Écriture de pages Web

Écriture de pages Web Écriture de pages Web Le langage HTML / XHTML Laurent Tichit Janvier 2011 Laurent Tichit 2005-2010 1 Comment fonctionne le Web? C'est un mécanisme client-serveur. Logiciel serveur : programme qui a pour

Plus en détail

EXTRANET STUDENT. Qu'est ce que Claroline?

EXTRANET STUDENT. Qu'est ce que Claroline? EXTRANET STUDENT http://extranet.arts2.be http://extranet.artsaucarre.be Les bases de l'utilisation de la plateforme Claroline, l'extranet d'arts² Qu'est ce que Claroline?... 1 Débuter... 2 Créer un compte...

Plus en détail

Manuel d'utilisation Microsoft Apps

Manuel d'utilisation Microsoft Apps Manuel d'utilisation Microsoft Apps Édition 1 2 À propos de Microsoft Apps À propos de Microsoft Apps Avec Microsoft Apps, vous disposez des applications professionnelles Microsoft sur votre téléphone

Plus en détail

Guide de l administrateur. Démarrage rapide. www.cmsmadesimple.fr

Guide de l administrateur. Démarrage rapide. www.cmsmadesimple.fr Guide de l administrateur Démarrage rapide www.cmsmadesimple.fr Table des matières 1.Information document...4 1.1.Licence...4 1.2.Avertissements...5 1.3.Remerciements...5 1.4.Auteurs...6 1.5.Versions...6

Plus en détail

Support de cours de la formation izi-media

Support de cours de la formation izi-media Support de cours de la formation izi-media Préambule Ce support de cours s'adresse aux participants du module de formation «izi-media». Il n'a pas pour but de se substituer à la formation présentielle,

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

Gérer des sites avec Dreamweaver

Gérer des sites avec Dreamweaver Gérer des sites avec Dreamweaver La boîte de dialogue Gérer les sites a pour fonction de vous permettre de créer un nouveau site, de modifier, de dupliquer, de supprimer un site, d'importer ou d'exporter

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

progecad NLM Guide de l'utilisateur

progecad NLM Guide de l'utilisateur progecad NLM Guide de l'utilisateur Rev. 11.1 Table des matières Table des matières...2 Introduction...3 Comment démarrer...3 Installation de progecad NLM server...3 Enregistrement de progecad NLM server...3

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

//////////////////////////////////////////////////////////////////// Développement Web

//////////////////////////////////////////////////////////////////// Développement Web ////////////////////// Développement Web / INTRODUCTION Développement Web Le développement, également appelé programmation, désigne l'action de composer des programmes sous forme d'algorithme (codage).

Plus en détail

La société. Service professionnel, flexible et sécurisé. Notre positionnement : une sécurité assurée et une offre sur-mesure

La société. Service professionnel, flexible et sécurisé. Notre positionnement : une sécurité assurée et une offre sur-mesure La société Service professionnel, flexible et sécurisé NetExplorer accompagne de nombreux clients au travers d une solution SaaS clé en main développée en interne depuis 2007. NetExplorer est devenu le

Plus en détail

MEDIAplus_page de garde_v67_mise en page 1 09/12/2010 09:23 Page 2. MEDIAplus elearning. version 6.7

MEDIAplus_page de garde_v67_mise en page 1 09/12/2010 09:23 Page 2. MEDIAplus elearning. version 6.7 MEDIAplus_page de garde_v67_mise en page 1 09/12/2010 09:23 Page 2 MEDIAplus elearning version 6.7 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes

Plus en détail

Manuel de l'administrateur. OpenMeetings 2.0. Manuel de l'administrateur

Manuel de l'administrateur. OpenMeetings 2.0. Manuel de l'administrateur Manuel de l'administrateur OpenMeetings 2.0 Manuel de l'administrateur Juin 2012 Table des matières 1. Gérer les utilisateurs... 1 2. Gérer les connexions... 2 3. Gérer les organisations... 2 4. Gérer

Plus en détail

Documentation utilisateur MANTIS

Documentation utilisateur MANTIS Documentation utilisateur MANTIS Outil de suivi d anomalies des Référents Utilisateur : Rapporteur SOMMAIRE 1 Préambule...3 1.1 Convention typographique...3 1.1.1 ICONES...3 1.1.2 Attributs...3 1.2 Contexte...4

Plus en détail

Gestion du design (DesignManager)

Gestion du design (DesignManager) 1 sur 7 15/10/2014 14:06 Administration de CMS Made Simple - evolution biologique - Gestionnaire de Modules Bienvenu(e) : archeo Vous avez 1 notification en cours Gestionnaire de Modules Déposer les fichiers

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. www.sybase.fr/poweramc DOCUMENTATION

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. www.sybase.fr/poweramc DOCUMENTATION Sybase PowerAMC 16 Guide des nouvelles fonctionnalités générales DOCUMENTATION 2 2 www.sybase.fr/poweramc A propos de PowerAMC 16 PowerAMC est une solution de modélisation d'entreprise graphique qui prend

Plus en détail

Cahier de Charge. Master I Informatique parcours Ingénierie Logiciels. E-Service Système d information web «Gestion des services ensignants

Cahier de Charge. Master I Informatique parcours Ingénierie Logiciels. E-Service Système d information web «Gestion des services ensignants Master I Informatique parcours Ingénierie Logiciels Projet : E-Service Gestions des Enseignements Groupe 06 Cahier de Charge E-Service Système d information web «Gestion des services ensignants 2011-2012

Plus en détail

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail. Version 2.2 - EXOCA 1. Powered by

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail. Version 2.2 - EXOCA 1. Powered by Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail Powered by Version 2.2 - EXOCA 1 Sommaire 1. Introduction... 3 2. Configuration du client Zdesktop (option par défaut)...

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Bases de données et interfaces Génie logiciel

Bases de données et interfaces Génie logiciel Bases de données et interfaces Génie logiciel Merlet benjamin Merlet-Billon Maryvonne Hueber Yann Jamin Guillaume Giraud Sandra Département Génie Biologique Professeurs responsables : Option BIMB Promotion

Plus en détail

Le site engarde-service.com pour publier des résultats de compétitions Service proposé par la société ANPV-log

Le site engarde-service.com pour publier des résultats de compétitions Service proposé par la société ANPV-log Le site engarde-service.com pour publier des résultats de compétitions Service proposé par la société ANPV-log 1. introduction 2. Création d'un compte sur engarde-service.com 2.1. Inscription 2.2 Gestion

Plus en détail

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3 Manuel utilisateur des listes de diffusion Sympa à l'université Lille 3 1 Table des matières Table des matières...2 I. Introduction...3 II. Principe général de fonctionnement de «Sympa»...3 1. Les principaux

Plus en détail

Stratégie de groupe dans Active Directory

Stratégie de groupe dans Active Directory Stratégie de groupe dans Active Directory 16 novembre 2012 Dans ce document vous trouverez des informations fondamentales sur les fonctionnements de Active Directory, et de ses fonctionnalités, peut être

Plus en détail

Communication Technique TC1553 Ed 03 Date : 14/06/2012. Produit : Alcatel-Lucent OmniPCX Office Nb. de pages: 9

Communication Technique TC1553 Ed 03 Date : 14/06/2012. Produit : Alcatel-Lucent OmniPCX Office Nb. de pages: 9 Communication Technique TC1553 Ed 03 Date : 14/06/2012 Produit : Alcatel-Lucent OmniPCX Office Nb. de pages: 9 Objet : OmniPCX Office R8.2 - My IC Mobile pour iphone 1 INTRODUCTION 2 2 CONFIGURATION ET

Plus en détail

Professeur-superviseur Alain April

Professeur-superviseur Alain April RAPPORT TECHNIQUE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE DANS LE CADRE DU COURS LOG792 PROJET DE FIN D ÉTUDES EN GÉNIE LOGICIEL PHP PROJECT TRACKER GESTIONNAIRE DE PROJECT LOGICIEL LOUIS-ALEXANDRE

Plus en détail

Catalogue Augmenté. Projet : Interfaces Multimodales

Catalogue Augmenté. Projet : Interfaces Multimodales Catalogue Augmenté Projet : Interfaces Multimodales Réalisé par Nicolas Martenet Patrick Terreaux Timothée Maret Semestre d'été 2006 Table des matières 1 Introduction... 3 2 Principe...3 2.1 Principe Global...

Plus en détail

Alcatel-Lucent OpenTouch Conversation pour PC. Guide utilisateur R2.0.2. 8AL90631FRABed02 1443

Alcatel-Lucent OpenTouch Conversation pour PC. Guide utilisateur R2.0.2. 8AL90631FRABed02 1443 Alcatel-Lucent OpenTouch Conversation pour PC Guide utilisateur R.0. 8AL9063FRABed0 443 . OpenTouch Conversation pour PC... 3. Lancer OpenTouch Conversation... 3 3. Description de la page d accueil...

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

Naviguer CHARGER ET QUITTER INTERNET EXPLORER

Naviguer CHARGER ET QUITTER INTERNET EXPLORER Naviguer UTILISER UN NAVIGATEUR CHARGER ET QUITTER INTERNET EXPLORER Pour pouvoir travailler avec votre application Internet Explorer il est indispensable de l'ouvrir. Pour réaliser cette opération plusieurs

Plus en détail

Mise à jour 46 de l ENT itslearning Août 2014

Mise à jour 46 de l ENT itslearning Août 2014 Mise à jour 46 de l ENT itslearning Août 2014 C'est bientôt la rentrée, et quelques mises à jour intéressantes vous attendent : un accès direct aux informations les plus pertinentes un processus de connexion

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

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

La boîte à outils du CPE

La boîte à outils du CPE La boîte à outils du CPE ProNote VS I - Présentation générale ProNote VS est développé par Index Éducation, société par ailleurs bien connue dans les établissements scolaires pour EdT, un programme de

Plus en détail

Sauvegarde automatique des données de l ordinateur. Manuel d utilisation

Sauvegarde automatique des données de l ordinateur. Manuel d utilisation Sauvegarde automatique des données de l ordinateur Manuel d utilisation Sommaire 1- Présentation de la Sauvegarde automatique des données... 3 2- Interface de l'application Sauvegarde automatique des données...

Plus en détail

Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT Cedex Tel : 01 30 48 91 88 / Fax : 01 30 57 49 70

Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT Cedex Tel : 01 30 48 91 88 / Fax : 01 30 57 49 70 Utilisateurs et Groupes Stage personnes ressources réseau en établissement janvier 2005 Formateurs : Jackie DAÖN Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT

Plus en détail

Catalogue de formation

Catalogue de formation 4 rue Jules Raimu 31 200 Toulouse http://www.creabilis.com contact@creabilis.com Tél. : 05 34 251 641 Fax : 05 34 257 956 Catalogue de formation CREABILIS S.A.R.L au capital de 7500 - R.C.S. Toulouse 441

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

Plus en détail

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense, QlikView,

Plus en détail

Une étape d'utilisation par la saisie des fiches de contrôle et la synchronisation serveur / poste nomade.

Une étape d'utilisation par la saisie des fiches de contrôle et la synchronisation serveur / poste nomade. Module Qualité dans QuadraPROPRETE Sommaire 1. PRINCIPES DE FONCTIONNEMENT... 2 2. MISE EN PLACE DE LA TOPOGRAPHIE DES LOCAUX A CONTROLER... 2 2.1. Les éléments... 2 2.2. Les sous familles d'éléments...

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Prise en main du cartable en ligne professeur

Prise en main du cartable en ligne professeur Prise en main du cartable en ligne professeur V1 1 Accéder au «Cartable en Ligne» de l établissement L accès au «Cartable en Ligne» se fait en mode sécurisé avec le lien situé sur le site du collège (http://ent.clb.free.fr

Plus en détail

MEGA Architecture. Guide de démarrage

MEGA Architecture. Guide de démarrage MEGA Architecture Guide de démarrage MEGA 2009 SP5 1ère édition (mars 2011) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune manière

Plus en détail

Génie logiciel, conduite de projets... Mémo. Utilisation de subversion et de forge. Bruno Zanuttini, Jean-Luc Lambert, François Rioult

Génie logiciel, conduite de projets... Mémo. Utilisation de subversion et de forge. Bruno Zanuttini, Jean-Luc Lambert, François Rioult Université de Caen Basse-Normandie Département d informatique Tous diplômes, 2012 2013 Unité : N/A Génie logiciel, conduite de projets... Mémo. Utilisation de subversion et de forge Bruno Zanuttini, Jean-Luc

Plus en détail

Applications Web dynamiques SIO-21970

Applications Web dynamiques SIO-21970 Faculté des sciences de l'administration Systèmes d'information organisationnels Université Laval Automne 2003 Applications Web dynamiques SIO-21970 Professeur: Dzenan Ridjanovic Bureau: 2519 Téléphone:

Plus en détail

touscours.net Rapport de Synthèse Cycle en V, UP et SCRUM

touscours.net Rapport de Synthèse Cycle en V, UP et SCRUM Rapport de Synthèse Cycle en V, UP et SCRUM Réalisé par : BELLINI Quentin GNANAKULENTHIRAN Anitha GOVINDEN Johana MEZINE Ahcene TIMZOUERT Chabane 19/10/2011 www.sup-galilee.univ-paris13.fr Table des matières

Plus en détail

Support de formation webo-facto. Version 1.7 Mise à jour : Vendredi 06 Avril 2012

Support de formation webo-facto. Version 1.7 Mise à jour : Vendredi 06 Avril 2012 Version 1.7 Mise à jour : Vendredi 06 Avril 2012 1 Préambule Ce support de cours a pour objectif de vous présenter le webo-facto. Ce support n'a pas pour objet de se substituer à la formation présentielle,

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

Plus en détail

SURF MOODLE PILAR PAGÉS VALLEJO. CAMPUS VERTICAL www.campusvertical.es info@campusvertical.es

SURF MOODLE PILAR PAGÉS VALLEJO. CAMPUS VERTICAL www.campusvertical.es info@campusvertical.es INFORMATIONS GENERALES TITRE DE LA MEILLEURE PRATIQUE TITRES ET QUALIFICATIONS DE L AUTEUR SURF MOODLE PILAR PAGÉS VALLEJO PROFESSEUR DANS LE DOMAINE DES TECHNOLOGIES MASTER EN TECHNOLOGIES EDUCATIVES

Plus en détail