SP:Fotolia
De Hegyd Doc.
(→Le cron) |
|||
| Ligne 49 : | Ligne 49 : | ||
=== Le cron === | === Le cron === | ||
| - | Le [[SP:Processus:Cron|cron]] '''fotoliaCredits.php''' récupère la liste des Upload liés a des objets publiées sur le site du client depuis au moins X jours (voir [[#Configuration | + | Le [[SP:Processus:Cron|cron]] '''fotoliaCredits.php''' récupère la liste des Upload liés a des objets publiées sur le site du client depuis au moins X jours (voir [[#Configuration|paramètres de configuration]]). |
Pour chacun d'entre eux, il regarde si la décréditation a déja eu lieu. Si ce n'est pas le cas il décrédite le compte défini du nombre de crédit nécéssaire pour l'image. | Pour chacun d'entre eux, il regarde si la décréditation a déja eu lieu. Si ce n'est pas le cas il décrédite le compte défini du nombre de crédit nécéssaire pour l'image. | ||
Version du 30 juin 2010 à 09:14
Sommaire |
Liaison avec Fotolia
Les images associées aux Craft proviennent de Fotolia. Les conditions d'utilisation de Fotolia veulent qu'a chaque utilisation d'une de ces images, le compte d'Hegyd soit décrémenté d'autant de "crédits" (monnaie locale a Fotolia) que requiert l'image.
Pour ce faire, un cron lancé chaque jour parcours la liste des photos Fotolia utilisés par chacun des sites, et si cela fait plus de X jours (voir #Configuration:paramètres de configuration) qu'elles sont associées au site, on vérifie si elles ont été décrédité du compte Hegyd. Si ce n'es pas le cas, alors le script le fait.
Configuration
Voici la liste des paramètres de configuration (dans fichier de configuration:
$conf['FOTOLIA_API_KEY'] = '9lJecPHB8Vm8U0Fy9og10su16RO1aSoa'; $conf['FOTOLIA_API_URL'] = 'api.fotolia.com'; $conf['FOTOLIA_API_PATH'] = '/Xmlrpc/rpc'; $conf['FOTOLIA_USER_NAME'] = 'viaduc'; $conf['FOTOLIA_USER_PWD'] = 'VIADUC49070'; $conf['FOTOLIA_DEV_REPORT_MAIL'] = $conf['REPORT_MAIL_DEV']; //mail pour les rapport de cron $conf['FOTOLIA_REPORT_MAIL'] = 's.derrey@hegyd.com'; //adresse email vers qui seront envoyés les alertes dans le cas ou le nombre de crédits du compte es inférieur à 10 $conf['FOTOLIA_DELAY_DECREMENT_CREDIT'] = 0; //nb de jours a attendre pour q'une image soit considérée comme associée au site, et procéder a son paiement
Implémentation
Base de données
- la table imageFotolia contient les références fotolia des photos utilisées: couple identifiant fotolia / license utilisé .
- la table de jointure jSiteCLient_ImageFotolia relie un site a une image fotolia, et permet de savoir si une image a été payée pour un site donné
- Un champ dans la table des Upload permet de lié une image avec un identifiant fotolia: imageFotoliaID
TODO DIAGRAMME DE BD
Classes Object
- Une classe ImageFotolia permet de gérer les entrées dans la table imageFotolia (creation,modification,vérification), ainsi que a décrémentation de crédit du compte Hegyd, et la vérification du nombre de crédits existants.
- Cette classe est utilisée par la classe Upload pour associer un objet a une image fotolia, et pour savoir a quelle image fotolia est lié un Upload.
Fonctionnement
L'assignation d'une image en tant que image Fotolia
L'assignation de fait dans l'administration des métiers. A chaque fois qu'un administrateur ajoute une photo, alors il a la possibilité de lui assigner un identifiant et une licence fotolia. On ajoute ce couple en base seulement s'il n'existe pas.
Ensuite lors du déploiement d'un Craft pour un site client, les photos correspondantes sont dupliqués, et leur identifiant fotolia conservé.
Le cron
Le cron fotoliaCredits.php récupère la liste des Upload liés a des objets publiées sur le site du client depuis au moins X jours (voir paramètres de configuration). Pour chacun d'entre eux, il regarde si la décréditation a déja eu lieu. Si ce n'est pas le cas il décrédite le compte défini du nombre de crédit nécéssaire pour l'image.
