Pages

Date 11 octobre 2012

Jobeet ZF2 - Jour 2 - Le projet

Nous allons enfin commencer à parler du projet Jobeet.
Les spécifications du projet sont les mêmes que le projet Jobeet original visible sur le site de Symfony.
Jobeet est un logiciel open-source de recherche d'emploi qui ne fait qu'une seule chose, mais le fait bien. Il est facile d'utilisation, à adapter, à faire évoluer, et à intégrer à votre site internet. Il est multi-langues dès le départ, et bien sûr il utilise les dernières technologies du web 2.0 pour améliorer l'expérience utilisateur. Il fournit également des feeds et une API pour interagir avec lui en programmant.
Avant d'attaquer le développement et de plonger dans le Zend Framework 2, nous allons décrire les fonctionnalités de notre site. La description provient du tutoriel Jobeet par Symfony, que j'ai très légèrement modifié


Les utilisateurs

Le site sera accessible à 4 types d'utilisateurs:
- L'administrateur: propriétaire du site, il a tous les accès.
- L'utilisateur anonyme: il visite le site, à la recherche d'un emploi
- L'utilisateur enregistré: il peut enregistrer des emplois pour y revenir plus tard, s'inscrire à une newsletter
- L'annonceur: il poste de nouvelles offres d'emploi
- L'affilié: Il re-édite certaines offres sur son propre site

L'application sera composé d'un frontend (scénarios F1 à F7), la partie "publique" du site accessible aux utilisateurs) et d'un backend (scénario B1 à B3), la partie "privée", où l'administrateur gère le site) Le backend est sécurisé et nécessite des droits d'accès.

Liste des scénarios


Histoire F1 : Sur la page d'accueil, l'utilisateur voit les dernières offres actives

Quand un utilisateur vient sur le site Jobeet, il voit une liste des emplois actifs. Les emplois sont classés par catégorie, puis par date de publication (emplois plus récents en premier). Pour chaque emploi, seul le lieu, la position, et la société sont affichées.

Pour chaque catégorie, la liste ne montre que les 10 premiers emplois et un lien permet de lister tous les emplois pour une catégorie donnée (Histoire F2).

Sur la page d'accueil , l'utilisateur peut affiner la liste des travaux (Histoire F3), ou par la soumission d'un nouvel emploi (Histoire F5).


Histoire F2 : Un utilisateur peut demander tous les emplois dans une catégorie donnée

Quand un utilisateur clique sur un nom de catégorie ou sur le lien "more jobs" sur la page d'accueil, il voit tous les emplois pour cette catégorie triée par date.

La liste est paginée avec 20 emplois par page.


Histoire F3 : Un utilisateur affine la liste avec quelques mots clés

L'utilisateur peut saisir quelques mots clés pour affiner sa recherche. Les mots clés peuvent être des mots trouvés dans l'emplacement, la position, la catégorie, ou les champs de l'entreprise.


Histoire F4 : Un utilisateur clique sur un emploi pour obtenir des informations plus détaillées

L'utilisateur peut sélectionner un emploi dans la liste pour afficher des informations plus détaillées.


Histoire F5 : Un utilisateur soumet un emploi

Un utilisateur peut soumettre un emploi. Un emploi est composé de plusieurs l'informations :
  • Société
  • Type (à temps plein, à temps partiel, ou freelance)
  • Logo (facultatif)
  • URL (facultatif)
  • Poste
  • Localité
  • Catégorie (l'utilisateur choisit dans une liste de catégories possibles)
  • Description du poste (les URLs et les emails sont automatiquement mis en lien)
  • Comment appliquer (les URL et les emails sont automatiquement mis en lien)
  • Publique (si la tâche peut également être publiés sur les sites affiliés)
  • Email (l'email de celui qui a soumis l'emploi)
Il est nécessaire de créer un compte afin de soumettre un emploi.

Le processus est simple, avec seulement deux étapes : d'abord, l'utilisateur remplit dans le formulaire toutes les informations nécessaires pour décrire l'emploi, puis il valide les informations en visualisant la page finale de l'emploi.

Un emploi peut être modifié ultérieurement, l'utilisateur pouvant accéder à ses offres.

Chaque poste de travail est en ligne pendant 30 jours (ce qui est configurable par l'administrateur - voir Histoire B2). Un utilisateur peut revenir réactiver ou prolonger la validité de l'annonce pour un supplément de 30 jours, mais seulement lorsque le travail expire dans moins de 5 jours.



Histoire F6 : Un utilisateur demande à devenir une société affiliée

Un utilisateur doit demander à devenir un affilié et être autorisés à utiliser l'API Jobeet. Pour postuler, il doit donner les informations suivantes :

  • Nom
  • Email
  • URL du site web
Le compte d' un affilié doit être activé par l'administrateur (Histoire B3). Une fois activé, l'affilié reçoit un jeton pour une utilisation avec l'API par email.
Lors de l'application, l'affilié peut également choisir d'obtenir des emplois auprès d'un sous-ensemble des catégories disponibles.


Histoire F7 : Un affilié récupère la liste actuelle des emplois actifs

Un affilié peut récupérer la liste des emplois en cours en appelant l'API avec le jeton de sa filiale. La liste peut être retournée en XML, JSON ou YAML.
La liste contient les informations publiques disponibles pour un emploi.
L'affilié peut également limiter le nombre d'emplois qui seront retournés, et d'affiner sa requête en spécifiant une catégorie.


Histoire B1 : Un administrateur configure le site web

L'administrateur peut modifier les catégories disponibles sur le site.


Histoire B2 : Un administrateur gère les emplois

Un administrateur peut modifier et supprimer tous les emplois affichés.


Histoire B3 : Un administrateur gère les affiliés

L'administrateur peut créer ou modifier des affiliés. Il est responsable de l'activation d'un affilié et peut également les désactiver.
Lorsque l'administrateur active une nouvelle filiale, le système crée un jeton unique à utiliser par la filiale.



Voilà! Nous n'avons toujours pas touché une ligne de code, mais nous avons de bonnes bases pour démarrer notre projet, grâce à cette liste d'exigence.
1 commentaire: