Code backend

Bonjour,

J’essaie de trouver un moyen d’exécuter du code en backend.

L’objectif final est d’appeler l’API Maxmind et de rediriger les utilisateurs venant de l’extérieur du Québec vers un autre site.

J’ai trouvé ce post et je comprends que pour ce faire, je devrais utiliser une instance auto-hébergée de Discourse.

Y a-t-il un moyen de faire ce que j’essaie de faire avec le plan pro ?

Cordialement,

Julien

Je ne connais pas la réponse, désolé, mais vous devriez bien réfléchir à une telle solution. La géolocalisation IP est très peu fiable.

Vous devrez écrire un plugin pour cela. Voir Développement de plugins Discourse - Partie 1 - Créer un plugin de base.

Pas besoin d’appels API, car Discourse intègre MaxMind dès sa sortie de la boîte, et vous pouvez simplement appeler DiscourseIpInfo.get(ip) depuis votre plugin.

Si vous êtes sur notre hébergement, veuillez contacter notre support. Nous pouvons vous aider avec des plugins personnalisés dans notre plan Entreprise.

3 « J'aime »

Vous devrez écrire un plugin pour cela. Voir Développement de plugins Discourse - Partie 1 - Créer un plugin de base.

Mais pourrai-je utiliser ce plugin avec la version SaaS de Discourse (avec le plan pro) ?

Pas besoin d’appels API, car Discourse est livré avec une intégration MaxMind prête à l’emploi, et vous pouvez simplement appeler DiscourseIpInfo.get(ip) depuis votre plugin.

Est-ce suffisamment précis pour cibler uniquement les utilisateurs du Québec, Canada ? La plupart des services GeoIP que j’ai trouvés avaient une précision par pays mais n’étaient pas capables de cibler une province spécifique au Canada.

Si vous êtes sur notre hébergement, veuillez contacter notre support. Nous pouvons vous aider avec des plugins personnalisés dans notre plan Entreprise.

Donc, pas possible avec le plan Standard ? Je suppose que le plan Entreprise coûte au moins 3 fois le prix du plan pro.

Difficile à dire, voici ce que j’ai trouvé sur mon IP :

=> {:country=>"United States",
 :country_code=>"US",
 :region=>"Tennessee",
 :city=>"Nashville",
 :latitude=>36.1315,
 :longitude=>-86.8019,
 :location=>"Nashville, Tennessee, United States",
 :geoname_ids=>[6255149, 6252001, 4644585, 4662168],
 :asn=>7922,
 :organization=>"COMCAST-7922"}

Il y aura un tas de façons dont cela pourrait avoir des faux positifs ou des faux négatifs. Votre meilleure option est une autre solution au problème que vous essayez de résoudre avec la redirection.

Cela semble suffisamment précis, mais de nombreux services GeoIP sont plus précis pour les adresses IP des États-Unis que pour celles du Canada.

Il n’est pas nécessaire que ce soit positif ou négatif à 100 %, c’est une façon d’avoir une première barrière puisque le service est offert uniquement aux personnes du Québec.

1 « J'aime »

Au lieu d’une redirection complète, vous pourriez utiliser un composant thématique qui, par exemple, si vous cherchez à rediriger les utilisateurs français. Il pourrait peut-être utiliser Local pour remplir une fenêtre contextuelle sur l’écran de connexion pour le site préféré des francophones.

1 « J'aime »

Je vous recommanderais d’inclure simplement un champ personnalisé pour l’utilisateur indiquant « Je suis au Québec » qu’il doit cocher lors de son inscription.

Cependant, si vous souhaitez un plugin, je pourrais peut-être vous aider.

1 « J'aime »

Je serais ravi d’accepter une PR pour le plugin Locations (en tant que paramètre du site) afin de déterminer automatiquement la localisation d’un utilisateur et de la définir dans son profil, qui, dans ce mode, pourrait être en lecture seule (un autre paramètre) pour l’empêcher de la modifier lui-même (mais elle pourrait être modifiée par un administrateur sur demande).

Ensuite, en bonus, vous pourriez voir tout le monde sur une carte :slight_smile:

Vous pourriez inverser la logique de notre plugin de géo-blocage et, au lieu de bloquer certaines régions, vous pourriez tout bloquer sauf certaines régions. Ça ne devrait pas être trop difficile - des points bonus pour la personne qui peut le faire avec une modification d’un seul caractère.
Indice : ligne 37 !

Ou vous pouvez héberger avec communiteq sur le plan Professionnel ou supérieur. Dans ce cas, nous étendrons même le plugin à votre cas d’utilisation.

2 « J'aime »