Implémentation sur la page html webcast

Implémentation sur la page html webcast

Le Web sémantique

Le Web sémantique est un standard web introduit par le W3C. Le but est d’encourager l’échange des données grâce à des technologies établies. Comme l’a dit son inventeur Tim Berners-Lee, l’idée est de passer d’un Web de données simplement stockées à un Web dit « intelligent » (Web sémantique, web de données : définitions, 2018). Grâce à ces formats, les données pourraient être réutilisées par les ordinateurs afin d’apporter à l’utilisateur ce qu’il recherche vraiment plutôt qu’une liste de possibilités. (Comprendre le web sémantique, s.d.) Mais malgré sa grande utilité, quelques préoccupations limitent son expansion à la totalité du Web actuel. Contrairement à l’humain, l’ordinateur ne peut mettre en doute une information qui lui est transmise. De ce fait, toute donnée faussée étant fournie pourra totalement compromettre le résultat.

Dans des domaines tels que la science ou encore la médecine, les répercussions d’avoir des données altérées, voir erronées, pourraient être désastreuses. Un autre frein à son développement est la confidentialité. Pour que les données puissent être utilisées entre application, il est logique que chacun fournisse lui aussi des données. Malheureusement la réalité est autre. Les plus grandes entreprises informatiques comme Google, Apple ou encore Facebook n’ont jamais été enclins à révéler leurs données. Mais à l’inverse, elles sont connues pour exploiter le plus grand nombre de données possibles (Maignien, 2014). Afin d’exploiter ce Web sémantique, le W3C a créé plusieurs protocoles afin que des standards puissent être utilisé par les sites. Deux protocoles ont été utilisé dans ce travail : Le RDFa et JSON-LD. Afin de fournir un maximum de données et de possibilités à Klewel, les deux méthodes ont été implémentées. Il est toutefois important de n’en utiliser qu’une dans l’application en production ou les données seront doublées et le moteur de recherche analysera deux éléments différents alors qu’il n’y en a qu’un seul.

Micro-données avec schéma.org

La première étape pour implémenter les micro-données était de trouver quels termes disponibles sur schéma.org convenaient le mieux à une conférence. Le terme « Event » englobe tout type d’événement comme par exemple des festivals, des manifestations sportives ou encore une conférence sur l’environnement. L’idée d’utiliser la sous-catégorie « BusinessEvent » a été abordée avec Klewel mais après discussion il s’avère que le portail n’accueille pas uniquement des conférences professionnelles mais aussi sur d’autres sujets tels que la santé ou le sport. Mais si la conférence est un « Event », il faut donc trouver une terminologie plus précise pour le talk. L’idée étant de ne pas utiliser les sous-catégories de « Event » car le développeur aurait besoin de modifier la sous-catégorie pour chaque événement. L’objectif de ce travail est d’éviter aux développeurs de Klewel de devoir ajuster le code et que toutes les informations soient englobées. Pour cette raison, le terme « Event » correspondait mieux à un talk qu’à une conférence. Il nous fallait donc trouver un terme plus large afin de correspondre à une conférence. Le terme « EventSeries » correspondait parfaitement. Comme son nom l’indique, il désigne une série d’événements ayant lieu à un même endroit. La page Web concernant la conférence Jonathan Joaquim Travail de Bachelor 2018

Implémentation du RDFa

La problématique rencontrée dans l’implémentation dans la page conférence est aussi présente ici. Sans certaines connaissances, il peut être compliqué de retrouver facilement les balises concernées. Jonathan Joaquim Travail de Bachelor 2018 Figure 17 : Section de la page HTML talk où le RDFa a été implémenté (données de l’auteur) A la différence de la conférence, le talk ne possède pas de localisation propre vu que l’humain comprend implicitement qu’elle est identique. La machine n’a pas cette chance. La localisation du webcast a donc été repris et retransmis afin qu’un maximum d’informations puissent être fournies. Figure 18 : Résultat du RDFa dans le code source de la page présentée en figure 16 (données de l’auteur) Plusieurs éléments de schema.org n’acceptent des données que dans certains formats. C’est le cas par exemple pour les propriétés « startDate » ou « duration ». Jonathan Joaquim Travail de Bachelor 2018 Pour la date, le format défini est le suivant : Année-Mois-Jour en chiffre. Si ce n’est pas le format utilisé pour l’affichage, il est important d’inséré le format valise dans la balise via le terme « element ». Pour le cas de la durée du talk, le problème dans l’affichage est l’ajout du terme «   » qui est utilisé afin d’insérer un espace. Le format n’étant pas respecté, il faut aussi utiliser la même méthode que pour la date.

Sitemap des conférences

Lors de la réception de la machine virtuelle et du projet, l’implémentation nécessaire dans la classe conférence afin de les afficher dans le sitemap.xml était déjà réalisé. La première étape pour afficher les éléments voulus dans un sitemap et d’intégrer une classe spéciale dans la classe concernée, ici conférence. Figure 25 : Extrait du code implémenter dans la classe Conférence (données de l’auteur) Plusieurs informations seront transmises grâce à cette classe. L’élément « changefreq » permet d’indiquer à quelle fréquence cet élément du sitemap va être modifier. Il est possible que les modifications soient journalières, hebdomadaires, mensuelles, annuelles ou comme dans l’exemple jamais. Le terme « priority » indique l’importance de cette page par rapport à d’autres pages du site. Par exemple, la page principale du portail aurait une priorité de « 1 » étant donné que sans elle, il n’est pas possible de naviguer sur le reste du site. Les conférences ont été définies avec une priorité de « 0.5 » car en supprimer une n’affectera pas les autres conférences mais effacerai les talks intégrés. Pour cette raison, les talks auront une priorité de « 0.4 ». La seule variable obligatoire dans cette classe est « items ». Elle doit renvoyer la liste des objets qui seront affichés sur le sitemap. Dans ce cas-là, les conférences possédant un « nice_url ».

Cette propriété précise si la conférence est privée ou publique. Le sitemap ne devant afficher que les conférences publiques, nous fournissons à l’élément « items » uniquement ces webcast possédants un « nice_url ». Le sitemap référence les URLs des éléments affichés, pour ce faire, il existe deux méthodes. La première, obligatoire, requière l’intégration de la méthode « get_absolute_url ». Celle-ci doit retourner l’URL qui s’affiche sur le navigateur Web. Figure 26 : Fonction permettant de définir l’URL de la conférence (données de l’auteur) Nous pouvons voir dans la figure ci-dessus que l’url retourné n’est pas le même si l’élément « nice_url » existe ou non. L’autre méthode est d’ajouter un élément « location » directement dans la classe et d’y préciser l’URL à renvoyer. Le terme « lastmod » permet d’indiquer la date de la dernière modification de l’item. Une fois l’implémentation de la classe terminée, il faut intégrer le chemin vers le sitemap.xml dans l’application.

Sitemap des talks

Dès les premières discussions avec Klewel, il était clair que réaliser un sitemap des talks allait être complexe. La structure de leur base de données posait problème quant au fonctionnement des différents packages sitemap proposés pour Django. Pour qu’un sitemap fonctionne, chaque talk devrait retourner un URL unique et qui ne change jamais. Malheureusement, comme expliqué dans la section 7.1, un même talk peut être utilisé dans plusieurs sessions et donc posséder plusieurs URLs. Pour comprendre, décomposons la structure des URLs du portail de Klewel pour les talks. Contrairement à la conférence qui affiche son nom dans l’URL, le talk affiche sa position dans la session concernée. Le chiffre un en fin d’URL défini la position du talk dans la session. Il est donc possible qu’un même talk ait plusieurs positions selon la session à laquelle il appartient. Prenons le scénario suivant : La conférence-1 possède deux sessions. La première, comme présentée dans la figure ci-dessus, est privée. Elle possède tous les talks. La deuxième session, imagée dans ci-dessous, est publique. Le client donne l’accès de tout utilisateur qu’aux troisième et quatrième talks. Figure 31 : Exemple graphique d’une session publique (données de l’auteur) Pour cette session publique, l’URL du talk troisième serait la même que la figure ci-dessus. Le talk étant en première position dans la session, le chiffre dans l’URL serait aussi le un. Nous pouvons donc constater que pour une même URL, deux talks peuvent être affichés. Le développement d’un sitemap pour les talks est donc impossible avec cette structure de base de données

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport gratuit propose le téléchargement des modèles gratuits de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Glossaire
Introduction
1 Gestion du projet
Planification
Initialisation
Analyse
Implémentation
Finalités
2 Prise en main du contexte actuelle de Klewel
3 Etat de l’art
Le Web sémantique
Schéma.org
RDF
RDFa
JSON-LD
Le sitemap
4 Choix et prise de position
Analyse de la complexité de mise en oeuvre
4.1.1 Micro-données
4.1.2 Sitemap.xml
Proposition de la structure la plus adaptée
4.2.1 Micro-données
4.2.2 Sitemap.xml
5 Implémentation
Architecture de l’application
Micro-données avec schéma.org
5.2.1 Implémentation sur la page html webcast
5.2.2 Implémentation sur la page html talk
5.2.3 Test
Sitemap.xml avec le framework Django
5.3.1 Sitemap des conférences
5.3.2 Sitemap des talks
Conclusion
Bilan du travail
Idées d’amélioration et perspectives
Références
Annexes
I. Diagramme de Gantt
II. Contenu du CD
Déclaration de l’auteur

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *