Cette page a pour objectif de décrire les caractéristiques techniques de la ressource ParCoLab.
Technologies utilisées
La ressource utilise les dernières technologies en matière de gestion de bases de données numériques et de web. Elle intègre en particulier Apache CouchDB, qui est un système de gestion de base de données NoSQL. Particulièrement adaptée à la gestion de grandes masses de données, cette technologie stocke celles-ci sous forme de collections de documents JSON. N’exigeant pas une structuration rigide de données sous forme de tables reliées, une base CouchDB permet de faire évoluer le corpus en ajoutant des couches d’annotation supplémentaires en fonction de nouveaux besoins. En outre, CouchDB adopte les principes et protocoles du Web (ce qui facilite considérablement la réalisation des requêtes) et se prête bien au développement d’applications collaboratives. La performance de l’outil vient également de l’intégration de Nood.js, qui est une plateforme logicielle écrite en JavaScript, destinée aux applications réseaux qui, en cas de forte sollicitation, doivent s’adapter et maintenir leurs fonctionnalités et leurs performances.
Les données intégrées au corpus sont au format XML normé TEI. Les documents sont décrits par les métadonnées standardisées suivantes: titre, sous-titre, auteur, traducteur, éditeur, lieu d’édition, date de publication, date de création, source, langue du texte, langue de l’original, domaine, genre, nombre de mots, dérivation (original ou traduction). Aucune annotation n’est pour l’instant disponible dans le corpus, mais des travaux en cours visent l’intégration à court terme des annotations morpho-syntaxiques (POS) et syntaxiques.
En ce qui concerne l’alignement des textes originaux avec leurs traductions, il est fait à l’aide d’un algorithme propre à la ressource; aucun outil externe n’est donc utilisé. L’algorithme implémenté procède par ordre descendant en alignant les textes (1-1) d’abord au niveau des sections ou chapitres (<div>), puis au niveau des paragraphes (<p>) et enfin au niveau des phrases (<s>). Les erreurs sont repérées par l’outil et corrigées manuellement, d’où la fiabilité des alignements dans le corpus.
Les requêtes s’effectuent à l’aide du moteur de recherche Elasticsearch, très en adéquation avec l’interrogation de bases de données NoSQL. Même avec un formulaire d’interrogation minimal, les possibilités de requête sont assez importantes. Ainsi, le moteur de recherche exploite la structure du document xml et peut donc viser différentes spécifications du schéma TEI. Il permet des requêtes visant un mot, une expression constituée de plusieurs mots, des expressions avec un ou plusieurs jokers, des mots qui commencent ou se terminent par telle ou telle chaîne de caractères, etc. L’utilisation des expressions régulières et celle des opérateurs booléens sont également possibles (pour plus de détails, les utilisateurs pourront consulter les rubriques d’aide correspondantes).
Côté web, l’interface de consultation de ParCoLab utilise un site web adaptatif (“responsive web design”) au format HTML5. Grâce à ces technologies, le site s’adapte dynamiquement et en temps réel au format du support sur lequel il est consulté. Le site peut ainsi être consulté, avec le même degré de confort et sans la moindre manipulation de la part de l’utilisateur, aussi bien sur des ordinateurs que sur des tablettes et smartphones. L’application est compatible avec les dernières versions des navigateurs majeurs: Google Chrome version 35 et ultérieures, Mozilla Firefox version 32 et ultérieures, Apple Safari version 7.0 et ultérieures, Microsoft Internet Explorer version 10 et ultérieures. Le site est disponible en trois langues: français, serbe et anglais.
Le corpus est alimenté manuellement et comporte pour l’essentiel des textes littéraires écrits dans une des trois langues (français, serbe ou anglais) et leurs traductions. La diversification des genres est en cours. Pour plus de détails sur les textes intégrés à ParCoLab, voir la rubrique Contenu.
Les publications réalisées dans le cadre du projet sont listées dans la rubrique Publications.