Cet API, réalisé en PHP Objet, contient une multitude de fonctions renvoyant des données au format JSON.
Les requêtes devront être structurées de la sorte :
get('http://localhost/API-SenDrive/senDrive.php',{
fonction:'nomDeLafonction',
Paramètre_1: 'valeur_1',
Paramètre_2: 'valeur_2',
...,
Paramètre_n: 'valeur_n'
} ,function(data){
console.log(data)
})
post('http://localhost/API-SenDrive/senDrive.php',{
fonction:'nomDeLafonction',
Paramètre_1: 'valeur_1',
Paramètre_2: 'valeur_2',
...,
Paramètre_n: 'valeur_n'
} ,function(data){
console.log(data)
})
- afficheChauffeurs () : Affichage de tous les chauffeurs.
- afficheChauffeur(dateDebut, dateFin) : Affichage des chauffeurs disponibles entre les dates indiquées
- connexion(login, password) : connexion des utilisateurs
IMPORTANT: Si réussie, la fonction retourne un array contenant les informations de l'utilisateur connecté et retoune false si non.
- afficheVehicules() : Affichage de tous les véhicules
- afficheVehicule(dateDebut, dateFin) : Affichage des véhicules disponibles entre les dates indiquées
- afficheModele(id): Affichage d'un modèle selon l'id de la marque
NOTE : Si l'id de la marque n'est pas spécifié, tous les modèles seront affichés.
- afficheMarques(): Affichage des marques des véhicules
- filtreVehicule(filtre) : Affichage des critères de véhicule selon un filtre indiqué à la fois
IMPORTANT : Utiliser comme filtre, clim-oui pour afficher les véhicules climatisés et clim-non,
dans le cas contraire.
- filtrage(idMarque, idModele, idType, idCarburant, climatisation, dateDebut, dateFin) : Affichage des véhicules selon les critères indiqués.
NOTE : Indiquer la valeur -1 à la place d'un critère pour l'ignorer.
- supprimerVehicule(id) : Suppression de véhicule
- afficheClients() : Affichage des clients
- afficheReservations(choix) : Affichage des réservations selon le choix avec ou sans chauffeur.
- afficheReservation(statut) : Affichage des réservations selon le statut : 'En cours', 'Annulé' ou 'Terminé'.
- filtreReservationA(element, id, statut): Filtrage des reservations avec chauffeur selon l'élément qui est soit vehicule ou chauffeur
- filtreReservationS(element, id, statut): Filtrage des reservations sans chauffeur selon l'élément qui est soit vehicule ou chauffeur
- annulerReservation(idReservation) : Annulation d'une reservation
- afficheUtilisateurs() : Affichage des utilisateurs
- afficheUtilisateur(id) : Affichage d'un utilisateur spécifié par son id
- afficheProprio() : Affichage des proprietaires
IMPORTANT : Les fonctions d'affichage retournent false si aucune donnée à afficher n'a été trouvée.
- affichePersonnels : Affichage du personnel
- affichePersonnel(id) : Affichage d'un membre du personnel selon son id
- afficheDoc(nature) : Affichage des fichiers de documentation dont la nature est spécifiée
NOTE : Les natures disponibles sont :
- contrat
- fiche
- processus
- facture
- gestion
NOTE : fiche indique les fiches d'état des lieux.
- supprimerCaracVehicule(carac, id): Suppréssion d'un attribut de véhicule
NOTE : carac désigne un caractéristique de véhicule à supprimer soit marque, modele ou typeVehicule.
- supprimerReservation(id) : Suppréssion d'une réservation
- supprimerProprio(id) : Suppréssion d'un propriétaire
NOTE : Le propriétaire est aussi le Partenaire.
- supprimerPersonnel(id): Suppression de personnel
- supprimerChauffeur (id): Suppréssion de chauffeurs
- affichePromo(statut): Affichage des promotions selon le statut spécifié
NOTE: Le statut est facultatif. S'il n'est pas indiqué, toutes les promotions En cours, Annulé comme Terminé sont affichées.
- affichePromos(dateDebut, dateFin): Affichage des promotions comprises entre deux dates
- supprimerPromo(id) : Suppréssion de promotion
- afficheNavette(statut): Affichage des navettes
NOTE: Le statut est facultatif. S'il n'est pas indiqué, toutes les navettes En cours, Annulé comme Terminé sont affichées.
- filtreNavette(idVehicule, idChauffeur, statut) : Affichage des navettes selon le vehicule ou le chauffeur
NOTE: Le statut est facultatif.
- supprimerNavette(id): Suppression de navette
- annulerNavette(id): Annulation de navette
- ajoutClient(nom, prenom, telephone, adresse, mail, destination) : Ajout de clients
- ajoutReservation(idVehicule, idChauffeur, dateDebut, dateFin, destination) : Ajout d'une réservation
IMPORTANT: Il faudra ajouter d'abord le client ensuite la reservation vue que dans la table Reservation, il y'aura l'id du client en question.
- modifierReservation(idReservation, idClient, idVehicule, idChauffeur, dateDebut, dateFin, statut, prix, destination) : Modification d'une réservation
- ajoutUtilisateur(login, password, statut, numIdentite) : Ajout d'utilisateurs
IMPORTANT: L'utilisateur doit se trouver au préalable dans la table Personnel
- modifierUtilisateur(id, login, statut, idPersonnel) : Modification d'un utilisateur
IMPORTANT: L'idPersonnel spécifié doit se trouver au préalable dans la table Personnel
- changePassword(id, oldPassword, newPassword): Changement de mot de passe
- ajoutProprio(raisonSociale, proprietaire, dateNaissance, numIdentite, telephone, adresse, email) : Ajout de propriétaire
IMPORTANT: Les raisons sociales possibles sont: Particulier et Professionnel.
-
modifProprio(idProprietaire, raisonSociale, proprietaire, dateNaissance, numIdentite, telephone, adresse, email) : Modification de propriétaire
-
ajoutVehicule(idMarque, idModele, idType, idProprietaire, idCarburant, dateDebut, dateFin, immatriculation, climatisation, nbPorte, nbPlace, description, prix, boiteDeVitesse): Ajout de véhicule
-
modifierVehicule(idVehicule, idMarque, idModele, idType, idProprietaire, idCarburant, dateDebut, dateFin, immatriculation, climatisation, nbPorte, nbPlace, description, prix, boiteDeVitesse) : Modification de véhicule
-
ajoutPersonnel(civilite, poste, nom, prenom, dateNaissance, numeroIdentite, adresse, telephone, email): Ajout du personnel
-
modifierPersonnel(idPersonnel, civilite, poste, nom, prenom, dateNaissance, numeroIdentite, adresse, telephone, email): Modification du personnel
-
ajoutFonction(poste): Ajout d'une fonction (poste) d'un personnel
-
ajoutChauffeur (prenom, nom, dateNaissance, numeroIdentite, permis, adresse, telephone, dateDebut, dateFin, commentaire): Ajout de chauffeurs
-
modifierChauffeur(idChauffeur, prenom, nom, dateNaissance, numeroIdentite, permis, adresse, telephone, dateDebut, dateFin, commentaire): Modification de chauffeurs
-
ajoutMarque(marque) : Ajout d'une marque de véhicule
-
ajoutModele(modele, id) : Ajout d'un modéle de véhicule
-
ajoutTypeVehicule(type) : Ajout d'un type de véhicule
-
modifierCaracVehicule(idCarac, carac, valeur, idMarque): Modification d'un attribut de véhicule
NOTE : Cet attribut est défini par carac et peut valoir soit marque, modele ou typeVehicule. Dans le cas où il vaut modele, il faudra renseigner le paramètre idMarque car le modèle d'un véhicule dépend de la marque. C'est le seul cas où l'idMarque est obligatoire.
- ajoutPromo(idMarque, idModele, nom, taux, dateDebut, dateFin) : Ajout de promotion
- modifierPromo(idPromo, idMarque, idModele, nom, taux, statut, dateDebut, dateFin) : Modification de promotion
- ajoutNavette($nomClient, $prenomClient, $telephone, $adresse, $mail, $idVehicule, $idChauffeur, $date, $depart, $destination, $heureDebut, $heureFin, $prix): Ajout d'une navette
NOTE : Si l'idClient n'est pas spécifié, l'id du dernier client sera utilisé
- modifierNavette(idNavette, idClient, idVehicule, idChauffeur, date, destination, heureDebut, heureFin, prix): Modification d'une navette
IMPORTANT : Dans le fichier connexion.class.php, il faudra mettre à jour la ligne au niveau du bloc "Try" en le remplaçant par :
$bdd = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $login, $password, array(PDO::MYSQL_ATTR_FOUND_ROWS => true));
Cela permet de prendre en compte les lignes affectées par les modifications lors de l'utilisation de la fonction rowCount().
Un fichier traitement.php est dédié à ce module, il est structuré comme suit :
traitement.php?nature=valeur1&cible=valeur2&id=valeur3
- La nature est soit photo pour indiquer que le fichier uploadé est une photo, soit doc pour indiquer que c'est un fichier de documentation.
- En fonction de la nature indiquée, la cible peut prendre comme valeurs :
- Pour la nature photo :
- utilisateur
- chauffeur
- vehicule
- Pour la nature doc :
- contrat
- fiche
- processus
- facture
- gestion
- Pour la nature photo :
NOTE : fiche indique les fiches d'état des lieux.
- Lorsque la nature photo est choisie, il faudra préciser l'id de l'élément (utilisateur, chaufeur ou véhicule) à qui on souhaite associer cette photo. L'id n'est obligatoire que pour ce cas.
NOTE : À chaque upload d'un fichier, son chemin dans le serveur est mis à jour dans la base de données.
IMPORTANT : Les dossiers Images et documentation ainsi que l'ensemble de leurs sous-dossiers doivent posséder les droits d'écriture. Un CHMOD à 733 sera ainsi nécéssaire. La taille des fichiers est limitée à 5 Mo extensible jusqu'à 8 Mo.
- supprimerDoc(id) : Suppression du fichier de documentation dont l'id est spécifié (s'utilise avec GET)