Encyclopédie humanitaire collaborative en ligne

Le Centre d’études humanitaires Genève a fait appel à la Coding Factory APOLLO pour développer la première encyclopédie humanitaire collaborative en ligne. L’objectif de cette plateforme est à la fois de collecter et distribuer du contenu mais également de créer une émulation entre les acteurs humanitaires afin qu’ils échangent et collaborent entre eux.

Secteur Services
Durée du projet 190j

Objectif de la mission

  • Collecter et distribuer du contenu
  • Créer une émulation entre les acteurs humanitaires
  • Dissémine un savoir partagé
  • Optimiser l’expérience utilisateur
  • Proposer une ergonomie web et mobile

Équipe : 7 personnes

  • 1 chef de projet
  • 1 architecte
  • 1 UX/UI Designer
  • 4 développeurs

Environnement technique

  • .NetCore
  • Angular
  • Docker
  • Azure

Services et practices
mis en place

Notre réponse

Enjeux projet

Le projet Humanitarian Encyclopedia repose sur 3 piliers :

  • La contribution des acteurs humanitaires, à titre individuel ou collectif sur le partage de ressources, retours d’expériences dans le domaine de l’humanitaire
  • L’analyse du discours humanitaire, effectué au travers des publications institutionnelles et d’analyses linguistiques détaillées
  • L’expertise académique, afin de mettre en perspective certains concepts humanitaire

 

L’objectif de cette nouvelle plateforme collaborative est triple :

  • La collecte des contributions des personnes sachantes
  • La dissémination d’un savoir partagé
  • La discussion entre utilisateurs à travers la mise en place d’un forum vivant

 

En plus de répondre à ces objectifs majeurs, l’autre enjeu de taille à vraiment été axé sur l’expérience utilisateur afin qu’elle soit la plus optimale possible.

Pour cela, nous avons proposé une ergonomie différente sur le web et sur mobile afin de conserver une expérience utilisateur riche et adaptée.

Environnement technique

Techniquement, Humanitarian encyclopedia est une plateforme web et mobile collaborative qui se compose :

  • d’un système d’authentification basé sur des technologies open source comme Identity Server et OpenID.
  • d’un back-end réalisé en C# grace au Framework .Net Core. La base données MySQL est gérée via Entity Framework pour la mapping de données.
  • d’un front-end développé avec Angular et Sass pour la construction de la dynamique des pages.
  • d’une instance Discourse hebergée sur Azure et utilisant le SSO du serveur d’authentification.

L’infrastructure du projet est donc assez complexe. On peut dire qu’il existe plusieurs projets dans le projet!

Pour s’affranchir au maximum de cette complexité structurelle, nous avons décidé de « dockeriser » une partie de notre solution. Le but étant de faciliter et d’automatiser le déploiement au maximum pour faciliter la maintenance et l’évolutivité de la plateforme à l’avenir.

La plateforme Humanitarian Encyclopedia est publique, n’importe quel internaute peut y accéder et consulter le contenu mis à disposition.

Nous avons donc optimisé son référencement, notamment grâce au server side rendering d’Angular, et son accessibilité au niveau AA (selon le critère WCAG 2.0)

 

Environnement fonctionnel

Fonctionnellement, la plateforme Humanitarian Encyclopedia est composée :

  • d’un système d’authentification
  • d’une page d’accueil
  • d’un module de présentation du projet et de l’équipe en charge de celui ci
  • d’un ensemble d’écran de consultation et d’administration relatives aux concepts humanitaires et aux notes d’experts
  • d’une base de données référençant les organisations et les institutions humanitaires existantes
  • d’une librairie documentaire
  • d’un forum d’échange entre utilisateur

Le résultat de notre travail est consultable sur la plateforme en ligne : humanitarianencyclopedia.org


Méthodologie adoptée

Agilité

Le développement du projet est terminé et s’est déroulé entre fin 2020 et Début 2021 sur une durée d’un peu plus de 9 mois. Le projet à été organisé en 3 lots distincts eux même découpés en une dizaine de sprints.

L’ensemble du projet à été réalisé en suivant la méthodologie Agile Scrum et en utilisant le logiciel de gestion de projet Azure DevOps.

Côté analyse et spécification, nous avons travaillé en trinôme avec notre client : le Centre d’études humanitaire de Genève mais aussi avec une troisième société Skoli en charge de la récolte du besoin et de la phase d’analyse sur le projet.

 

Qualité du code et tests

L’ensemble du code source produit par notre équipe de développement sur ce projet est contrôlé automatiquement par notre logiciel de qualité du code SonarQube.

Le code source des membres de l’équipe de développement est aussi revu et validé plusieurs fois par semaine par le lead developper de l’équipe au travers de PR Review. Le binômage à également été fortement encouragé sur le projet

Ces bonnes pratiques de qualité du code nous ont permit d’obtenir un code cohérent et de grande qualité.

 

Intégration et déploiement continue

Sur le projet Humanitarian Encyclopedia, nous avons utilisé de Docker afin d’automatiser l’ensemble des taches concernant l’intégration et le déploiement continue de l’application.

APOLLO, L'ESN des ETI

Confiez-nous votre projet

Discutons de la manière dont nous pouvons collaborer pour faire avancer votre besoin.