Résultats - Gestionnaire de packages

From air
Jump to: navigation, search

Page d'accueil du projet

Réalisations

Frontend

Authentification

  • Authentification avec auth0

Visualisation des packages

  • L'affichage des packages à partir de la base de données (API) est fonctionnelle.
  • Les différents filtres pour trier les packages sont fonctionnels.
  • La recherche par mots-clés est opérationnelle.

Visualisation des tickets

  • Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.
  • Un système de vote a été mis en place pour indiquer la "popularité" d'un package.
  • Un bouton est affiché si l'utilisateur est administrateur.
  • Le système de vote +/- est fonctionnel. L'utilisateur peut ajouter/supprimer/mettre à jour son vote.

Formulaire de dépôt d'un package

  • Il est possible de remplir le formulaire pour ajouter un ticket. Le ticket est ajouté à la base de données sous forme d'un fichier JSON.

FAQ

  • La page de FAQ est lue à partir de deux fichiers JSON contenant les différents tutoriels ainsi que les questions de la FAQ pour faciliter la modification du contenu en fonction des besoins des utilisateurs.

Backend-controller

  • Authentification avec auth0 et un token JWT propre à notre application
  • Gestion complète du modèle défini pendant la phase de conception
  • Tests automatiques du modèle de l'API (tests internes)
  • Tests automatiques de l'interface REST de l'API (test externes)

Backend-builder

Le builder gère les types de projet suivants :

  • ant
  • exécutables / binaires
  • gradle
  • makefile
  • maven

et produit un package en conséquence.

Perspectives d'évolutions

Frontend

  • Implémenter dans la vue Tickets le système de tri par résultat des votes
  • Les tickets créés ne sont pas liés au code joint dans le formulaire (tarball, git...). Il faut compléter la gestion du formulaire tout en faisant attention au soucis de sécurité lié à l'acquisition de code source.

Backend-controller

  • L'utilisation de mongodb implique que la gestion de clé étrangères doit être géré manuellement. Actuellement, les clés sont vérifiés lors de la création d'objets mais pas de leurs suppression. Des objets orphelins peuvent donc exister.
  • Il a été choisi d'utiliser une base de donnée mongodb pour permettre l'upload d'archive (liés aux tickets) directement en base. Mais quel est le risque de sécurité lié ? Une reflexion sur l'intérêt de charger des fichiers plutôt que uniquement des liens est à considérer.

Backend-builder

  • Améliorer la modularité du builder en le rendant plus permissif.
  • Ajouter d'autres types de projet tels que : CMake, SCons, Waf, ...