AgoraLib - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Agoralib est un outil informatique qui va permettre à un développeur d'application informatique d'intégrer facilement des fonctionnalités de communication dans un logiciel.

Introduction

Le projet Agora est une bibliothèque logicielle de fonctions de communication audio facilement intégrable dans tous types d'applications (applications bureautiques, jeux vidéos, applications de communication, etc.). Agora permet donc la communication entre plusieurs utilisateurs (communication en mode conférence) via un serveur, indépendamment de l'application qu'ils utilisent. Cette bibliothèque peut être utilisée aussi bien pour l'implémentation des fonctions de communication que pour l'implémentation des fonctions de l'application serveur.

Concrètement, un logiciel n'ayant à l'origine aucun système de communication pourra, une fois les fonctionnalités d'Agora rajoutées, dialoguer avec une autre application pourvu elle aussi des fonctionnalités Agora. La communication des différents interlocuteurs se fera indépendant de l'application que chacun utilise, a partir du moment ou ces applications contiennent les fonctionnalités de la bibliothèque Agora.

Par exemple : un utilisateur 'A' utilisant un logiciel de traitement de texte (pourvu des fonctionnalités Agora), aura la possibilité de dialoguer avec un utilisateur 'B' jouant à un jeux vidéo (jeux vidéo intégrant les fonctionnalités Agora). Cette communication s'étendra à autant de personnes utilisant des applications pourvu des fonctionnalités du projet Agora.

Ce projet s’inscrit dans le cadre des Epitech Innovative Project, qui sont les projets de fin d’études des étudiants de l’école d’informatique Epitech.

La bibliothèque Agora s’adresse aux développeurs d’applications confirmés comme débutants grâce à sa facilité de déploiement ; particuliers comme professionnels.

Diagramme de communication

Afin d’assurer l’intégrité des informations et le bon déroulement des communications, la bibliothèque Agora accomplit différents processus en suivant une chronologie illustrée par le schéma suivant.

Ce digramme de communication représente toutes les étapes par lesquelles les informations de communications vont transiter entre les interlocuteurs, par ordre chronologique. Ces étapes peuvent être regroupées en 3 parties (décrites dans les sous parties suivantes) :

  • Une partie émission, qui regroupe les étapes avant le transfert sur le réseau
  • Une partie transport et administration, qui regroupe les étapes ayant lieu sur le réseau
  • Une partie réception, qui regroupe les étapes après le transfert sur le réseau

L'émission

  • La première étape consiste en la capture d’un flux audio ou d’un message (ACQUERIR) soit depuis un fichier soit depuis un périphérique d’acquisition, tel un micro ou un clavier…
  • L'acquisition se fait grâce a OpenAL.
  • Le flux ainsi capturé est transformé dans un format de données optimisées selon le codec Speex pour le transport via le réseau (ENCODER).
  • Ces données sont placées dans un paquet avec entête afin d’assurer l’intégrité et le bon routage des informations sur le réseau (EMPAQUETER).
  • L'empaquetage se fait selon une norme définie et permet de créer des « paquet Agora » comme décrit dans le schéma suivant.
agoralib
agoralib.

Il existe trois types de paquet Agora :

  • les paquets Agora « audio », pour les communications audio
  • les paquets Agora « texte », pour les communications texte
  • les paquets Agora « d'administration », pour l'administration des utilisateurs ou des canaux

Le transport et l'administration

Le transport (selon le protocole TCP) et l’administration des données suivent le schéma suivant.

agoralib
agoralib.

Les différentes étapes représentées par le schéma ci-dessus s'expliquent comme suit :

  • Les informations précédemment empaquetées en provenance de l’émetteur sont transmises sur le réseau (ENVOYER SUR LE RESEAU).
  • Le réseau à l’écoute des connexions récupère ce paquet (RECUPERER TRAME DANS L’HOTE).
  • L'entête de ce paquet est analysé afin de déterminer le type d’actions suivantes à effectuer (ANALYSE PAQUET) :
    • Actions d’administration : la commande d’administration est exécutée (EXECUTER COMMANDE), puis un paquet d’informations Agora contenant la réponse à cette commande est créé (CREER PAQUET AGORA). Les informations d'administrations son enregistrées dans la base de donnée SQLite.
    • Action de communication : le chemin d’accès au(x) destinataire(s) de la communication est déterminé (TRAITEMENT DESTINATIONS).
  • Le(s) paquet(s) de communication transite(nt) sur le réseau vers le client destinataire (ENVOYER AU CLIENT).
  • L’application destinataire réceptionne les données en vue d’un traitement (RECEPTIONNER).

La réception

  • L’entête du paquet arrivant du réseau est consulté ; selon les informations présentes il est transmit au décodeur adéquat (DEPAQUETER).
  • Le décodeur ainsi sélectionné va retranscrire les informations du paquet dans un format utilisable par l’application destinataire (DECODER).
  • En fonction du type d’informations décodées, les actions adéquates seront déclenchées sur le poste destinataire, telle la diffusion du son, la restitution d’un message texte, l’administration d’un canal…
Page générée en 0.097 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise