CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 24-07-2016 16:36:46

Jamesnobrey
Chouquette
Date d'inscription: 24-07-2016
Messages: 4

[Resolu]Cakephp-geo

Bonjour à tous !

Je viens humblement sur ce très utile forum, pour vous faire part d'un problème (et accessoirement, de quelques questions) qui me tourmentent depuis un peu plus d'une semaine. Et je commence à tourner en rond.
Comme le titre l'indique, j'essaye de faire fonction le plugin Cakephp-geo, disponible sur github (ici).
Je l'ai installé sur mon serveur (après des manipulations assez laborieuses, étant en mutualisé) via composer, et l'ai inclus comme recommandé dans mon bootstrap. Il est apriori bien chargé (je vois que ses scripts sont bien chargés quand je regarde via la barre "include" du DebuKit).
Mais ensuite, pas moyen de le faire fonctionner.
J'ai essayé les deux méthodes proposées, à savoir manuellement, puis via le behavior, rien à faire.

1) Manuellement:

$this->Geocoder->setOptions(['allowInconclusive' => true, 'minAccuracy' => Geocoder::TYPE_POSTAL]);
$addresses = $this->Geocoder->geocode($address);

if (!empty($addresses)) {
   $address = $addresses->first();
}
-Ce code renvoi une erreur de type "setOptions use on a booloean" (en gros). Il semble donc qu'il ne trouve pas le Geocoder.
D'ou ma première question: Depuis la version 3 du plugin, il est dit que le plugin utilise la bibliothèque willdurand/geocoder. Faut-il l'installer?

Ensuite, j'ai crée une table Addresses, avec controller, model et view (en ajoutant, dans la table, "$this->addBehavior('Geo.Geocoder', $config);" comme décris dans la doc), et j'ai tenté de géocoder à la sauvegarde (en gros, je passe une adresse et dans la table, les champs latitude et longitude sont automatiquement sauvegardés dans ma table Addresses). L'adresse est bien sauvegardée, mais pas de long/lat.
D'ou ma deuxième question, qu'est ce qui cloche? (oui, elle était prévisible, je sais tongue).

Voila un peu prêt ou j'en suis. Dans le flou, quoi big_smile !
Merci d'avance pour les réponses, et n'hésitez pas à demander des précisions si je n'ai pas été clair.

Bonne après midi !

Dernière modification par Jamesnobrey (19-08-2016 21:29:02)

Hors ligne

 

#2 29-07-2016 11:56:46

cake17
Cooker
Date d'inscription: 29-03-2012
Messages: 382
Site web

Re: [Resolu]Cakephp-geo

Bonjour,

Si le plugin dépend de willdurand/geocoder, il faut effectivement aussi l'installer. En utilisant Composer pour installer le plugin, normalement il télécharge en même temps ses dépendances (et donc la librairie willdurand/geocoder). Peux-tu regarder dans /vendor pour voir si la librairie y est ?

Je ne peux que te conseiller d'utiliser Composer sur un serveur qui l'inclut. Il existe des offres pas trop trop chers qui te permettent de l'utiliser comme par exemple https://www.gandi.net/hebergement/simpl … p;db=mysql pour 4 euros par mois. Ou d'autres offres...

Et en local sur ton ordi, il fonctionne ? Parce que si j'ai bien compris tu développes directement sur ton serveur ???

Hors ligne

 

#3 31-07-2016 22:14:49

Jamesnobrey
Chouquette
Date d'inscription: 24-07-2016
Messages: 4

Re: [Resolu]Cakephp-geo

Bonsoir Cake17 !

Déjà, merci beaucoup de ta réponse (et je te prie de m'excuser du délai de réponse, le week end a été assez chargé et je n'ai pas pu passer avant !).

D'accord, merci de la confirmation, c'est aussi ce que je me suis dis, par la suite (en relisant la doc Github, et puis pour essayer toutes les possibilités... J'étais vraiment perdu sad ) quand j'ai continué à faire des tests.
Alors, si je ne dis pas de bêtise, lors de l'installation de Cakephpgeo via composer, la librairie  willdurand/geocoder n'a pas été téléchargé, et c'est moi qui ai du l'installer, par la suite (toujours via composer). Paradoxalement, j'ai pas trouvé dans le code l'endroit où Cakephp-geo utilise cette librairie.
Donc, actuellement sur mon serveur, j'ai bien et cakephp-geo, et la librairie willdurand/geocoder, tous deux dans le dossier /vendor de l'application (l'autoload et le fichier cakephp-plugins sont à jour).

Je vais jeter un coup d'oeil, merci du lien ! Bon je travaille avec quelqu'un d'autre donc ce n'est pas vraiment mon serveur mais je lui en parlerai du coup. Je suis chez ovh en mutualisé pour l'instant.
Concernant Composer, j'utilise une manip' un peu primitive mais qui a l'air de bien fonctionner. J'ai Composer pour windows, j'ai un dossier contenant l'appli Cakephp originelle, et j'installe les plugins désirés via Composer en local, avant de les transférer sur le serveur (et de rajouter/remplacer les scripts par ceux que j'ai écris).


Oui, exact, je travaille directement sur le serveur (bon c'est un serveur de test, donc pas de soucis). C'est pour simplifier au maximum le routing, le nommage des dossiers, l'envoi de mail etc. Du coup, j'ai pas testé en local (vu que j'ai pas vraiment l'installation pour...)

Bonne soirée !

Hors ligne

 

#4 01-08-2016 09:27:23

cake17
Cooker
Date d'inscription: 29-03-2012
Messages: 382
Site web

Re: [Resolu]Cakephp-geo

Bonjour,

C'est étrange que la librarie willdurand/geocoder n'ait pas été téléchargée car elle se trouve dans les require de cakephp-geo https://github.com/dereuromark/cakephp- … r.json#L18

Bizarre...

Le plugin utilise Geocoder dans pas mal de classe par exemple ici https://github.com/dereuromark/cakephp- … der.php#L8

Bonne journée

Hors ligne

 

#5 05-08-2016 14:16:45

Jamesnobrey
Chouquette
Date d'inscription: 24-07-2016
Messages: 4

Re: [Resolu]Cakephp-geo

Bonjour !

Arf, oui, c'est effectivement problématique. Ça doit venir de ma façon d'utiliser Composer, il doit avoir un soucis dans ma bidouille local/Serveur. Je vais tester l'offre que tu m'as indiqué, pour pouvoir refaire une installation propre de ce plugin. Merci beaucoup de ta réponse (et désolé de mes délais de réponses déplorables, j'ai pas mal  travaillé sur mon projet ces derniers jours et j'ai complétement zappé  de passer voir ici de temps en temps. Ça n'excuse rien, mais c'est dit. Donc merci encore ! smile )
Je teste ça très rapidement, et je mettrai un update ici, histoire de tenir aux nouvelles !

Bonne journée !

Hors ligne

 

#6 19-08-2016 21:28:37

Jamesnobrey
Chouquette
Date d'inscription: 24-07-2016
Messages: 4

Re: [Resolu]Cakephp-geo

Yop !

Petit up juste pour tenir informé de la situation ! Le problème est résolu, c'était un soucis d'utilisation de Composer et d'upload sur le serveur (qui a été résolu en passant par Git).
Merci encore à Cake17 pour son aide !
Bonne soirée.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr