Application iPhone

Description

Nous cherchons à développer une application iPhone nous permettant de gérer les tournées de nos chauffeurs de Benne à ordures ménagères.

Problématique:

Une tournée consiste à collecter les conteneurs (“bacs”) à déchets d’une liste de clients définie, pour une date donnée et un type de déchet donné. En effet, chaque type de déchet fait l’objet d’une tournée particulière.

Un chauffeur part du dépôt avec un véhicule adapté, s’arrête chez chaque client de la tournée.
Chacun de ces clients possède un ou plusieurs bacs à collecter. L’ensemble des bacs vidés chez un client est pesé à l’aide d’un système de pesée embarqué.

Nous désirons développer une application iPhone qui permettra au chauffeur d’indiquer pour chaque client:
- le nombre de bacs vidés en fonction de leur volume (il existe plusieurs taille de bac)
- le poids total collecté chez chacun des clients.

Le chauffeur devra également indiquer l’immatriculation du véhicule utilisé.

L’interface devra être ultra simplifiée. Par conséquent, les seules données que les chauffeurs devront saisir au clavier seront:
- le nombre de bacs collectés,
- le poids

Le reste des données seront stockés dans l’iPhone et seront proposées au chauffeur sous forme de “Picker View” ou tout autre objet plus adapté.
Ces données sont:

- l’ensemble des véhicules du parc
- l’ensemble des clients pour la tournée affichée.
- l’ensemble des volumes de bacs disponibles (par client)

Ces données pourront être modifiée en temps réel à l’aide d’un Mac. En outre, le serveur sera prévenu en temps réel quand une tournée a été débutée, avec quel véhicule et par quel chauffeur (le chauffeur étant identifié par son numéro de téléphone).

Une tournée est un ensemble de clients. L’iphone d’un chauffeur pourra recevoir et conserver plusieurs tournées à l’avance. Celles-ci pourront être consultées.

Un client est une entité comprenant les données suivantes:
- Le nom du client,
- l’adresse du client,
- Un nom de contact,
- Un numéro de téléphone
- Un éventuel second numéro de téléphone
- des précisions concernant la collecte.

Un client pourra être ajouté en temps réel à une collecte. Une notification devra être envoyée vers l’iPhone du chauffeur dont la liste des clients à collecter à été mise à jour.

Quand le chauffeur arrive chez un client, la “fiche” de celui-ci s’affiche automatiquement. Cette vue doit afficher:

- Le nom du client
- Les différents types de conteneurs (exprimés en volume)
- deux zones de saisie, une indiquant le nombre de conteneurs collectés, l’autre indiquant le poids de l’ensemble.

Une gesture permet de passer d’une fiche client à l’autre. A gauche, vers les clients précédemment collectés, à droite vers les clients à collecter dans un ordre précis.

Evidemment, le chauffeur à la possibilité de ne pas respecter l’ordre des clients à collecter.

En fin de tournée, le chauffeur devra “valider” sa tournée. Celle-ci sera dite “clôturée” et apparaitra dans une liste de tournées clôturées.
Ces tournées pourront être visualisée mais pas modifiée. Seuls 15 jours de tournées seront conservés.
Un message préviendra le chauffeur s’il a omis de collecter un ou plusieurs clients. La liste de ces clients doit pouvoir s’afficher.
Le chauffeur aura alors la possibilité d’outrepasser et de validité malgré tout la tournée ou de reprendre celle-ci en repartant collecter les clients omis.

Les données saisies devront être envoyées soit, en temps réel au fur et a mesure de la saisie, soit au moment de la validation.

Les données à envoyer au serveur sont:
- La date du jour de la tournée
- l’immatriculation du véhicule utilisé
- L’identifiant des clients effectivement collectés (zones “nombre de bacs collectés” et “poids par client” renseignées)
- l’identifiant des clients chez qui le chauffeur à fait une pose de plus de 30 secondes.
- La liste des clients non collectés (au moment de la validation)
- validation automatique (oui ou non)

Si le chauffeur omet de valider sa tournée, l’application doit la valider automatiquement à 22 heures.
Le chauffeur sera prévenu de cette validation automatique ainsi que le serveur au moment d’entamer une nouvelle tournée.

Côté serveur (mac) la base de données est une base PostgreSQL. L’application de génération des tournées est déjà développée mais il faudra réaliser une interface entre le mac et l’iPhone afin de pouvoir envoyer des données à ce dernier en temps réel.

Compétences requises

iPhone, Xcode, Cocoa,

Lieu de travail

Bordeaux

Budget indicatif

Non précisé.