Centre d’études humanitaires Genève

Encyclopédie humanitaire collaborative en ligne

Projet Coding Factory

Le projet en bref

Nature du projet
Encyclopédie humanitaire collaborative en ligne
Secteur
Services
En quelques mots

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.

Le projet Humanitarian Encyclopedia est une plateforme web et mobile innovante qui permet une administration avancée des différentes sources de données publiées par les utilisateurs. Le point central de l’encyclopédie humanitaire repose sur la notion de concepts humanitaires. Il existe 129 concepts et chacun d’eux est consultable et peut être enrichit par des auteurs et experts.

Techniquement, ce projet s’appuie sur des technologies bien connues de la Coding Factory comme : .NetCore, Angular, Docker et Azure.

Le projet en images

Le projet en détails

Technologies utilisées
Angular
.Net Core
ASP.NET Web API 2
C#
Entity Framework
MySQL
Discourse
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
Résultats

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

Schémas d'architecture technique

Méthodologies adoptées

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.

Outils utilisés

Azure Devops
Scrum
Docker
Binômage
Code review

Volumétrie

1
chef de projet
1
architecte
1
UX/UI Designer
4
développeurs
Un besoin similaire ? Contactez-nous !


    Informations de contact


    Remplissez le formulaire et notre équipe vous recontactera sous 2 jours ouvrés.

    04 78 35 45 70

    lyon@apollossc.com

    APOLLO
    96 bd Vivier Merle
    69003 Lyon
    Mots-clés
    Angular
    .Net Core
    ASP.NET Web API 2
    C#
    Entity Framework
    MySQL
    Discourse
    Azure Devops
    Scrum
    Docker
    Binômage
    Code review
    Vous êtes ingénieur IT ? Rejoignez-nous !
    Je veux prendre contact
    HAUT