1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN văn THẠC sĩ) supervision des contributions dans un portail de travail collaboratif

46 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Supervision des Contributions Dans Un Portail de Travail Collaboratif
Tác giả Xuan Sang Dao
Người hướng dẫn Christian Bac, Olivier Berger
Trường học Institut National des Télécommunications
Chuyên ngành Informatique
Thể loại Mémoire de fin d'étude
Năm xuất bản 2007
Thành phố Évry
Định dạng
Số trang 46
Dung lượng 409,49 KB

Cấu trúc

  • Remerciements

  • Résumé

  • Abstract

  • I. Introduction

    • 1. Contexte du stage

    • 2. Objectifs du stage

    • 3. Organisation du rapport

  • II. Plateforme de travail collaboratif

    • 1. Portail de travail collaboratif

    • 2. Supervision des contributions

    • 3. Flux RSS et agrégation

    • 4. Picoforge une Plateforme de travail collaboratif

  • III. Sémantique et flux RSS

    • 1. Flux RSS existants

    • 2. Besoins exprimés relativement à l'apport de sémantique

    • 3. Propositions possibles

    • 4. Proposition retenue

      • 4.1 Changement des flux Rss/Xml au format RDF

      • 4.2 Ajouter DC, FOAF et DOAP à fichier RDF

      • 4.3 Stockage du modèle RDF dans une base de données

      • 4.4 Affichage des informations sur la plateforme Picoforge.

  • IV. Techniques utilisées

    • 1. API phpgroupware

    • 2. RAP-Rdf Api for Php.

  • V. Choix de réalisation

    • 1. Obtention des ressources

      • 1.1 Obtention des ressources

      • 1.2 Construction des modèles RDF

      • 1.3 Stockage des modèles RDF dans la base de données

    • 2. Affichage de résultat sur l’interface Web de la plateforme Picoforge

  • VI. Conclusion

  • Références

Nội dung

Introduction

Contexte du stage

GET, the Group of Telecommunications Schools, comprises several prestigious engineering and management schools, along with research centers located in Paris (ENST Paris - National School of Telecommunications Paris), Brest (ENST Bretagne - National School of Telecommunications Bretagne), and Évry (INT - National Institute of Telecommunications) in France GET has developed a collaborative web platform known as PICOFORGE.

PICOFORGE is an open-source software system that offers a collaborative working platform, built on the PHPGROUPWARE organization and integrated with various other open-source tools such as Sympa, CVS, Subversion, LDAP, and MySQL Server.

Plusieurs plateformes de PICOFORGE ont été déployées à GET et les développeurs ou les chercheurs utilisent les services de ces plateformes.

Currently, PICOFORGE serves as a collaborative work platform that facilitates information sharing among developers and contributors To enhance this collaboration, it is essential to develop a contributor monitoring tool within the platform This tool will provide valuable insights into project details, developer interactions, and statistical data related to both projects and developers.

Objectifs du stage

The objective of the internship is to develop a tool called "Supervision of Contributions" within the collaborative work platform PICOFORGE This tool will provide a comprehensive overview of the work accomplished, offering key insights such as the total number of contributions, lines, and contributors Additionally, it aims to visualize the relationships between contributors through graphs based on contributions, shared objects, and statistical information presented in diagram format.

This internship primarily involves participating in the design and development of new modules within phpgroupware The development language used is PHP4, and the project interfaces with various open-source software Key techniques employed include RSS feeds, XML, RDF, PHPGROUPWARE, RAP-RDF API for PHP, and LT Diagram Builder - PHP.

Organisation du rapport

In the first section, I outline the challenges faced during the internship and the efforts made to address them The second section focuses on the IT environment encountered during the internship Proposed solutions to these challenges will be discussed in the third section The fourth section describes the supported techniques In the fifth section, I detail the chosen solution and the work completed to implement it Finally, the last section offers conclusions and explores the future prospects of this work.

Plateforme de travail collaboratif

Portail de travail collaboratif

A web portal is a website or online service that provides resources and services such as email, forums, search engines, and various other online tools It serves as a web interface that grants users access to information and applications available on the internet.

A collaborative work portal is an online environment designed for teamwork, featuring a web interface along with various web resources and services Examples of such tools include Twiki, Sympa, Subversion, and CVS, which facilitate efficient collaboration and project management.

Dans un portail de travail collaboratif, il faut partager et accéder les informations des contributeurs, des projets et des applications.

A collaborative work portal is a web-based platform that enables contributors to work together effectively It facilitates the sharing of knowledge, experiences, and resources, allowing users to utilize these assets collectively for enhanced collaboration.

Supervision des contributions

Dans une plateforme de travail collaboratif, il est nécessaire de savoir les informations des contributeurs, les relations entre les contributeurs, les projets, les changements des états des projets

Dans l’outil de supervision ce que je l'ai construit, on peut savoir plusieurs informations sur les contributeurs et les projets:

● Quelles sont les relations entre les contributeurs? Le travail réalisé ensemble entre les contributeurs Il peut être décrit à partir du standard FOAF – Friend

● Qui est administrateur d'un projet? Qui sont les développeurs? Et qui sont les testeurs?

● Les changements d'états d'un projet dans la plateforme pendant une durée du temps.

● Le projet est dans quelles étapes: initialisation projet, codage, test, correction des erreurs, ou écriture des documents sur le projet

● Les informations statistiques sur un projet.

The contribution monitoring tool is essential for a collaborative work platform This is why we aim to develop a robust contribution supervision tool within our collaborative workspace.

Flux RSS et agrégation

RSS feeds, which stand for RDF (Resource Description Framework) Site Summary, Rich Site Summary, or Really Simple Syndication, are technologies that enable the extraction of content from a website in a concise and regular format.

Il y a plusieurs moyens d'accéder aux fils d'informations publiés sur internet depuis un ordinateur:

● Utilisation d'un logiciel de messagerie et profiter de ces informations en même temps que l'on consulte son e-mail.

● Utilisation d'un navigateur Web et afficher les différents flux d'informations sous forme d'une page sur Web.

● Profiter des fils d'informations sur une Smartphone, un Palm ou un Pocket PC connecté en Bluetooth à un mobile en GRPS.

● Ou encore, utilise un logiciel spécialisé dans l'agrégation de fils d'informations RSS, également connu sous le nom de lecteur RSS ou encore d'agrégation d'actualités.

We will focus on using an aggregator to access RSS feed content An RSS feed aggregator is software that allows users to read multiple syndication feeds simultaneously The goal of aggregation is to consolidate various online content sources into a single application By aggregating RSS feed data, users can gather and syndicate information published by different websites, making it easier and more efficient to access and consult these resources in one place.

Using an aggregator to read RSS feeds involves two main steps First, the user identifies the websites that offer content of interest by detecting the RSS feeds In the second step, after the feeds have been detected, the aggregator can read the RSS feeds, allowing the user to access all the content—often in a summarized version—from the previously defined websites.

Using an aggregator is an effective way to monitor real-time updates from multiple websites of interest through a single interface.

Il existe deux principaux types d'agrégations :

● les clients (des logiciels, qu'il faut installer sur son ordinateur)

● les applications en ligne (utilisables directement sur des sites Web).

Picoforge une Plateforme de travail collaboratif

Picoforge est développé par l'équipe du projet PFTCR – Plate-Forme de Travail

Collaboratif pour la Recherche, dans la continuité du projet Picolibre, qui a été développé depuis plusieurs années au GET – Groupe des Écoles des Télécommunications.

Picoforge is a suite of integrated open-source software applications designed as a web platform for collaborative development As a collaborative work platform, Picoforge encompasses all the essential features that facilitate teamwork It enables developers to share information, experiences, resources, and documents effectively.

Sur la plateforme PICOFORGE, on peut fait les tâches suivantes:

• Créer un groupe de travail (ici, groupe est compris comme un projet) Pour créer un groupe, on clique sur le lien de ‘Submit a project’.

Figure 1: Interface Web de la plateforme de travail collaboratif PICOFORGE

Once your group is established, you can easily add more developers at any time Regardless of their workplace or residence, simply enter their email addresses to maintain constant communication with them.

Easily communicate with multiple developers by sending messages to a group You can send an email to all group members, ensuring that it reaches everyone simultaneously.

• Partager des fichiers pour le travail collaboratif.

To effectively plan events, consider offering a shared calendar accessible to subscribers This online planner facilitates the scheduling of meetings and tasks, ensuring that all activities are organized for specific dates.

Figure 2: Interface de création de projet

Sémantique et flux RSS

Flux RSS existants

Il existe quatre versions de flux RSS, qui sont divisées en deux familles de format:

● Le RSS version 0.9 et 1.0, ils sont fondés sur le format RDF

● Le RSS version 0.91 et 2.0, ils sont fondés sur le format XML

Versions 0.91 and 2.0 are not based on the RDF format, which means they cannot leverage its advantages and, therefore, cannot be regarded as natively compatible with the semantic web However, it is possible to create bridges between these formats and the semantic web.

Les formats RSS 0.9 et RSS 1.0 sont fondés sur le format RDF À ce titre ils bénéficient de toutes les qualités de RDF :

● Extensibilité illimitée via les vocabulaires RDF

● Possibilités d'applications complexes à l'aide de vocabulaires décrivant des relations fonctionnelles entre les objets

● Possibilités d'interopérabilité illimitées avec d'autres vocabulaires en décrivant des relations logiques entre les vocabulaires

RSS 1.0, est de ce fait porteur de plus d'avenir que ses concurrents Le RSS 1.0 est donc clairement recommandé pour qui souhaite développer des applications extensibles et nativement compatibles avec le Web sémantique.

Ceci est un exemple de flux RSS

www.monsite.fr

Ceci est ma première actualité

www.monsite.fr/actu1

Ceci est ma deuxième actualité

www.monsite.fr/actu2

Tableau 1: Exemple de fichier RSS

An RSS feed begins with the tag and ends with the tag It must include a version attribute that indicates the version of the RSS standard to which the document complies.

Puis, on peut trouver une unique balise qui contiendra les métadonnées du flux RSS, cette balise est obligatoires ou non suivant les versions.

En ce qui concerne les métadonnées du flux RSS, il faut avoir les trois éléments suivants, qui sont obligatoires:

● : définit le titre du flux

● : définit l’URL - Uniform Resource Locator du site correspondant au flux

● : définit succinctement du flux.

Il y a d'autres éléments dans métadonnées, mais ils ne sont pas obligatoires:

● : définit la date de publication du flux

● : définit l’URL - Uniform Resource Locator de l’image dans le flux

● : définit la langue du flux

An RSS feed comprises articles, each represented by an tag Within this tag, relevant news data is organized using specific tags Four mandatory tags must be included in every article to ensure proper structure and functionality.

● : définit le titre de l’actualité

● : définit l’URL - Uniform Resource Locator du flux correspondant à l’actualité

● : définit la date de l’actualité

● : définit une description succincte de l’actualité

D'autres balises, optionnelles, existent comme:

● : définit l'adresse électronique (mail), ou nom et prénom de l'auteur, qui met à jour l'article sur l'Internet.

● : associe l'article à une catégorie

● : définit l’URL d'une page de commentaire en rapport avec l'item

● : c’est une extension des flux RSS qui permet d'inclure des nouvelles fonctionnalités.

Besoins exprimés relativement à l'apport de sémantique

The focus of the internship is to develop a supervision tool that provides project information, developer details, relationships among developers, and project statistics This tool will leverage semantics to understand the relationships between developers By utilizing semantic search, we can effectively retrieve relevant information related to a project.

The image above illustrates a semantic search that reveals valuable information about a developer, including their name, email, and colleagues working alongside them Additionally, it provides details about project resources, such as the title, resource page link, description, publication date, and author This semantic search enables users to discover a developer's colleagues, projects they are involved in, and resources they have updated online.

Figure 3: Recherche sémantique à partir d’un projet

Figure 4 illustrates semantic research, showcasing how a developer can access information about other developers and their projects, including project names, creation dates, and associated developers Additionally, it enables the search for updated resources shared by the developer online, such as resource titles, links, and publication dates.

In my tool, we consistently gather information related to a project, a developer, and resources based on minimal input This highlights the importance of utilizing semantics in my monitoring tool.

Propositions possibles

The first suggestion involves analyzing CVS deposits to gain insights into developers and their relationships CVS Analysis can be utilized to identify developers working on various projects or specific modules within a project, as well as to assess the status of a project.

Semantic search can be utilized by developers during various stages of a project, including design, coding, testing, and documentation The CVS Analysis tool for PHP projects serves as an effective means to gather essential information related to the project, the developer, and the source code.

The second suggestion is to utilize RSS feeds in conjunction with MySQL databases, Sympa, and LDAP This approach will provide essential information about the project, developers, and resources.

Tableau 2: Comparaison des deux propositions

After comparing the two proposals, I believe the second option is more effective for achieving optimal results Therefore, I have chosen this proposal for my internship.

Proposition retenue

The monitoring tool provides essential information about a project, including its current status, project statistics, team members, relationships among team members, and data on developers and developer resources.

To develop this monitoring tool, I utilized RSS feeds as the input and converted them into the standard RDF format This transformation ensures that the feeds include essential information about the project, the developers, and the resources involved.

Pour faire ỗa, j’ai ajoutộ des informations au format de Dublin Core (DC), Friend Of

The transition from RSS feeds to RDF feeds involves using Friend of a Friend (FOAF) and Description of a Project (DOAP) to enhance resource description In the RDF file, Dublin Core (DC) is utilized to detail attributes of a resource, including its name, web link, description, publication date, and creator FOAF serves to describe project members, providing information such as the developer's first and last name, email, and other contributors Meanwhile, DOAP focuses on project-specific details, encompassing the project title, creation date, description, and team members involved.

In this project, I divided the solution into two phases The first phase involves gathering resources from the Internet, converting the information into RDF format, and then inserting the RDF models into the database The second phase focuses on displaying the information on the web interface of the Picoforge platform.

4.1 Changement des flux Rss/Xml au format RDF

Various web resources such as RSS feeds, RDF feeds, Atom feeds, and XML feeds can be standardized into the RDF format This normalization process is crucial as it directly impacts the effectiveness of the monitoring tool The input data for this tool significantly influences the output results, making this initial step essential for successful data management and analysis.

4.2 Ajouter DC, FOAF et DOAP à fichier RDF

After gathering resources from the internet, I enhanced the information to create a standard RDF relational model In the RDF file, I utilized Dublin Core (DC) to describe attributes of a resource article, such as , , , and Additionally, FOAF was employed to detail the developers of a project, including attributes like .

, , , …Puis DOAP est utilisé pour décrire les projets avec les attributs comme: , ,

Dublin Core is a simple yet effective set of elements designed to describe a wide range of network resources It is utilized in online resources formatted in the standard RDF The Dublin Core standard comprises 16 elements, with their semantics established through international consensus among professionals from various fields, including computer science, text markup, and related disciplines.

The Dublin Core framework consists of a comprehensive set of elements, each of which is optional and can be repeated Each element also includes a limited set of qualifiers or attributes that help refine its meaning Established in 2000 by the Initiative for Metadata in Dublin Core (IMDC), standardized methods for utilizing these elements have been defined.

"qualifier" les éléments au moyen de différents types de qualificatif Un registre de qualificatifs conformes aux "meilleures pratiques" de l'IMDC est en cours de construction.

While Dublin Core is designed to describe web-like resources, its effectiveness in cataloging non-traditional resources relies on the similarities between the metadata of these new documents and that of conventional documents Additionally, the purpose of the metadata for these new resources will also influence its application.

Ici, je vais décrire des éléments du Dublin Core et les sens de chaque élément dans une table.

Title Title principal du document

Creator Nom de la personne, de l’organisation ou du service à l'origine de la rédaction du document Subject Mots clefs, phrases de résumé, ou codes de classement

Description Résumé, table des matières, ou texte libre

Publisher Nom de la personne, de l'organisation ou du service à l'origine de la publication du document Contributor

Nom d'une personne, d'une organisation ou d'un service qui contribue ou a contribué à l'élaboration du document Chaque contributeur fait l'objet d'un élément Contributeur séparé

Date Date d'un évènement dans le cycle de vie du document

Format Format physique du document

Identifier Identificateur non ambigu: il est recommandé d'utiliser un système de référencement précis, afin que l'identifiant soit unique au sein du site Source

Ressource dont dérive le document: le document peut découler en totalité ou en partie de la ressource en question Il est recommandé d'utiliser une dénomination formelle des ressources

Language Langage est utilisé dans ressources

Establishing precise connections with other resources is essential for enhancing content relevance Spatial coverage includes specific geographical points, countries, regions, and place names, while temporal coverage refers to the timeframes relevant to the content Additionally, it is crucial to consider intellectual property rights, copyright, and various ownership rights to ensure compliance and protect creative works.

Audience Représente le groupe de personnes à qui le document est destiné

L'audience est déterminée par l'auteur, le publicateur, ou un tiers

Tableau 3: Description les éléments du Dublin Core

Un exemple d’utilisation Dublin Core dans un fichier RDF.

Karl Mustermann

Algebra

mathematics

EN

An introduction to algebra

Tableau 4: Exemple du Dublin Core

FOAF (Friend Of A Friend) is a collaborative project that utilizes RDF resources to create a new type of online document that describes individuals and their relationships In many ways, it represents the first significant attempt to generalize the defining concepts of the Semantic Web beyond established professional contexts.

The structure of a FOAF file is straightforward, with each individual identified by a FOAF entry in an RDF file This entry can be hosted anywhere on the web and contains standardized fields in either XML or RDF format, providing descriptive information about the person.

Individuals have the flexibility to select the quantity and depth of personal information they wish to share A FOAF file can include various fields such as a person's name, email address, website or blog URL, photo links, and details about friends, among other elements, in accordance with current specifications.

The latest version of FOAF outlines a comprehensive list of potential fields, categorized into five main groups: basic data (such as first and last names), personal information (including interests and acquaintances), online accounts (like email and instant messaging), documents and images (such as personal texts and photos), and finally, groups and projects.

This category is particularly intriguing as it connects individuals to organizations, such as associations or businesses, and more broadly to any type of group To describe these groups, one can utilize the DOAP (Description Of A Project) format These groups can be structured, like political parties, informal, or simply online communities FOAF (Friend of a Friend) facilitates the representation of individuals grouped together in various ways, similar to the functionalities offered by numerous online social communities.

Techniques utilisées

API phpgroupware

Phpgroupware Api est une bibliothèque très utile, cette bibliothèque fournit aux développeurs une api, en langage Php, pour aider le développement d'application Web

Il supporte les fonctions pour travailler avec e-mail, calendrie, liste de tâches, gestion de contacts, et gestion de fichiers.

The phpGroupware API facilitates session management, as well as user and group administration It enables interaction with the database through database abstraction methods and allows for the display of web interfaces by utilizing Template classes in PHPLIB.

RAP-Rdf Api for Php

RAP – RDF API for PHP is a semantic web tool designed for PHP developers Launched as an open-source project in 2002, RAP serves as a software package for analyzing, searching, and manipulating RDF models It includes various types of RDF models, such as MemModel, DbModel, and ResModel, each offering distinct methods for organizing and retrieving information.

• Le MemModel stocke les triples dans une table en mémoire, si un nouveau triple est ajouté dans le modèle, il est dans une table en mémoire.

Figure 7: Description la faỗon de travailler du Memory Model

Src: http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/introductionToRAP.htm

The DbModel stores triples in a relational database, managing all models within a single database It also provides methods for manipulating these models effectively.

Figure 8: Description la faỗon de travailler du Database Model

Src: http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/introductionToRAP.htm

• Le ResModel représente des graphiques RDF comme un ensemble de ressources ayant des propriétés Cette d’organisation repose sur un MemModel, ou un DbModel.

Figure 9: Description la faỗon de travailler du Resource Model

Src: http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/introductionToRAP.htm

Dans l'outil de supervision que je l'ai développé, j’ai utilisé les trois modèles RDF

The MemModel and ResModel are utilized during the transition of RSS feeds, XML, and Atom feeds to RDF models Meanwhile, the DbModel facilitates the connection to a MySQL database, allowing for the storage of RDF models within the database.

Choix de réalisation

Obtention des ressources

This phase is crucial as it determines the outcome of the monitoring tool I utilized the RSS feeds from Subversion, Sympa, and Twiki During their download, the RSS resources are enriched with information corresponding to the DC, FOAF, and DOAP schemas, transforming the RSS feeds into RDF formatted data.

The process of obtaining resources involves three key steps First, resources are gathered and stored in a memory table Next, RDF models are constructed Finally, these RDF models are stored in a MySQL database.

This step involves reading the RSS feeds from Subversion, Sympa, and Twiki, along with their associated items The items are then stored in a two-dimensional table in memory.

The resources associated with the items are sourced from the data streams, while information related to projects and developers is obtained by querying the MySQL and LDAP databases By the end of this process, I have three tables in memory that hold information about the resources, developers, and projects.

La fonction de réalisant le changement des ressources dans une table dans la mémoire est décrie dans la tableau 9.

Figure 10: Acquisition et enrichissement sémantique des flux RSS function convert_to_items(){

$title = $this->get_attribute($this->RSS_TITLE);

$link = $this->get_attribute($this->RSS_LINK);

$description = $this->get_attribute($this->RSS_DESCRIPTION);

$pubdate = $this->get_attribute($this->RSS_PUBDATE);

$author = $this->get_attribute($this->RSS_AUTHOR);

Tableau 9: Function de changement des ressources en mémoire

Fonction de stockage des développeurs de la base de données LDAP dans une table en mémoire function get_all_developers(){

$listAccount=$this->account_picolibre->get_accountList(''); for($i=0; $i $listAccount[$i]['account_id'], 'account_uid' => $listAccount[$i]['account_lid'],

'account_email' => $listAccount[$i]['account_mail '], 'account_firstname' => $listAccount[$i]['account_firstname'], 'account_lastname' => $listAccount[$i]['account_lastname'], 'account_fullname' => $listAccount[$i]['account_firstname'].' '.$listAccount[$i]['account_lastname'],

'account_type' => $listAccount[$i]['account_type'], 'account_status' => $listAccount[$i]['account_status']); } return $developers;

Tableau 10: Function de changement des développeurs en mémoire

Fonction de stockeage des projets de la base de données MySQL dans une table en mémoire function get_ProjectLists(){

$query = "select * from $this->table_name_project where 1 order by short_title";

$results = array(); while($this->db->next_record()){

$onece = array(); foreach($this->table_fields_project as $fieldname){

Tableau 11: Function de changement des projets en mémoire

In this phase, I developed three relational RDF models—Resource Model, Developer Model, and Project Model—by extracting information from the tables stored in memory, which were generated in the initial step.

Pendant la construction du modèle Ressource RDF, j'ai ajouté certaines informations concernant les développeurs, le projet, et les éléments Dublin Core pour avoir un fichier au format standard RDF.

Modèle RDF de ressource, après ajout d'éléments au format Dublin Core et Description Of A Project.

PicoForge

https://picoforge.int-evry.fr/PicoForge

Description of PicoForge

Thu, 02 Aug 2007 12:04:35 -0400

picolibre_twiki

Tableau 12: Item au format RDF d'une ressource

Modèle RDF de développeurs, après ajout des informations le Friend Of A Friend.

Christian

Bac

Christian Bac

christian.bac@int-edu.eu

Tableau 13: Item RDF d'un développeur

Modèle RDF de projet, après ajout d'informations de type Description Of A Project.

picoforge

http://www.picoforge.fr/

Plateforme Picoforge

February 19 , 1964

Tableau 14: Item RDF d'un projet

Avec les résultats ci-dessus, on a trois modèles RDF relationnels: modèle de ressource, modèle de développeur et modèle de projet.

PicoForge

https://picoforge.int-evry.fr/PicoForge

Description of PicoForge

Thu, 02 Aug 2007 12:04:35 -0400

picolibre_twiki

christian.bac@int-edu.eu

picoforge

http://www.picoforge.fr/

Plateforme Picoforge

Tableau 15: Trois modèles RDF relationnels

Using relational RDF model construction, one can easily search for all resources within a project, identify all resources associated with a developer, find all developers involved in a project, and list all projects in which a developer is a member.

1.3 Stockage des modèles RDF dans la base de données

Une fois les informations mises aux formats RDF relationnels, elles sont stockées dans la base de donnộes MySQL avec trois noms diffộrents: ômodelRdf_itemsằ, ômodelRdf_developersằ et ômodelRdf_projectsằ.

ModelRdf_items encompasses all resources within the Picoforge platform, including those from Subversion, Sympa, and Twiki It provides essential information about each item, such as , , and .

, et .

ModelRdf_developers includes all developers from various projects on the Picoforge platform This model contains essential information about each developer, such as their first name and last name, represented as and .

et .

ModelRdf_projects encompasses all projects on the Picoforge platform Using the modelRdf_projects, users can retrieve essential information about a project, such as its name, homepage, description, and creation date.

Affichage de résultat sur l’interface Web de la plateforme Picoforge

The second phase involves displaying project information on the Picoforge platform's web interface To retrieve this information, the system queries three RDF models stored in the MySQL database, which are then presented on the web interface.

● Affichage des informations générales d'un projet comme: le nom du projet, le site web du projet, la description du projet et la date de création du projet.

Figure 11: Affichage sur l'interface Web des ressources en provenance de la base de données

● Affichage des développeurs d'un projet, par exemple: le nom du développeur, l'e- mail du développeur, les FOAF du développeur, les projets du développeur et les ressources du développeur.

● Affichage de toutes les ressources d'un développeur comme: le titre du ressource, le lien de la ressource et la date de mise à jour sur Internet de la ressource.

Figure 12: Affichage des informations d'un projet sur plateforme Picoforge

Figure 13: Affichage des informations des développeurs d'un projet

● Affichage au format graphique du nombre de constributions dans un projet dans une durée du temps.

Figure 14: Informations des ressources d'un développeur

Figure 15: Nombre de contributions par module

● Affichage au format graphique du nombre de publications des développeurs dans une durée du temps.

● Affichage au format graphes des développeurs dans un projet, qui travaillent ensemble selon une durée du temps.

Figure 17: Graphe illustrant les informations FOAF d'un jours

Figure 18: Graphe illustrant les informations FOAF d'une semaine

Figure 19: Graphe illustrant les informations FOAF d'un mois

Conclusion

During my internship, I developed a monitoring tool that provides a comprehensive overview of completed work This tool tracks the number of contributions, lines of code, and contributors involved It visually represents the relationships among contributors through images and graphs, based on their contributions to shared projects.

The internship's objective is to provide an overview of projects within the collaborative work platform Picoforge During the internship, I utilized various libraries and data formats, including phpgwapi, RAP – RDF API for PHP, Dotfile, Dublin Core, Friend of a Friend, and Description of a Project The processed information was sourced from tools such as Subversion, Sympa, and Twiki, as well as databases like MySQL and LDAP.

During my internship, I developed a module called Picolibre_Supervision, which aligns perfectly with the internship topic Picolibre_Supervision provides general information about projects on the collaborative work platform Picoforge.

Dans l'avenir, j'améliorerai l'outil de supervision comme une application indépendante avec la plateforme Picoforge.

Ngày đăng: 03/07/2022, 08:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Site du projet Picoforge, http://picoforge.int-evry.fr/ Link
[2] Site du projet phpgroupware, http://www.phpgroupware.org/ Link
[5] Site personnelle du Software pour du travail collaboratif à distance http://www.ac-nancy- metz.fr/tice/UsagesPedagogiques/PlateForm/rapport/Egroups/EGROUPS.htm Link
[6] Site web de Friend Of A Friend http://xmlns.com/foaf/spec/ Link
[7] Site web de sémantique FOAF http://www.semanticplanet.com/2003/05/parsingFOAFWithPHP[8] Site web de Phpgwapi http://docs.phpgroupware.org/contrib/ Link
[9] Site du projet Picolibre http://www.picolibre.org/ Link
[10] Site du projet twiki http://twiki.org/ Link
[11] Site du projet Sympa http://sympa.org/ Link
[12] Site du projet Subversion http://subversion.tigris.org/ Link
[14] Site du CVS Analysis for the PHP project http://libresoft.dat.escet.urjc.es/cvsanal/php-cvs/ Link
[15] Site du projet graphviz http://www.graphviz.org/ Link
[16] Site du projet de serveur Apache http://httpd.apache.org/ Link
[13] C. Bac, O. Berger, ProGET : Plate-forme de travail collaboratif destinée aux enseignants/chercheurs du GET Khác