Sujets :
Description :
Consultation d’annuaire d’entreprises par messages SMS à partir d’un GSM
Lors d’un déplacement, un collaborateur d’entreprise (un commercial par exemple) peut avoir besoin de se procurer les coordonnées d’un autre collaborateur. Afin d’éviter de stocker les coordonnées de tous les collaborateurs de l’entreprise dans son téléphone mobile et afin de centraliser toutes ces informations, il a été décidé de créer une base de données dont les requettes se feront à partir d’un téléphone GSM à l’aide du système de messages SMS.
Développement de l’Extranet Partenaires et Prescripteurs de Cegetel
Cet Extranet permet de mettre en ligne et à disponibilité de tous les partenaires et prescripteurs de Cegetel des documents et des informations tels que des offres, des agendas, etc. Les clients de Cegetel peuvent mettrent en ligne leurs propres documents via une interface d’administration dynamique. Cette deuxième version de ce site Web est réalisé en ColdFusion qui est un langage pour faire des pages dynamiques et interactives.
Développement du Portail Intranet Mobile en WAP
Cette offre va permettre aux collaborateurs des entreprises qui auront souscrit à ce service, de se connecter à divers services WAP à l’aide de leur mobile. Chaque entreprise pourra créer des groupes de services WAP afin d’autoriser l’accès à des services à certains collaborateurs et pas à d’autres. Ces groupes de services seront gérés par l’administrateur WAP de l’entreprise.
English version :
Subjects :
Description :
Consultation of directory of companies by messages SMS starting from a GSM
During a ship, a collaborator of company (e.g. a business man) can need to get the address of another collaborator. In order to avoid storing the addresses of all the collaborators of the company in his mobile phone and in order to centralize all this information, it was decided to create a data base whose requettes will be made starting from a GSM mobile using the system of messages SMS.
Development of Extranet Partners and Prescribers of Cegetel
This Extranet makes it possible to put on-line and available for all the partners and prescribers of Cegetel, some documents and information such as offers, diaries, etc. The customers of Cegetel can upload on-line their own documents via a dynamic interface of administration. This second version of this Web site is carried out in ColdFusion which is a language to make dynamic and interactive pages.
Development of the Mobile Intranet Portal in WAP technology
This offer will allow collaborators of enterprises who will have subscribed to this service, to connect to various WAP services with the help of their mobile. Each enterprise will be able to create groups of WAP services so as to authorize the access to services for certain collaborators. These groups of services will be managed by the administrator WAP of the enterprise.
Consultation d’annuaire d’entreprises par messages SMS à partir d’un GSM
GSM, SMS, C, Client/Serveur, LDAP, Base de données, Oracle, Serveur SQL, Extranet, MCIS, ASP, Annuaire d’entreprises
Développement de l’Extranet Partenaires et Prescripteurs de Cegetel
ColdFusion, HTML, CFML, JavaScript, Extranet, Web Dynamique
Développement du Portail Intranet Mobile en WAP
WAP, Wireless Application Protocol, WML, Wireless Markup Language, SSL, PHP, CSS, Mobile WAP, Intranet, Oracle, SQL
English version :
Consultation of directory of companies by messages SMS starting from a GSM
GSM, SMS, C, Client/Server, LDAP, Data Bases, Oracle, SQL Server, Extranet, MCIS, ASP, Compagny directory
Development of Extranet Partners and Prescribers of Cegetel
ColdFusion, HTML, CFML, JavaScript, Extranet, Dynamic Web
Development of the Mobile Intranet Portal in WAP technology
WAP, Wireless Application Protocol, WML, Wireless Markup Language, SSL, PHP, CSS, Mobile WAP, Intranet, Oracle, SQL
Je remercie également :
Voici une répartition approximative des trois projets dans lesquels je me suis impliqués depuis le mois de février 2000.
Année 2000 | février | mars | avril | mai | juin |
Projets | SMS, PetP | SMS, PetP | PetP, PIM | PIM | PIM |
SMS | Consultation d’annuaire d’entreprises par messages SMS à partir d’un GSM |
PetP | Développement de l’Extranet Partenaires et Prescripteurs de Cegetel |
PIM | Développement du Portail Intranet Mobile en WAP |
Pour me contacter :
Pour plus d’informations sur les entreprises et sur l’école :
Mon stage se déroule au département « Activité Internet » - service ingénierie. Le 10 février 2000, date de début de mon stage, l’Activité Internet faisait partie de Cegetel Entreprises. Le 26 mai 2000, Marc LAPORTE, chef de l’Activité Internet (Cegetel), et Brett RAYNES, président d’Interliant Europe, signent un accord qui tranfère tous les actifs de l’Activité Internet de Cegetel vers Interliant France qui fait partie d’Interliant Europe. Le 1er juin 2000, tous les employés de l’Activité Internet deviennent effectivement collaborateurs Interliant.
Cette alliance signée entre Cegetel et Interliant illustre la stratégie et les synergies entre les différentes entités du groupe Vivendi. Ainsi elle a été rendue possible grâce à @Viso, incubateur technologique européen issu d’une alliance stratégique entre Vivendi et Softbank.
@Viso est une joint-venture associant Vivendi et Softbank, destinée à aider les sociétés non européennes à réussir leur installation et à accélérer leur développement sur les marchés d’Europe continentale. @Viso participe au financement des lancements européens sous la forme de joint-venture 50/50. @Viso offre également via Vivendi et Softbank, l’accès à des partenariats stratégiques de premier plan. Dans le cadre de Vivendi, les sociétés incubées par @Viso seront les partenaires privilégiés de Vizzavi, le portail européen Multi-Accès de Vivendi et Vodafone AirTouch. Vivendi et Softbank ont récemment porté la dotation d’@Viso à hauteur de 500 millions d’euros afin de soutenir son développement.
Softbank et Vivendi financent à 50/50 @Viso, l’incubateur de Start-Up. Et, Interliant US et @Viso financent à 51/49 Interliant Europe dont Interliant France fait partie. Ainsi, le 1er juin 2000, tous les actifs de l’Activité Internet de Cegetel sont passés dans le groupe Interliant France.
SAS : Société par Actions Simplifiée
Avec un chiffre d’affaires de 4,1 milliards d’Euros en 1999 et 8 000 collaborateurs dans toute la France, Cegetel est le deuxième opérateur de télécommunications en France. Opérateur global, il couvre l’ensemble des activités de télécommunication tant pour les particuliers que pour les entreprises. Dans la téléphonie mobile, SFR, compte plus de 8 millions de clients et propose une offre commerciale diversifiée et adaptée aux attentes de tous ses clients. Dans la téléphonie fixe, le « 7 » compte plus de 1,9 million de lignes clientes. Les services aux entreprises (téléphonie, données, Internet, numéros 800, etc.) comptent plus de 25 000 clients.
Le réseau Internet de Cegetel est constitué de 112 points de présence en France, d’un c ur de réseau en ATM avec des liaisons à 34 Mbits/s et d’une infrastructure internationale via les réseaux de ses différents partenaires (Level 3, Ebone, Concert...). Enfin, Cegetel est l’un des acteurs majeurs de l’Internet sous les marques AOL et Compuserve qui comptent 600 000 abonnés ainsi qu’au travers du Réseau de Santé Social (RSS) avec ses 20 000 clients professionnels de la santé.
Février 1988 | Création de SFR |
Mars 1989 | Lancement commercial du réseau analogique de SFR |
Avril 1993 | Lancement commercial du réseau GSM SFR |
4 septembre 1996 | Création de Cegetel |
11 février 1997 | SFR a 1 million de clients |
Avril 1997 | Signature de l’accord avec la SNCF. Télécom Développement devient une filiale commune de Cegetel et de la SNCF |
Septembre 1997 | Cegetel obtient le préfixe 7 pour commercialiser son service de téléphonie longue distance |
Décembre 1997 | SFR a 2 millions d’abonnés |
31 décembre 1997 | Cegetel obtient la concession du Réseau Santé Social |
1er février 1998 | Cegetel commercialise son offre de téléphonie fixe vers le grand Public et les professionnel : le 7 |
1er juin 1998 | Les services du 7 sont disponibles dans toute la France métropolitaine |
Juillet 1998 | SFR passe le cap des 3 millions d’abonnés |
24 novembre 1998 | Intégration de la téléphonie fixe et mobile dans les entreprises : Cegetel lance Convergence |
26 mars 1999 | SFR lance e.medi@, l’accès depuis un portable à un bouquet de services interactifs. |
3 mai 1999 | Signature de l’accord cadre sur les 35 heures. |
15 juin 1999 | SFR passe le cap des 5 millions de clients. |
30 novembre 1999 | SFR est numéro 1 pour la qualité du réseau selon l’enquête ART. |
30 décembre 1999 | SFR passe le cap des 7 millions de clients et le « 7 » la barre de 1 million de clients. |
15 janvier 2000 | Entrée en vigueur de la présélection qui permet d’accéder à l’opérateur téléphonique de son choix sans avoir à composer obligatoirement un préfixe autre que le « 0 ». |
31 janvier 2000 | Accord Vivendi/Vodafone pour développer un portail multi-accès européen de l’Internet. |
13 avril 2000 | SFR passe le cap des 8 millions d’abonnés |
26 avril 2000 | Cegetel lance, en partenariat avec les Banques Populaires, puissance net : une offre de commerce électronique destinée aux PME-PMI. |
26 mai 2000 | Signature d’un accord entre Cegetel et Interliant. |
1er juin 2000 | Transfère des actifs Activité Internet de Cegetel vers Interliant. |
Nombre d’abonnés SFR | 8 000 000 au 13 avril 2000 |
Couverture du réseau SFR | 98% de la population (GSM 2 watts) |
Le 7 de Cegetel | Plus de 1,8 million de lignes |
Nombre d’appels | 31 000 appels quotidiens |
Chiffre d’Affaires | 4,078 milliards d’euros en 1999 |
C.A. | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 |
Cegetel | 1.7 | 2.5 | 2.9 | 5.8 | 10.6 | 18.9 |
Dont SFR | 1.4 | 1.5 | 2.5 | 5.1 | 9.1 | 17.5 |
I.T. | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 |
Cegetel | 1.0 | 2.3 | 4.1 | 4.2 | 7.0 | 10.9 |
Dont SFR | 0.9 | 1.9 | 3.3 | 2.7 | 3.8 | 9.1 |
Cegetel a mis en place des structures couvrant l’ensemble de ses marques mais réparties en fonction des deux principaux marchés. La nouvelle organisation s’appuie ainsi sur une branche Grand Public et Professionnels et une branche Entreprises. Leur mission est de développer, commercialiser et exploiter le portefeuille de produits et services de Cegetel sur leurs marchés respectifs.
Les deux branches marchés sont aidées dans leur développement par trois directions techniques :
L’actionnariat :
Cegetel s’appuie sur un actionnariat puissant, cohérent et pérenne associant Vivendi, actionnaire de référence et des grands opérateurs internationaux, BT, Mannesmann et SBC.
Ce pool d’actionnaires permet également la mise en commun de ressources (réseaux, canaux de distribution et services clients), l’intégration des offres produit pour répondre aux attentes des clients (fixe/mobile, téléphone/Internet).
Les offres de téléphonie fixe
L’offre Pléiade de Cegetel a été conçue sur mesure pour les entreprises. Elle permet aux entreprises de garder leurs numéros de téléphone, leurs postes téléphoniques et leur PABX actuel. Leurs collaborateurs téléphonent comme avant sans préfixe, sans codes, sans carte ...
La téléphonie mobile
SFR a donc créé une offre spécifique pour les entreprises avec pour enjeux d’améliorer la productivité, une totale souplesse de gestion et une maîtrise budgétaire.
Les services de données de Cegetel entreprises
Dès aujourd’hui, Cegetel propose des réponses personnalisées et évolutives à tous les besoins d’interconnexion, de la création d’un réseau privé d’entreprise jusqu’à une vitrine commerciale sur Internet, et ce, en France comme dans le monde entier.
SFR : La référence du monde sans fil
Plus de 8 millions d’abonnés.
Le 7 : le premier challenger sur la téléphonie fixe
Les service d’accès Internet de Cegetel
Interliant est un pionnier devenu leader sur le marché des applications hébergées (ASP3). Interliant emploie aujourd’hui plus de 800 personnes à travers le monde et a implémenté des solutions pour plus de 90 000 clients.
Interliant exploite des data centers à Atlanta (Géorgie), Houston (Texas), Colombus (Ohio) et Vienna (près de Washington DC). Le siège social d’Interliant est basé à New York. Interliant offre des solutions d’hébergement de sites web, gestion de messagerie et de bases de connaissances (KM), sécurité, commerce électronique, gestion de la relation client (CRM), gestion de l’entreprise (ERP), e-formation, et des services de location d’applications par l’intermédiaire d’AppsOnline.com. Interliant a conclu des accords stratégiques avec des entreprises leaders du monde du logiciel, des réseaux et du hardware parmi lesquels Dell Computer, IBM, Lotus Development Corp., Microsoft, BMC software, Network Solutions.
Interliant Europe est une joint-venture annoncée en octobre 1999 entre @Viso et Interliant Inc. Interliant Europe est déjà présent à Londres et vient d’ouvrir un bureau à Paris dont la vocation est d’être le headquarter européen. Interliant projette de développer ses ventes d’hébergement et de services professionnels en Europe continentale, en pratiquant la qualité de service et les niveaux de disponibilité élevés qui ont fait sa réputation au Royaume Uni depuis cinq ans et aux Etats-Unis depuis sa création.
Le développement d’application web avec le langage et le logiciel ColdFusion4 4.0.
ColdFusion est un système de développement d’aplications web pour les développeurs professionels qui veulent créer des applications web dynamiques et des sites web interactifs. C’est un moyen rapide pour intégrer les technologies du navigateur, du serveur et d’une base de données dans des applications web puissantes.
Les applications sont construites en combinant le langage standard HTML5 et le langage de ColdFusion : le ColdFusion Markup Language (CFML).
Voici les quatre principales caractéristiques de ColdFusion :
Toutes ces explications ont été trouvées dans [5]Getting Started with ColdFusion (page 29).
Le développement d’application web avec le logiciel Dreamweaver11 3.
Dreamweaver12 est un logiciel très complet et très convivial. De plus, il intègre de nombreuses fonctionnalités comme l’édition simultannée de la page en WYSIWYG13 et de son code source HTML, la génération de code JavaScript compatible Netscape et Internet Explorer, l’édition de feuille de style, l’édition du comportement à des événements, la gestion de librairies et de modèles, etc.
Ce logiciel est très ouvert : c’est-à-dire qu’il est très facile d’implémenter ses propres fonctions, ces propres boutons et ces propres menus.
Il permet, aussi, de tester la compatibilité du code HTML pour diverses versions des différents navigateurs Internet, de tester les liens cassés et les fichiers orphelins. Et tout cela sans être contraignant : c’est-à-dire que ce logiciel ne vous imposera aucun formatage de votre code source si vous ne le lui demander pas ; vous maîtrisez entièrement le code HTML que vous générez.
Un des outils très puissant de Dreamweaver est l’édition et la gestion de librairies et de modèles. Ces derniers ont été utilisés pour le projet Portail Intranet Mobile . Ces modèles sont uniquement gérés au moment de l’édition d’une page web avec ce logiciel. Une fois en ligne, sur le serveur de production, la page resemble à toutes autres pages. Seules quelques lignes de commentaire HTML sont écritent dans le fichier afin d’indiquer au logiciel Dreamweaver que certaines parties de cette page font parties d’un modèle en particulier. Les modèles ont deux types de parties différentes : les parties du modèle et les parties éditables propres à chaques pages. Supposont un site dont une centaine de pages HTML sont basées sur un seul et même modèle. Si l’on veut modifier toutes les parties de ce modèle qui se trouvent dans cette centaine de pages, il suffit de modifier le modèle et toutes ces parties communes seront modifiées dans la centaine de fichiers HTML, sans modifier les parties éditables propres à chaques pages web de ce site.
Un des autres outils très convivial de ce logiciel est l’édition de feuilles de styles. Il suffit de cocher quelques checkboxes et de sélectionner quelques paramètres. Et Dreamweaver génère automatiquement le fichier CSS parfaitement conforme à la Recommandation14 du W3C.
Voici une capture d’un écran d’édition du projet Portail Intranet Mobile dans l’environement de travail multifenêtré du logiciel.
PHP est un langage de script qui s’intègre directement dans les pages web.
La syntax de ce langage ressemble beaucoup au langage C. A l’origine ce langage a été développé pour rendre les pages web personnelles plus interactive, d’où son nom PHP - Personal Home Page.
De plus, PHP propose un grand nombre de bibliothèques de fonctions dont des librairies multimédia, des librairies utilitaires pour les SGBD (comme Oracle et Sybase) et des librairies pour le protocole IP. Ces fonctions, sont très largement utilisées pour le projet Portail Intranet Mobile (C.F. chapitre 10 page pageref).
Un exemple du code PHP du projet Portail Intranet Mobile est à l’annexe C.3 page pageref.
Pour les références techniques sur PHP, le livre utilisé est [6]Programmation en PHP.
SQL est un langage de script qui permet de faire des requêtes dans une base de données. Durant mes différents projets les bases utilisées étaient Oracle 8i et FoxPro.
Pour les références techniques sur Oracle et SQL les deux livres suivants sont très bien :
Cette partie présente le projet et en définit ses caractéristiques générales.
Le service annuaire par SMS permet à un salarié d’une entreprise ayant souscrit à l’offre convergence15 de consulter l’annuaire de son entreprise via un GSM SFR d’entreprise en envoyant un message SMS et d’obtenir en retour un message SMS réponse contenant les coordonnées téléphoniques de la personne recherchée, à savoir, nom, prénom et en fonction des données disponibles et du nombre d’individus dans la réponse : le numéro de GSM long et/ou le numéro de GSM court et/ou le numéro de téléphone fixe long et/ou le numéro de téléphone fixe court, le numéro de fax et/ou l’adresse e-mail.
Pour pouvoir accéder au service l’individu doit appartenir à une entreprise ayant souscrit à l’offre convergence et ayant fourni son annuaire à Cegetel ; et disposer d’un GSM SFR d’entreprise référencé dans le PNP16 du client dans le SI VPN17 de SFR.
Afin de mieux comprendre les paragraphes qui suivent, il peut être intéressant de se référer à la figure B.1 page pageref.
L’utilisateur du service souhaitant consulter l’annuaire de son entreprise le fait en envoyant, à l’aide de son mobile un message SMS contenant les premières lettres du nom de la personne recherchée. Pour référencer le service, il utilise le numéro du service.
L’application proxy SMS-C LDAP est considérée, du point de vue du SMS-C, comme un grand compte. Ainsi, les messages SMS question sont remis à l’application par le protocole EMI18.
Pour pouvoir répondre à la question reçue, le proxy SMS-C LDAP, doit consulter la base de donnée Oracle présente sur la même machine. Cette base contient un sous-ensemble des données du SI VPN. Elle est utile pour, d’une part authentifier le mobile émetteur du message SMS, connaître le VPN ID de l’entreprise possédant ce mobile, et d’autre part, récupérer les numéros courts correspondant aux numéros longs pour chaque individus dans l’annuaire, correspondant à la recherche.
Un annuaire LDAP référence, pour chaque VPN, l’ensemble des personnes pouvant être consultées via le service. Pour chaque personne, un ensemble d’informations (Nom, prénom, numéro fixe, numéro long, etc.) est renseigné. Le serveur d’annuaire utilisé est MCIS. Le proxy SMS-C LDAP questionne cet annuaire pour connaître tous les individus correspondant à la question posée.
Lorsque la réponse à la question reçue a été obtenue, elle est formatée pour tenir dans un message SMS et envoyée via le SMS-C au mobile émetteur.
Il a été prévu de donner la possibilité aux entreprises clientes d’utiliser leur propre annuaire LDAP. Tous les autres annuaires sont mutualisés au sein d’un annuaire LDAP MCIS hébergé par Cegetel. on parle alors de l’annuaire mutualisé. Dans cet annuaire, les différents clients sont référencées par leur VPN ID19. Ainsi, lorsque le proxy SMS-C LDAP envoie une requête au serveur MCIS, il ne récupère en retour que des individus du même VPN que l’émetteur de la question.
Afin de mettre à jour les informations contenues dans l’annuaire MCIS, chaque entreprise cliente a accès à une console d’administration web.
L’application proxy SMS-C LDAP ne peut fonctionner correctement de manière durable si un certain nombre d’actions ne sont pas réalisées périodiquement.
Il est nécessaire que de manière régulière, les données du SI VPN soit importées et viennent mettre à jour la base Oracle. Les fichiers de traces doivent être régulièrement effacés afin de ne pas saturer la mémoire disque. De même les statistiques doivent être quotidiennement traitées et archivées. Ces actions sont mises en uvre par le démon cron.
L’application proxy SMS-C LDAP a été programmée en langage C ANSI, compilée avec le compilateur gcc. Elle a été écrite pour une machine SUN avec le système d’exploitation Solaris 2.6. Les deux processus la constituant sont multithreads et utilisent les threads posix. Les IPC20 du système V sont également utilisés. La réécriture du programme pour un autre système Unix implémentant les IPC système V est donc envisageable.
La nature multithread des processus a nécessité de n’utiliser que des appels systèmes compatibles.
L’ensemble du code permet de générer deux processus : le proxy SMS-C et le serveur d’annuaire.
Les binaires sont constitués d’exécutables (un pour chacun des deux processus) et de librairies dynamiques (une pour chaque module fonctionnel).
Le proxy SMS-C constitue avec le serveur d’annuaire l’application proxy SMS-C LDAP. Il s’agit d’un processus communicant avec un SMS-Center (SMS-C) distant et le serveur d’annuaire présent sur la même machine (la machine du grand compte).
Le traitement d’une requête au service d’annuaire par SMS est du point de vue du proxy SMS-C la suivante :
Le serveur d’annuaire permet la résolution des questions fournies par le proxy SMS-C et le formatage des réponses. Il est lié à la base oracle, image du SI VPN et à l’annuaire LDAP contenant les coordonnées téléphoniques des individus.
Dans le cadre de l’offre convergence, consultation d’annuaire par SMS, Cegetel Entreprises propose au client un service d’administration déportée. Il s’agit d’un site web hébergé sur la plate-forme MCIS et qui permet au client, après un mécanisme d’authentification, de pouvoir administrer son annuaire.
L’administration de l’annuaire consiste à gérer :
Les messages SMS sont beaucoup utilisés par et pour les particuliers, notamment pour signaler au particulier qu’il a un ou plusieurs messages vocaux dans sa boîte aux lettres personnelle, le SMS-C lui envoie un SMS pour le prévenir. Après les particuliers, les entreprises se servent beaucoup de messages SMS afin d’utiliser le service de consultation d’annuaire décrit dans ce chapitre.
Cette application m’a permit de voir et de comprendre le fonctionnement des messages SMS depuis la réception d’un message SMS jusqu’à l’envoi d’un message SMS par le SMS Center.
Cette partie présente le projet et en définit ses caractéristiques générales.
Le site Extranet Partenaires et Prescripteurs a été développé par Orange Art pour la partie graphique et par Cegetel Entreprises pour la partie technique (gestion des mots de passe, mise en base de données de contenus, sécurité des pages) et le suivi de projet.
La version 1.0 du site a été ouverte au public courant Octobre 1999 et comporte les fonctionnalités suivantes :
Une zone publique d’explication sur :
Une zone privée protégée par mot de passe qui comprend trois rubriques :
Une Interface d’administration protégée par Login/Password permet à un ou plusieurs administrateurs de mettre à jour les contenus de la base de données.
Chaque élément peut être créé/effacé/modifié. Le mode validation permet d’avoir une prévisualisation de l’élément avant de le publier (on-line) ou pas (off-line).
Cet Extranet a été développé avec la technologie ColdFusion. Ce langage permet de réaliser des sites web dynamiques. Une description détaillée de ce langage se trouve au chapitre 4 page pageref. De plus cet Extranet utilise une base de données FoxPro. Les requêtes sur cette base de données se font en langage SQL sous le langage ColdFusion qui est très simple d’utilisation pour cela.
Voici les évolutions qui ont été apportées :
Il est alors possible de créer environ 200 individus, appartenant à un et un seul des huit profils établis.
Chaque fiche est protégée par login/password. Pour cela il a fallut créer une seconde table dans la base de données des administrateurs de fiches. Chaque administrateur dispose d’un login/password pour mettre la fiche de son entreprise à jour.
Une fois l’administrateur de fiche identifié, il peut grâce à un formulaire mettre sa fiche à jour. Dès que les modifications sont enregistrées, elles sont immédiatement visibles sur le site. De plus, l’administrateur a la possibilité de changer son login/password en ligne.
En fonction du groupe auquel il appartient, chaque Partenaire arrive sur l’Extranet en passant par une page personnalisée (partenariat Cegetel/société l). Si il le souhaite l’utilisateur peut visualiser une page d’information propre à son groupe.
La cinématique peut être la suivante :
Pour gérer la notion de page portail Cegetel/société l, cela a imposé de rajouter à la notion de profil existante (permettant de gérer les droits sur les documents des offres) une notion de groupe et de niveau.
Quatres cas peuvent se présenter :
De plus, cela implique que chaque entreprise partenaire a un utilisateur administrateur.
Pour gérer les groupes (Nord, Est, Rhône-Alpes, Méditerranée, Sud-Ouest, Nord-Ouest, National, RSS, etc.), un champ groupe a été rajouté. Sur la page portail de chaque utilisateur un lien lui permet d’accéder à une page spécifique à son groupe.
Trois cas peuvent se présenter :
Il a fallut créer une nouvelle table dans la base de données pour les adresses e-mail, ainsi qu’un formulaire de création de message à envoyer.
Ce formulaire permet :
Les pages d’annonces sont créées en fonction de l’événement. Elles sont créées :
Le développement de cette application web m’a permit d’apprendre à réaliser des sites dynamiques avec le langage ColdFusion. J’ai également découvert et utilisé la base de données FoxPro.
De plus, cela m’a beaucoup apporté - d’un point de vue relationnnel - de travailler avec des collaborateurs de la direction commerciale de Cegetel.
Cette section présente le projet et en définit ses caractéristiques générales.
Le projet PIM22 est l’offre WAP de SFR pour les Entreprises, en complément du bouquet de services VIZZAVI qui est l’offre WAP de Vivendi pour les Professionnels et le Grand Public. Cette application propose un accès WAP à tous les collaborateurs d’une entreprise. A l’aide de leur mobile WAP, les collaborateurs inscrits pourront accéder à un ou plusieurs services WAP que l’administrateur de leur entreprise aura choisi.
Tout d’abord, supposons une entreprise ayant souscrite à cette application de Portail Intranet Mobile. Cette entreprise désigne un unique administrateur principal WAP. Cet administrateur principal aura tous les droits pour cette application vis à vis de tous les utilisateurs appartenant à son entreprise. Il sera également le seul interlocuteur de l’entreprise pour cette application entre les utilisateurs et Cegetel.
Le terme utilisateur a été mis entre guillemets, car il désigne deux types de personnes : les administrateurs délégués et les abonnés.
Les administrateurs délégués désignés par l’administrateur principal, peuvent - selon leurs droits donnés par l’administrateur principal - créer des groupes, des services et des abonnés. Et dans ces groupes, ces administrateurs délégués pourront affecter des services WAP et des abonnés.
Finalement, chaque abonné pourra avec son téléphone mobile WAP, accéder aux services WAP du groupe dans lequel il a été affecté. Sur l’écran de son mobile WAP, il verra une liste de tous ces services WAP. Et il n’aurra qu’a en sélectionner un pour y accéder.
Ce projet permet une gestion de tous ces services WAP. Il permet l’accès à ces services à l’aide d’une page WML23 qui générera une liste de liens sur ces services.
Par contre, les services seront développés au bon gré de l’entreprise. Ces services ne font pas partie de ce projet. L’administrateur principal et ses administrateurs délégués sont entièrement responsables des services qu’ils donnent en accès à leurs abonnés.
Cette application est découpée en deux parties. Le Portail Intranet Mobile en WML. Et, la console d’administration des administrateurs délégués, des groupes, des services et des abonnés. Cette console d’administration est un Extranet sur Internet.
Le téléphone mobile WAP est identifié auprès du Kiosque Mobile24 par son numéro SUBSCRIBER_ID, et auprès du Système d’Information de SFR par son numéro MISDN qui est le numéro du mobile.
Cette section décrit chacun des choix des langages utilisés pour la réalisation de ce projet, ainsi que la ou les raisons de ces choix.
Toutes les données seront stockées dans une base de données Oracle, car c’est la Solution Hébergé de Cegetel.
Toute l’application, autant la partie Mobile que la partie console d’administration, s’articulera autour du langage PHP. Car ce langage est très puissant, et inclus des fonctions de requêtes SQL pour accéder à la base de données, très robustes.
La partie Mobile sera réalisée en WML qui sera généré dynamiquement par du code PHP. Car le langage WML est le langage développé par Phone.com25 : la plate-forme que notre application utilisera pour accéder aux Mobiles.
La console d’administration sera réalisée en langages HTML et JavaScript qui seront générés dynamiquement par du code PHP. Toutes ces pages web dynamiques seront mises en page à l’aide du langage CSS d’édition de feuilles de style. Tout cela sera édité avec le logiciel Dreamweaver et un simple éditeur de texte.
Voici les raisons et les avantages de tous ces choix. Le langage HTML est le langage le plus utilisé sur Internet. Le langage PHP permet de générer dynamiquement les pages web du coté serveur, alors que le langage JavaScript permet de gérer et valider les pages web et les formulaires du coté client. Les feuilles de style CSS permettent de mettre en page tout le site web de façon global.
La console d’administration a été réalisée à l’aide de modèles gérés par le logiciel Dreamweaver. L’avantage est que pour modifier une partie identique du code, comme les entêtes et les pieds de page, de toutes les pages qui suivent un même modèle, il suffit de mettre à jour ce modèle, et toutes les pages sont mise à jour automatiquement par le logiciel Dreamweaver.
Les autres petits détails de ce logiciel, Dreamweaver, qui simplifient beaucoup la vie du programmeur, et donc lui font gagner du temps, sont décrit dans le chapitre 5 à la page pageref.
La communication entre l’application et le Kiosque Mobile26 est entièrement sécurisée par le système de certification SSL27. Les deux cotés sont autentifiés : l’application WML est autentifiée devant la plate-forme UP, et réciproquement, la plate-forme UP est autentifiée devant l’application WML. De plus, il y a une autentification entre la plate-forme UP et le mobile WAP, mais cette autentification ne fait pas partie de ce projet.
Le serveur web est un serveur Apache couplé avec la librairie OpenSSL. Cette solution est la plus simple et la plus stable pour mettre en place un accès sécurisé et performant par SSL à un serveur web.
Comme cela a été dit dans la section 10.2, le portail Intranet est programmé en langage WML. Ces pages WML peuvent être testées à l’aide de l’émulateur de mobiles WAP.
Un émulateur des mobiles WAP supportés par le Kiosque Mobile est fournit dans le SDK28 du Kiosque Mobile. Ce SDK est distribué sur le site web de Phone.com.
|
Ce simulateur de WML permet d’émuler le comportement de plusieurs modèles de mobiles existants sur le marché de la téléphonie mobile. Le modèle sur la figure ci-dessus est un modèle généric fictif de mobile WAP.
Pour un abonné donné, trois cas se présentent :
Toutes ces actions et ces pages sont générées dynamiquement par du code PHP. L’application génère donc des pages WML à partir d’un ensemble de modèles qui dépendent de deux paramètres : le type de mobile et l’aspect graphique/ergonomique souhaité. Par la suite, un administrateur WAP de Cegetel pourra choisir un modèle de pages WAP parmi plusieurs modèles disponibles. Tout cela sera fait en ligne sur Internet dans la console d’administration du PIM.
Un organigramme de l’accès à l’application PIM avec un mobile WAP est en annexe : figure B.2 page pageref.
De nombreuses tables figurent dans cette base de données Oracle :
Les tables des administrateurs, des services, des groupes et des abonnés sont toutes reliées avec la table des entreprises, afin d’identifier l’appartenance de chaque entités (administrateur, service, groupe et abonné).
Une représentation du Modèle Physique de Données se trouve en annexe : figure B.2 page pageref.
Le console d’administration du Portail Intranet Mobile va permettre aux administrateurs de chaque entreprises et de Cegetel de gérer l’ensemble de l’application.
Cette console a été réalisée selon les chartes graphique et ergonomique de l’Extranet Client de Cegetel, et selon un schéma de principe très précis.
A chacune des tables Oracle décrites à la section 10.2.2.4 correspond une rubrique dans la console d’administration.
Toutes ces rubriques sont construites selon le même canevas : une page principale dans laquelle figure un tableau contenant une liste de toutes les entités du type choisi (e.g. type service, type abonné), ainsi que des informations sur chaque entité. Tous ces affichages se font selon les droits que l’administrateur qui consulte ces données, a sur chacune de ces données.
Alors qu’un administrateur Cegetel a tous les droits sur toutes les rubriques de toutes les entreprises - mais néanmoins selon différents profiles de droits -, un administrateur d’entreprise n’a des droits que sur les rubriques suivantes qui concernent son entreprise, également selon différents profiles de droits :
Le schéma de principe de la console d’administration se trouve en annexe : figure B.2 page pageref
Le logicile Dreamweaver offre de très nombreux outils pour le développement d’applications web. C’est pour cela qu’il s’est révélé être indispensable pour le développement de l’application du Portail Intranet Mobile.
Il a été très utile pour la gestion de modèles et de librairies en HTML. Un modèle étant un canevas fixe pour la totalité d’une page web, avec des zônes éditables. Alors qu’une librairie est un bloc de code HTML qui est dupliqué à l’identique dans un grand nombre de pages web.
Une description plus complète de ce logiciel est faite au chapitre 5 page pageref.
Une capture d’écran du logiciel Dreamweaver, en plein développement du projet PIM, se trouve à la figure 5.3 page pageref.
De nombreuses librairies ont été faites en JavaScript et en PHP.
La librairie en JavaScript à deux rôles :
Les librairies en PHP ont plusieurs rôles :
Je pense, qu’il ne faut pas voir la technologie WAP comme Internet sur les mobiles, car ce n’est pas avec un écran de trois à quatres lignes en noir et blanc que l’on pourra faire des portails de promotion commerciale d’une entreprise par exemple. Il faut plutôt voir la technologie WAP comme un ensemble de services accessibles de n’importe où depuis son mobile, comme la bourse, la météo, l’annuaire téléphonique, etc.
Bien que le langage WML soit très restreint devant tous les autres langages pour Internet, il reste quand même assez performant. Par exemple, grâce à la possibilité d’envoyer de l’information depuis son téléphone mobile sur un serveur distant à l’aide d’un formulaire dans lequel il est possible de saisir du texte et des valeurs numériques comme dans un formulaire sur Internet. Bien sûr, étant donné que le clavier de la plus part des téléphones mobiles actuels est constitué d’un pavé numérique et de quelques touches de fonction, il est préférable de limiter toutes ces possibilités à une interface uniquement numérique.
Ce projet est donc très intéressant pour ma formation d’ingénieur. D’une part, car il fait appel aux dernières évolutions en matière de technologie de téléphonie mobile. Et d’autre part, car il m’a permit de découvrir de nouvelles technologies de développement telles que le langage PHP et le langage WML spécifique aux téléphones mobiles WAP.
La console d’administration de l’annuaire d’entreprises a été entièrement réalisée avec la technologie MCIS, et tourne sous une plate-forme Windows NT. Voici, quelques captures d’écran de la partie visible sur Internet.
Cette console d’administration est accessible par Login/Password.
Ces pages web sont actuellement en ligne sur le portail Internet de Cegetel Entreprises :
La partie Partenaires et Prescripteurs est un Extranet. Elle est donc accessible par Login/Password.
Le projet étant en cours de réalisation lors de la capture de ces écrans de la console d’administration du Portail Intranet Mobile, ces représentations d’écrans seront amenées à être modifiées jusqu’à la mise en production du site. De plus, les contenus de ces pages web sont utilisés à des fins de débogage.
Comme on peut le constater visuellement, toutes ces pages web ont une certaine homogénéïté entre elles. Elles suivent toutes les chartes graphique et ergonomique des sites web de Cegetel.
Voici le schéma de principe de l’application de consultation d’annuaire d’entreprises par messages SMS. D’une part, le SMS Center envoie les messages SMS destinées à l’application de consultation d’annuaire. Cette dernière (processus Proxy SMS C) traite le message. Puis, elle génère un nouveau message SMS contenant les coordonnées de la personne recherchée, et l’envoie à son destinataire. D’autre part, l’annuaire LDAP peut être mise à jour, sur Internet, par la console d’administration de cette application.
Afin de mieux comprendre l’organigramme ci-dessous, il peut être utile de se référer à la figure 10.1.4 page pageref.
Lorsque le mobile est parfaitement identifié par ses numéros MSISDN et SUBSCRIBER_ID, l’application renvoie au mobile soit une page WML d’erreur si l’abonné n’a pas de service, soit un lien direct sur le service si celui-ci est unique, soit une page WML qui contient une liste de tous les services accessibles par l’abonné.
L’accès à la console d’administration du Portail Intranet Mobile se fait par une page classique de login où il faut entrer le code titulaire de l’entreprise, son login d’administrateur et son mot de passe. Puis, on arrive sur une page d’accueil à partir de laquelle on peut accéder à toutes les autres rubriques de gestion : des services, des groupes, des abonnés, et ainsi que sur une page de statistiques.
Voici le plan du site tel qu’il apparait sous le logiciel Dreamweaver. On retrouve dans ce plan, toutes les rubriques décrites ci-dessus.
<!--- logo path : c.f. dans "/un_chemin_quelque_part_dans_le_cyber_espace/une_page.cfm" ---> <cfset logo_path="/un_autre_chemin_quelque_part_dans_le_cyber_espace/"> <!--- "’" = "#CHR(146)#" ---> <cfset defaut_entete1="ADMINISTRATEURS"> <cfset defaut_entete2="Interlocuteurs"> <cfset defaut_entete3="Outils d#CHR(146)#aide à la vente"> <cfset defaut_entete4="Actions conjointes"> <cfset defaut_entete5="Suivi des projets"> <cfset defaut_entete6="Statut du Partenariat"> <cfset defaut_entete7="Fiche d#CHR(146)#identité Partenaire"> <cfquery name="prod" datasource="entreprises" dbtype="ODBC"> SELECT * FROM table1 </cfquery> <cfif parameterexists(url.modify)> <cfif form.requete neq ""> <cfset filename="#Listlast(requete,’\’)#"> <cfelse> <cfset filename="#form.LOGO_PART_2#"> </cfif> <cfif form.LOGO_PART neq ""> <cffile action="UPLOAD" filefield="LOGO_PART" destination="#logo_path#" nameconflict="OVERWRITE" mode="644"> </cfif> <CFQUERY NAME="" DATASOURCE="entreprises"> UPDATE table2 SET RS_PART=’#form.rs_PART#’, PART_PART=’#form.PART_PART#’, LOGO_PART=’#filename#’ WHERE (ID_PART = #url.modify#) </CFQUERY> <HTML> <HEAD><TITLE>Partenaire - Entry Action</TITLE></HEAD> <BODY bgcolor="ffffff"> <BR><BR><BR> <CENTER> <FONT SIZE=+1 FACE="Helvetica, Arial" COLOR=555555> <B>Modifications enregistrées</B> </FONT> </CENTER> </BODY></HTML> <cfelseif parameterexists(url.valid_id)> <cfif #url.action# eq 1> <CFQUERY NAME="desactive" DATASOURCE="entreprises"> UPDATE table2 SET ETAT_PART=’0’ WHERE (ID_PART = #url.valid_id#) </CFQUERY> <cfelse> <CFQUERY NAME="active" DATASOURCE="entreprises"> UPDATE table2 SET ETAT_PART=’1’ WHERE (ID_PART = #url.valid_id#) </CFQUERY> </cfif> <cflocation url="admin_listParten.cfm" addtoken="No"> <cfelseif parameterexists(url.delete_id)> <!--- supprimer numero dans la liste PART_PROD ---> <cfquery name="produits" datasource="entreprises" dbtype="ODBC"> SELECT * FROM table1 </cfquery> <cfquery name="logins" datasource="entreprises" dbtype="ODBC"> SELECT * FROM table3 </cfquery> <cfoutput query="produits"> <cfif find("#url.delete_id#","#PART_PROD#")> <cfset part = ""> <cfloop index="j" from="1" to="#ListLen(’#PART_PROD#’,’,’)#" step="1"> <cfif #ListGetAt("#PART_PROD#",j,",")# neq "#url.delete_id#"> <cfset part = "#part#,#ListGetAt("#PART_PROD#",j,",")#"> </cfif> </cfloop> <CFQUERY NAME="" DATASOURCE="entreprises"> UPDATE table1 SET PART_PROD=’#PART#’ WHERE (ID_PROD = #ID_PROD#) </CFQUERY> </cfif> </cfoutput> <cfoutput query="logins"> <cfif find("#url.delete_id#","#SOCIETE#")> <CFQUERY NAME="" DATASOURCE="entreprises"> UPDATE table3 SET SOCIETE=’’ WHERE (ID_LOG = #ID_LOG#) </CFQUERY> </cfif> </cfoutput> <CFQUERY NAME="" DATASOURCE="entreprises"> DELETE FROM table2 WHERE (ID_PART = #url.delete_id#) </CFQUERY> <HTML> <BODY BGCOLOR=FFFFFF> <BR><BR><BR> <CENTER> <FONT SIZE=+1 FACE="Helvetica, Arial" COLOR="FF0000"> <B>Votre société a été supprimé avec succès.</B> </FONT> </CENTER> </BODY></HTML> <cfelse> <HTML> <HEAD><TITLE>Partenaire - Entry Action</TITLE></HEAD> <BODY bgcolor="ffffff"> <cfset filename=#Listlast(requete,’\’)#> <cfif form.requete neq ""> <cffile action="UPLOAD" filefield="LOGO_PART" destination="#logo_path#" nameconflict="OVERWRITE" accept="image/gif, image/jpeg, image/png" mode="644"> </cfif> <CFQUERY NAME="" DATASOURCE="entreprises"> INSERT INTO table2 ( ID_PART, RS_PART, ETAT_PART, PART_PART, LOGO_PART, ENTETE1, ENTETE2, ENTETE3, ENTETE4, ENTETE5, ENTETE6, ENTETE7) VALUES (#form.ID_PART#, ’#form.RS_PART#’, ’#form.ETAT_PART#’, ’#form.PART_PART#’, ’#filename#’, "#defaut_entete1#", "#defaut_entete2#", "#defaut_entete3#", "#defaut_entete4#", "#defaut_entete5#", "#defaut_entete6#", "#defaut_entete7#") </CFQUERY> <BR><BR><BR> <CENTER> <FONT SIZE="+1" FACE="Helvetica, Arial" COLOR="#555555"> <B>Nouvelle société enregistré.</B> </FONT> </CENTER> </BODY></HTML> </cfif> |
Voici une partie du code source d’une des pages ColdFusion de l’application web « Partenaires et Prescripteurs ».
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <!-- PIM index --> <wml> <card> <p align="center"> Liste des Services </p> <p> <a href="">Annuaire des Clients</a> <a href="">Transactions en Ligne</a> <a href="">Infos Commerciales</a> <a href="">Ventes effectuées</a> <a href="">Contacts E-Mail</a> </p> </card> </wml> |
Petite description des langages de balisage.
Le WML est, donc, un langage de balisage comme le langage HTML. Ce langage, le WML, est basé sur le langage XML. La définition de la syntax et des règles de construction se trouve dans un fichier DTD propre à ce langage. Bien sûr, comme les fichiers WML devront être downloader35 sur un mobile via le protocol WAP qui est limité en bande passante, ces fichiers sont de petites tailles. Pour cela le langage WML est simpliste mais puissant.
Exemple du code source de la capture d’écran 28 page pageref.
<html><!-- #BeginTemplate "/Templates/valider.dwt" --> <?php require("util.php"); require("session.php"); init($connexion); // Initialisation de la session pour la page session_check_page(); ?> <!-- #BeginEditable "php_script_1" --> <?php require("entreprise.php"); ?> <!-- #EndEditable --> <head> <!-- #BeginEditable "title" --> <title>entreprises > valider modifier</title> <!-- #EndEditable --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" src="../scripts/lib.js"></script> <!-- #BeginEditable "js_script_2" --> <script language="JavaScript"> <!-- /* code here */ //--> </script> <!-- #EndEditable --> </head> <body bgcolor="#FFFFFF"> <!-- #BeginEditable "php_script_2" --> <?php $retour = modifier_client($hidCodeTitulaire,$txtDenominationSociale, $chkCertificatClient!=""?1:0,$chkDnDelete!=""?"DN_BLANK":""); $modifierOk = false; switch ($retour) { case 0 : $modifierOk = true; break; case 1 : $msg = "Echec de la modification !"; break; case 2 : $msg = "Ce code titulaire n’existe pas !"; break; case 3 : // Parametres incorrects $msg = "Echec de la modification !"; break; default : $msg = "Echec de la modification !"; } if ($modifierOk) { ?> <script language="JavaScript"> <!-- // window.alert("L’entreprise a bien été modifiée."); //--> </script> <?php ocirollback($connexion); } else { ?> <script language="JavaScript"> <!-- window.alert("<?php print($msg); ?>"); //--> </script> <?php ocirollback($connexion); } ?> <!-- #EndEditable --> <!-- #BeginEditable "js_script_1" --> <script language="JavaScript"> <!-- multilink2(’section_entreprises.php’,’section’,’rubrique_entreprises.php’,’main’); //--> </script> <!-- #EndEditable --> </body> <?php finit($connexion); ?> <!-- #EndTemplate --></html> |
Le code PHP se trouve inclut dans un fichier HTML d’extension PHP. Il commence par la balise <?php et se termine par la balise ?> .
Voici le code source d’une des pages PHP de la console d’administration du Portail Intranet Mobile . Ce source contient du code HTML, du code JavaScript et du code PHP. Pour mieux comprendre ce fichier source, il faut garder à l’esprit que le langage PHP est exécuté du coté serveur, alors que les langages HTML et JavaScript sont exécutés du coté client.
ASP | Active Server Page |
ASP | Application Service Provider |
CFML | ColdFusion Markup Language |
CSS | Cascading Style Sheet |
FTP | File Transfer Protocol |
GSM | Global System for Mobile communication |
HTML | HyperText Markup Language |
HTTP | HyperText Transfer Protocol |
IP | Internet Protocol |
IPC | Inter Process Communication |
ISDN | Integrated Service Digital Network |
ISO | International Standard Organization |
KM | Kiosque Mobile |
LDAP | Lightweight Directory Access Protocol |
LDIF | LDAP Data Interchange Format |
MCIS | Microsoft Commercial Internet System |
MSISDN | Mobile Station ISDN |
PNP | Plan de Numérotation Privé |
SDK | Software Development Kit |
SI | Système d’Informations |
SMS | Short Message Service |
SMS-C | SMS Center |
SQL | Standard Query Language |
SSL | Security Socket Layer |
UP | Unwired Planet |
URL | Uniform Resource Locator |
VPN | Virtual Private Network |
VPN ID | VPN IDentificateur |
W3C | World Wide Web Consortium |
WAP | Wireless Application Protocol |
WML | Wireless Markup Language |
WWW | World Wide Web |
XHTML | eXtensible HyperText Markup Language |
XML | eXtensible Markup Language |
1.1 Organigramme des financements et des actifs de @Viso
2.1 Les deux pôles de Cegetel : le Grand Public et les Entreprises
4.1 Schéma de principe du fonctionnement d’une application ColdFusion
5.1 Dreamweaver 3 - Développement du projet WAP
10.1 Le Kiosque Mobile, le Portail Intranet Mobile, et les utilisateurs
A.1 Console d’administration de l’annuaire d’entreprises par SMS
B.1 Composants intervenants dans le service de consultation d’annuaire par SMS
1 Planning des projets (depuis le mois de février 2000)
2.1 Les chiffres clés