Analyse SERVICE Services ======= *rest_entry -> service de base REST messages maintenance -> LDAP * metier metier_manager.php classe principale -> exemple : vider les repertoires var construct d'une connexion avec variable session ajouter() modifier()supprimer() sert si traitement et pas d existence de classe metier ? methodes d'instanciation messages_manager.php extend metier_manager requete post specifique dossier de aria/ads ??? om_extendsmanager.php s appuie sur la classe métier pour ajouter/modifier/supprimer herite de MetierManager * REST service.php instanciation get() post() put() delete() om_extends.php surcharge de get, post delete, put ############# Services REST ############# ============================================================ Utilisation des services REST avec curl en ligne de commande ============================================================ Pour envoyer une demande concernant les utilisateurs, avec curl et simple HTTP authetification, on fait : - en cas de GET : $ curl --user -v http:////services/rest_entry.php/utilisateurs/ Le '' doit etre remplace par l'ID d'un utilisateur, le '' doit etre remplace par un server IP ou un domain name, et '' est le chemin, dans la hierarchie des fichiers, ou se trouve le projet. - en cas de POST : curl --user -v -H "Content-Type: application/json" -d '{"nom":"plop", "email":"plop@movies.com","login":"plop","pwd":"password","om_profil":"5","om_collectivite":"1","om_type":"db_type"}' -X POST http:////services/rest_entry.php/utilisateurs - en cas de PUT: $ curl --user -v -H "Content-Type: application/json" -d '{"nom":"Changed_name"}' -X PUT http:////services/rest_entry.php/utilisateurs/ - en cas de DELETE: $ curl --user -v -X DELETE http:////services/rest_entry.php/utilisateurs/ En cas d'encryptage SSL des donnes, curl doit etre utilise avec l'option E comme par exemple : $ curl -E //key_certificate.concat --cacert //self_signed_sertificate.crt -k -v -H --user -v https:////services/utilisateurs/ Le key_certificate.concat contient la cle avec le certificat colle a la fin de la cle. ***************************** Description des services REST ***************************** ======================= Ressource 'maintenance' ======================= Méthode POST ------------ Synchronisation des utilisateurs via LDAP ***************************************** /services/maintenance { "module": "user" }