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

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

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

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

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

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

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

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

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

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

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

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

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

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

Introduction à PHP. Chapitre 1. Difficulté :

Introduction à PHP. Chapitre 1. Difficulté : Chapitre 1 Introduction à PHP Difficulté : C e qui fait le succès du Web aujourd hui, c est à la fois sa simplicité et sa facilité d accès. Un internaute lambda n a pas besoin de savoir «comment ça fonctionne

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

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

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

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

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

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

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

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Conception et développement des plates-formes webs, de services et des applications mobiles des clients Entreprise: Yaal

Conception et développement des plates-formes webs, de services et des applications mobiles des clients Entreprise: Yaal Université Bordeaux 1 Master Informatique spécialité Système et Réseaux parcours Réseaux Conception et développement des plates-formes webs, de services et des applications mobiles des clients Entreprise:

Plus en détail

TeamViewer 9 Manuel Management Console

TeamViewer 9 Manuel Management Console TeamViewer 9 Manuel Management Console Rév 9.2-07/2014 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Sommaire 1 A propos de la TeamViewer Management Console... 4 1.1 A propos de la

Plus en détail

http://www.linea21.com info@linea21.com

http://www.linea21.com info@linea21.com Livre blanc http://www.linea21.com SOMMAIRE SOMMAIRE... 1 PRESENTATION... 2 TIC ET DEVELOPPEMENT DURABLE... 3 PUBLIER ET COMMUNIQUER... 4 LES GROUPES DE TRAVAIL...5 LE TABLEAU DE BORD PERSONNALISE... 6

Plus en détail

Sage CRM. 7.2 Guide du portable

Sage CRM. 7.2 Guide du portable Sage CRM 7.2 Guide du portable 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

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

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

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

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

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

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

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

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

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

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

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

CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2

CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2 Table des matières CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2 CLIENT/SERVEUR :... 2 Les principes de base...2 MIDDLEWARE... 3 VUE EN NIVEAUX... 3 1 Tier...3 2 Tier...3 3 Tier...3 n Tier...4 L'ÉVOLUTION

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

Rapport d'audit. «Librairie Informatique»

Rapport d'audit. «Librairie Informatique» GL51 Rapport d'audit «Librairie Informatique» Code : BATSPETA-000 Maîtrise d'oeuvre Maîtrise d'ouvrage Responsables de l'audit M. Fischer M. Petrequin Melle Bats, M. Petazzoni Date rédaction : 05/01/04

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

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

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

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A Durée : 1 jour A propos de ce cours Cette formation d'un jour, Nouveautés de Microsoft Dynamics CRM 2011, fournit aux étudiants les outils et informations

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

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

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

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

Premiers pas sur e-lyco

Premiers pas sur e-lyco Premiers pas sur e-lyco A destination des parents, ce document présente les premiers éléments pour accéder aux services de l'ent e-lyco d'un lycée. Que signifient ENT et e-lyco? ENT = Espace ou Environnement

Plus en détail

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic IUT d Orsay Première Année Introduction à l Interaction Homme-Machine Février 2014 Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic Cette introduction à Visual Studio est

Plus en détail

FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID)

FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID) FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID) Table des matières I. Pôle de compétences concernées... 3 II. Circonstance et contexte... 3 III. Situation professionnelle et

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

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

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet Projet ISN - dossier réalisé par Randrianarimanana Stéphanie Titre du projet : Site de rencontre le nom de notre site de rencontre : Linkymeet ( tout astérisque* signifie voir annexe) l'équipe : Randrianariamanana

Plus en détail

Avant-Propos Sencha Touch

Avant-Propos Sencha Touch Avant-Propos Développeurs web, vous qui souhaitez vous diversifier et appréhender simplement le développement mobile, mais redoutez un apprentissage long d un langage que vous ne connaissez pas, vous allez

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail

IMA promotion 2009. Rapport de stage de première année. Stage industriel au Crédit du Nord

IMA promotion 2009. Rapport de stage de première année. Stage industriel au Crédit du Nord DUBRULLE Alain ENSEEIHT IMA promotion 2009 Rapport de stage de première année Stage industriel au Crédit du Nord Sommaire Présentation de l entreprise Le Crédit du Nord 3 La Direction des Systèmes d'information

Plus en détail

claroline classroom online

claroline classroom online de la plate-forme libre d'apprentissage en ligne Claroline 1.4 Manuel Révision du manuel: 06/2003 Créé le 07/09/2003 12:02 Page 1 Table des matières 1) INTRODUCTION...3 2) AFFICHER LA PAGE DE DEMARRAGE...3

Plus en détail

Scolasite.net, le créateur de site web au service des enseignants. Guide d'administration du site Internet. Page 1

Scolasite.net, le créateur de site web au service des enseignants. Guide d'administration du site Internet. Page 1 Guide d'administration du site Internet Page 1 Scolasite permet de créer rapidement un site Internet, sans connaissances techniques particulières. Spécialement destiné aux établissements scolaires, son

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 MIETLICKI Pascal 3 MIC C2 BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 1. Mode Console... 2 2. Mode Graphique... 2 3. Architecture de notre logiciel... 3 4. Manuel d utilisation... 5 5. Aide au joueur...

Plus en détail

Sage CRM. Sage CRM 7.3 Guide du portable

Sage CRM. Sage CRM 7.3 Guide du portable Sage CRM Sage CRM 7.3 Guide du portable Copyright 2014 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

Les CMSs, comment ça marche et comment choisir le bon CMS? (mon site, pas à pas)

Les CMSs, comment ça marche et comment choisir le bon CMS? (mon site, pas à pas) Les CMSs, comment ça marche et comment choisir le bon CMS? (mon site, pas à pas) Author : soufiane Bonjour, J'ai parlé dans les tutoriels précédents de la série "mon site, pas à pas" sur les divers langages

Plus en détail

Calendrier des Formations

Calendrier des Formations Systèmes et Réseaux IPV6 980,00 HT Jan. Fév. Mar. Avr. Mai Juin Jui. Août Sept. Oct. Nov. Déc. Comprendre IPV6 et explorer les méthodes pour migrer 14-15 23-24 1-2 26-27 Configuration et Maintenance des

Plus en détail

TÉLÉPHONE ALCATEL-LUCENT IP TOUCH 8 SERIES. Bien plus qu'un simple téléphone!

TÉLÉPHONE ALCATEL-LUCENT IP TOUCH 8 SERIES. Bien plus qu'un simple téléphone! TÉLÉPHONE ALCATELLUCENT IP TOUCH 8 SERIES Bien plus qu'un simple téléphone! JE NE SUIS PAS UN TÉLÉPHONE... JE SUIS VOTRE AGENT DE SÉCURITÉ. JE SUIS VOTRE AGENT DE CENTRE D'APPEL. JE SUIS UN ASSISTANT DE

Plus en détail

Sage 100 CRM - Guide de démarrage rapide Version 8. Mise à jour : 2015 version 8

Sage 100 CRM - Guide de démarrage rapide Version 8. Mise à jour : 2015 version 8 Sage 100 CRM - Guide de démarrage rapide Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré

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

UTILISATION D'ANCESTRIS POUR DÉBUTANT(E)S. B-A Ba Light pour la version 0.7

UTILISATION D'ANCESTRIS POUR DÉBUTANT(E)S. B-A Ba Light pour la version 0.7 UTILISATION D'ANCESTRIS POUR DÉBUTANT(E)S B-A Ba Light pour la version 0.7 1 Comment obtenir Ancestris N'hésitez pas, ça ne mord pas et c'est gratuit. Et pour le même prix vous avez l'aide de toute l'équipe

Plus en détail

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 Environnement : Ce projet a été réalisé en deuxième année de BTS, il s'agit d'un travail de groupe

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

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013 Rapport de stage Création d un site web Stage du 20/01/2013 au 21/02/2013 Auteur : Antoine Luczak Tuteur professionnel : M. Tison Tuteur scolaire : Mme Girondon Année scolaire : 2013/2014 1 Table des matières

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents Diffusé par Le Projet Documentation OpenOffice.org Table des Matières 1. Les Versions...3 2. Les Modifications...5

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

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

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

Le référencement gratuit sur internet grâce aux nouveaux outils

Le référencement gratuit sur internet grâce aux nouveaux outils Le référencement gratuit sur internet grâce aux nouveaux outils Le site internet n est plus la seule solution pour être visible sur le web. Il existe une multitude d outils qui communiquent entre eux et

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Développement XPages : Cursus standard

Développement XPages : Cursus standard Développement XPages : Cursus standard Modules Pré requis Développeur Notes 2 jours Développeur Web 2 jours Module principal Développeur XPages 3 jours Modules spécialisés 2 jours par module dojo et dijit

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

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007

Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007 Portage et développement de jeux Java sur téléphones mobiles Table des matières I Présentation de l'entreprise II Présentation des projets effectués III Le portage d'un jeu sur téléphones mobiles IV Conclusion

Plus en détail

Guide d'utilisation rapide de Polycom RealPresence Content Sharing Suite

Guide d'utilisation rapide de Polycom RealPresence Content Sharing Suite Guide d'utilisation rapide de Polycom RealPresence Content Sharing Suite Version 1.2 3725-69871-001 Rév. A Novembre 2013 Ce guide vous apprend à partager et à visualiser des contenus pendant une téléconférence

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Réalisation d'une application de gestion des candidatures

Réalisation d'une application de gestion des candidatures Réalisation d'une application de gestion des candidatures Rapport de Projet Pierre Daval et Antoine Faivre Octobre 2010 à Mars 2011 Licence Professionnelle Systèmes Informatiques et Logiciels de Besançon

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

ANNEXE CV : Liste des sites web (internet et intranet)

ANNEXE CV : Liste des sites web (internet et intranet) ANNEXE CV : Liste des sites web (internet et intranet) 1. Créations professionnelles Code des couleurs Bleu : la dernière version en ligne est celle que j'ai crée, le site est toujours en ligne. Bleu clair

Plus en détail

Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS

Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS 1 PleskWebpack MAS_FR- Octobre 2010 SOMMAIRE - Introduction 1 - Créer un compte FTP et les droits d accès 2 - Utiliser l outil de rapport (statweb,

Plus en détail

Administration du site (Back Office)

Administration du site (Back Office) Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface

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

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV I ) Qu'est-ce que Symfony? II ) Force et Faiblesse III ) Comparaison de Framework identiques IV ) Exemple d'utilisation I ) Symfony Symfony est un framework

Plus en détail

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience N0033 INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O 30 ans - 6 ans d'expérience Expert ises mét iers : Langues : Editeur de logiciels, E- Commerce Vietnamien (Langue maternelle), Anglais (Débutant)

Plus en détail

MINI-MÉMOIRE DE PPP - S4

MINI-MÉMOIRE DE PPP - S4 MINI-MÉMOIRE DE PPP - S4 Par [OUAZAR ARIS-ARAB] [S4-G2] [AYME OLIVIA] TABLE DES MATIÈRES ANALYSE DE L ENTREPRISE # PRESENTATION DE L ENTREPRISE # LISTE ET DESCRIPTION DES DIFFERENTS METIERS REPRESENTES

Plus en détail