Planète

Par GoZ
Fabien CLEMENT

Contribuer en tant que développeur à Drupal via Drupal.org

Contribuer en tant que développeur à Drupal via Drupal.org

La contribution sur drupal.org ne se fait pas via 'pull request' comme sur github mais fonctionne encore avec des patchs. Même si quelques modules sont disponibles sur github, ils ne sont censés être que des répliques, les repos principaux et les issues devant se gérer directement sur drupal.org.

Une documentation fixe la charte de bonne utilisation de git, ce qui permet d'aider les contributeurs à apprendre à générer un patch correct et permet au mainteneur de pointer vers cette documentation si besoin.

GoZ
jeu 31/03/2016 - 19:19

Quelques modules Drupal 8 à (re)découvrir

Bien que Drupal 8 soit encore très jeune, 4 mois après la publication de sa première version stable, les modules Drupal 8 deviennent de plus en plus nombreux et le rythme semble encore s'accélérer.  Sans doute grâce à une architecture plus robuste, un investissement conséquent de la communauté Drupal, et une adoption de Drupal 8 beaucoup plus rapide du fait d'un coeur plus complet.

Les modules à installer dès une installation fraiche de Drupal 8 deviennent de ce fait moins nombreux. Découvrons quelque uns de ces modules qui peuvent soit enrichir rapidement votre couverture fonctionnelle, soit vous faciliter l'administration de votre site Drupal 8, ou encore qui sont tout simplement indispensables.

Quelques modules Drupal 8 à (re)découvrir

Bien que Drupal 8 soit encore très jeune, 4 mois après la publication de sa première version stable, les modules Drupal 8 deviennent de plus en plus nombreux et le rythme semble encore s'accélérer.  Sans doute grâce à une architecture plus robuste, un investissement conséquent de la communauté Drupal, et une adoption de Drupal 8 beaucoup plus rapide du fait d'un coeur plus complet.

Les modules à installer dès une installation fraiche de Drupal 8 deviennent de ce fait moins nombreux. Découvrons quelque uns de ces modules qui peuvent soit enrichir rapidement votre couverture fonctionnelle, soit vous faciliter l'administration de votre site Drupal 8, ou encore qui sont tout simplement indispensables.

Par admin

Compte rendu de l'assemblée générale du 23 mars 2016

Mercredi 23 mars s'est déroulé, à la maison des associations Paris III, l'assemblée générale annuelle de l'association, l'occasion de revenir sur l'année passée, d'élire un nouveau bureau et de présenter les projets de l'année à venir.

L'heure du bilan

Drupal Dev Days 2015 à Montpellier

Les drupal devs days 2015

Du 13 au 19 avril dernier, l'équipe organisatrice accueillait environ 350 personnes, sur une semaine, à Montpellier. Pour sprinter, présenter une session ou retrouver ses amis, ils étaient là, venus du monde entier. Un projet qui s'est monté pendant plus de 9 mois. C'est aussi une belle réussite culinaire :)

Une année sous le signe des communautés

Instants lors d'événements 2015

Cette année l'association a été particulièrement présente lors d'évènements divers : JDLL à Lyon, PHP Tour Luxembourg, RMLL, Drupagora, POSS (Solutions Linux), Forum PHP, JM2L, SymfonyCon Paris, ...

Ces interventions vont continuer, car l'association sera présente lors d'Agora CMS le 1er avril prochain et des JDLL le 2 et avril.

A noter aussi cette année la participation à un podcast wordpress autour des communautés.

Novembre 2015, Drupal 8 était publié et nous faisions la fête ! 5 villes ont organisé pour l'occasion une rencontre. #celebratedrupal8

Améliorations

Cette année aussi, le site s'est étoffé. Florent y avait intégré l'adhésion en ligne. Une carte des meetups en France a aussi été intégrée. Nous préparons de nouvelles mises à jour pour la suite.

Côté finances

Le bilan financier annuel est bon. L'évènement Drupal Dev Days s'est avéré positif, avec un budget initial ambitieux de plus de 50 000€. Nous avons bénéficié de dons (Drupal Dev Days Szeged, Drupal Association, Accelerate Drupal 8), ce qui nous a permis par la suite de donner à notre tours (Accelerate Drupal 8 et Drupal Dev Days Milan).

A noter toutefois que les frais de l'association sont en hausse et que pour sa stabilité l'organisation d'un évènement par an est nécessaire, quel dommage :p

Nouveau bureau et présentation des commissions

Le nouveau bureau

Petit changement dans le bureau cet année, pour le secrétaire. Vincent Maucorps laisse sa place à Florent Torregrosa, Vincent restant vice-secrétaire. Léon Cros et Anne-Sophie Picot, restent à leur poste respectif de président et trésorière.

Commissions

Nous avions déjà abordé par le passé l'idée de fédérer les actions adhérentes et de décharger le bureau. A été présenté la proposition de fonctionnement des commissions.

Soit des groupes autonomes, en charge de points précis, se relayant au bureau, pour la communication et logistique générale.

Liste rapide des commissions

Ces commissions, leurs rôles, leurs participants seront présentées sur le site dans l'espace association très prochainement.

Et maintenant ?

un drupalcamp en 2016 à Nantes

Drupal camp Nantes logo

Nous y étions en 2011, nous y revenons, le temps d'un week-end pour un camp sous le soleil du mois de Juin. Réservez vos 10, 11 et 12 juin 2016 ! Le site de l'évènement

la nouvelle communication de l'association

Logo de l'association

Nous en parlions il y a quelques semaines. Avions publié un concours de logo. L'association porte désormais de nouvelles couleurs. nous remercions tous les participants et félicitons Christophe Sadowski et Kévin Bothua pour leur logo sélectionné.

Un gros challenge de mise à jour de notre communication, nous attends donc.

les Prix Drupal France

Parce qu'il faut bien marquer le coup de temps en temps, et qu'il faut aussi profiter des bonnes occasions pour remercier les forces vives. Cette année, a été intégré le Prix Drupal France. Rien de systématique, juste l'occasion de mettre en lumière des participations.

Cette année, deux évènements ont été mis en lumière :

  • le changement de logo
  • l'organisation sans faille des Drupal Devs Days

Kévin et Christophe pour leur logo et Julien, Edouard et Anne-Sophie, pour l'organisation des DDD, ont été remerciés pour leurs participations respectives.

En page d'accueil : 
Par admin

Compte rendu de l'assemblée générale du 23 mars 2016

Mercredi 23 mars s'est déroulé, à la maison des associations Paris III, l'assemblée générale annuelle de l'association, l'occasion de revenir sur l'année passée, d'élire un nouveau bureau et de présenter les projets de l'année à venir.

L'heure du bilan

Drupal Dev Days 2015 à Montpellier

Les drupal devs days 2015

Du 13 au 19 avril dernier, l'équipe organisatrice accueillait environ 350 personnes, sur une semaine, à Montpellier. Pour sprinter, présenter une session ou retrouver ses amis, ils étaient là, venus du monde entier. Un projet qui s'est monté pendant plus de 9 mois. C'est aussi une belle réussite culinaire :)

Une année sous le signe des communautés

Instants lors d'événements 2015

Cette année l'association a été particulièrement présente lors d'évènements divers : JDLL à Lyon, PHP Tour Luxembourg, RMLL, Drupagora, POSS (Solutions Linux), Forum PHP, JM2L, SymfonyCon Paris, ...

Ces interventions vont continuer, car l'association sera présente lors d'Agora CMS le 1er avril prochain et des JDLL le 2 et avril.

A noter aussi cette année la participation à un podcast wordpress autour des communautés.

Novembre 2015, Drupal 8 était publié et nous faisions la fête ! 5 villes ont organisé pour l'occasion une rencontre. #celebratedrupal8

Améliorations

Cette année aussi, le site s'est étoffé. Florent y avait intégré l'adhésion en ligne. Une carte des meetups en France a aussi été intégrée. Nous préparons de nouvelles mises à jour pour la suite.

Côté finances

Le bilan financier annuel est bon. L'évènement Drupal Dev Days s'est avéré positif, avec un budget initial ambitieux de plus de 50 000€. Nous avons bénéficié de dons (Drupal Dev Days Szeged, Drupal Association, Accelerate Drupal 8), ce qui nous a permis par la suite de donner à notre tours (Accelerate Drupal 8 et Drupal Dev Days Milan).

A noter toutefois que les frais de l'association sont en hausse et que pour sa stabilité l'organisation d'un évènement par an est nécessaire, quel dommage :p

Nouveau bureau et présentation des commissions

Le nouveau bureau

Petit changement dans le bureau cet année, pour le secrétaire. Vincent Maucorps laisse sa place à Florent Torregrosa, Vincent restant vice-secrétaire. Léon Cros et Anne-Sophie Picot, restent à leur poste respectif de président et trésorière.

Commissions

Nous avions déjà abordé par le passé l'idée de fédérer les actions adhérentes et de décharger le bureau. A été présenté la proposition de fonctionnement des commissions.

Soit des groupes autonomes, en charge de points précis, se relayant au bureau, pour la communication et logistique générale.

Liste rapide des commissions

Ces commissions, leurs rôles, leurs participants seront présentées sur le site dans l'espace association très prochainement.

Et maintenant ?

un drupalcamp en 2016 à Nantes

Drupal camp Nantes logo

Nous y étions en 2011, nous y revenons, le temps d'un week-end pour un camp sous le soleil du mois de Juin. Réservez vos 10, 11 et 12 juin 2016 ! Le site de l'évènement

la nouvelle communication de l'association

Logo de l'association

Nous en parlions il y a quelques semaines. Avions publié un concours de logo. L'association porte désormais de nouvelles couleurs. nous remercions tous les participants et félicitons Christophe Sadowski et Kévin Bothua pour leur logo sélectionné.

Un gros challenge de mise à jour de notre communication, nous attends donc.

les Prix Drupal France

Parce qu'il faut bien marquer le coup de temps en temps, et qu'il faut aussi profiter des bonnes occasions pour remercier les forces vives. Cette année, a été intégré le Prix Drupal France. Rien de systématique, juste l'occasion de mettre en lumière des participations.

Cette année, deux évènements ont été mis en lumière :

  • le changement de logo
  • l'organisation sans faille des Drupal Devs Days

Kévin et Christophe pour leur logo et Julien, Edouard et Anne-Sophie, pour l'organisation des DDD, ont été remerciés pour leurs participations respectives.

En page d'accueil : 
Par admin

Compte rendu de l'assemblée générale du 23 mars 2016

Mercredi 23 mars s'est déroulé, à la maison des associations Paris III, l'assemblée générale annuelle de l'association, l'occasion de revenir sur l'année passée, d'élire un nouveau bureau et de présenter les projets de l'année à venir.

L'heure du bilan

Drupal Dev Days 2015 à Montpellier

Les drupal devs days 2015

Du 13 au 19 avril dernier, l'équipe organisatrice accueillait environ 350 personnes, sur une semaine, à Montpellier. Pour sprinter, présenter une session ou retrouver ses amis, ils étaient là, venus du monde entier. Un projet qui s'est monté pendant plus de 9 mois. C'est aussi une belle réussite culinaire :)

Une année sous le signe des communautés

Instants lors d'événements 2015

Cette année l'association a été particulièrement présente lors d'évènements divers : JDLL à Lyon, PHP Tour Luxembourg, RMLL, Drupagora, POSS (Solutions Linux), Forum PHP, JM2L, SymfonyCon Paris, ...

Ces interventions vont continuer, car l'association sera présente lors d'Agora CMS le 1er avril prochain et des JDLL le 2 et avril.

A noter aussi cette année la participation à un podcast wordpress autour des communautés.

Novembre 2015, Drupal 8 était publié et nous faisions la fête ! 5 villes ont organisé pour l'occasion une rencontre. #celebratedrupal8

Améliorations

Cette année aussi, le site s'est étoffé. Florent y avait intégré l'adhésion en ligne. Une carte des meetups en France a aussi été intégrée. Nous préparons de nouvelles mises à jour pour la suite.

Côté finances

Le bilan financier annuel est bon. L'évènement Drupal Dev Days s'est avéré positif, avec un budget initial ambitieux de plus de 50 000€. Nous avons bénéficié de dons (Drupal Dev Days Szeged, Drupal Association, Accelerate Drupal 8), ce qui nous a permis par la suite de donner à notre tours (Accelerate Drupal 8 et Drupal Dev Days Milan).

A noter toutefois que les frais de l'association sont en hausse et que pour sa stabilité l'organisation d'un évènement par an est nécessaire, quel dommage :p

Nouveau bureau et présentation des commissions

Le nouveau bureau

Petit changement dans le bureau cet année, pour le secrétaire. Vincent Maucorps laisse sa place à Florent Torregrosa, Vincent restant vice-secrétaire. Léon Cros et Anne-Sophie Picot, restent à leur poste respectif de président et trésorière.

Commissions

Nous avions déjà abordé par le passé l'idée de fédérer les actions adhérentes et de décharger le bureau. A été présenté la proposition de fonctionnement des commissions.

Soit des groupes autonomes, en charge de points précis, se relayant au bureau, pour la communication et logistique générale.

Liste rapide des commissions

Ces commissions, leurs rôles, leurs participants seront présentées sur le site dans l'espace association très prochainement.

Et maintenant ?

un drupalcamp en 2016 à Nantes

Drupal camp Nantes logo

Nous y étions en 2011, nous y revenons, le temps d'un week-end pour un camp sous le soleil du mois de Juin. Réservez vos 10, 11 et 12 juin 2016 ! Le site de l'évènement

la nouvelle communication de l'association

Logo de l'association

Nous en parlions il y a quelques semaines. Avions publié un concours de logo. L'association porte désormais de nouvelles couleurs. nous remercions tous les participants et félicitons Christophe Sadowski et Kévin Bothua pour leur logo sélectionné.

Un gros challenge de mise à jour de notre communication, nous attends donc.

les Prix Drupal France

Parce qu'il faut bien marquer le coup de temps en temps, et qu'il faut aussi profiter des bonnes occasions pour remercier les forces vives. Cette année, a été intégré le Prix Drupal France. Rien de systématique, juste l'occasion de mettre en lumière des participations.

Cette année, deux évènements ont été mis en lumière :

  • le changement de logo
  • l'organisation sans faille des Drupal Devs Days

Kévin et Christophe pour leur logo et Julien, Edouard et Anne-Sophie, pour l'organisation des DDD, ont été remerciés pour leurs participations respectives.

En page d'accueil : 
Par GoZ
Fabien CLEMENT

Module Commerce discount gift choice

Module Commerce discount gift choice

Le module Commerce discount gift choice ajoute une offre au module discount.
Cette offre permet au commerçant de définir les produits cadeaux qu'il souhaite offrir avec cette remise. Le client pourra alors choisir un de ces produits sur son panier.

Ce type d'offre n'est disponible que sur les remises de commande.

La configuration d'un point de vue commerçant est la suivante:

GoZ
lun 21/03/2016 - 18:08

Gérer des librairies externes dynamiquement avec Drupal 8

Drupal 8 a revu en profondeur la gestion des librairies et nous permet de gérer très finement les ressources à charger sur les différentes pages d'un site (cf. La gestion des libraries avec Drupal 8). Néanmoins, si nous souhaitons pouvoir gérer une librairie tierce dont nous ne connaissons pas à posteriori l'emplacement, il nous est difficile de pouvoir la déclarer statiquement. Pour gérer ces différents cas de figure, il va falloir gérer dynamiquement cette librairie. Découvrons comment simplement y parvenir avec le module Libraries API.

Gérer des librairies externes dynamiquement avec Drupal 8

Drupal 8 a revu en profondeur la gestion des librairies et nous permet de gérer très finement les ressources à charger sur les différentes pages d'un site (cf. La gestion des libraries avec Drupal 8). Néanmoins, si nous souhaitons pouvoir gérer une librairie tierce dont nous ne connaissons pas à posteriori l'emplacement, il nous est difficile de pouvoir la déclarer statiquement. Pour gérer ces différents cas de figure, il va falloir gérer dynamiquement cette librairie. Découvrons comment simplement y parvenir avec le module Libraries API.

Une feuille de route pour Drupal 8. Et après ?

Depuis la sortie de la première version stable de Drupal 8, Drupal utilise désormais un système de gestion sémantique des versions. La mise en place d'un tel système de gestion des versions s'est accompagnée d'une définition d'une nouvelle politique de mise à jour, nous permettant de disposer d'une vision à long terme des différentes versions à venir du coeur de Drupal. Découvrons en détail le fonctionnement de ce système, et la feuille de route sous-jacente de Drupal pour les années à venir.

Une feuille de route pour Drupal 8. Et après ?

Depuis la sortie de la première version stable de Drupal 8, Drupal utilise désormais un système de gestion sémantique des versions. La mise en place d'un tel système de gestion des versions s'est accompagnée d'une définition d'une nouvelle politique de mise à jour, nous permettant de disposer d'une vision à long terme des différentes versions à venir du coeur de Drupal. Découvrons en détail le fonctionnement de ce système, et la feuille de route sous-jacente de Drupal pour les années à venir.

Par vincent59
Vincent Liefooghe

Cartographie Drupal : utilisation de AddressField + Geocoder

Dans la série Cartographie, nous avons vu auparavant quels modules utiliser pour stocker les données géographiques, et les présenter de manière simple.

Cependant, à ce stade la saisie d'une adresse n'était possible que via ses coordonnées géographiques, ou sur une carte.

Si on veut coupler la saisie d'une adresse et l'encodage, on peut utiliser 2 modules complémentaires :

  • Address Field : très utilisé dans Drupal Commerce, il permet de fournir un champ de saisie des adresses, de manière normalisée, avec un formulaire propre au pays
  • Geocoder : couplé avec Address Field, il pemettra d'encoder l'adresse pour la transformer en coordonnées géographiques.

A priori, il semble qu'il faille également installer le module Entity, sinon on a des messages d'erreur de type :

PHP Fatal error:  Call to undefined function entity_get_all_property_info() in /var/www/drupal/sites/all/modules/contrib/geocoder/geocoder.widget.inc on line 89

L'installation des modules s'effectue normalement. Par exemple avec drush :

drush dl geocoder addressfield entity
drush en geocoder addressfield entity

Address Field

Imaginons que nous voulions gérer des magasins dans plusieurs pays : France, Belgique, Suisse. Nous allons créer un type de contenu Magasin, avec un Nom, une description et y ajouter un champ Adresse :

Au niveau du Widget, on pourra alors sélectionner les pays : Belgium, France, Switzerland (pour la démo, j'utilise un site en anglais). Et définir la France comme pays par défaut.

En saisie, on a alors le formulaire qui s'affiche, avec la France comme pays par défaut :

Mais à ce stade, l'adresse est uniquement affichée de manière textuelle, car nous n'avons pas encore introduit l'encodage :

Geofield + Encodage

Pour permettre la cartographie, il faut donc un champ qui stocke les coordonnées géographiques (apporté par Geofield). Le fait d'avoir ajouté le module Geocoder permet d'ajouter une option dans les Widgets :

Lorsqu'on ajoute un champ de type Geofield, on peut alors sélectionner le widget de type "Geocode from another field". Au niveau des paramètres du champ, on laisse le défaut.

On va ensuite choisir quel champ sera utilisé comme base de géocoding, et le "moteur" à utiliser. Plusieurs choix sont possibles :

Dès lors, lorsqu'on saisit une adresse, celle-ci est envoyée au service de géocodage. Les coordonnées sont bien récupérées. Dans l'exemple ci-après, elles sont juste affichées au format WKT.

En effet, le paramétrage de l'affichage du champ est le suivant :

Conclusion

Nous avons vu dans cet article comment utiliser les modules AddressField, Geocoder, Geofield et Entity pour ajouter un champ de type adresse et un champ de type Geofield sur un type de contenu, et récupérer les coordonnées géographiques de l'adresse via les services de Geocodage.

Les données stockées dans le champ Geofield peuvent ensuite servir à l'affichage.

Si on modifie le type de format du champ en Dynamic Google Map par exemple :

L'affichage se présente sous la forme d'une carte :

Dans de prochains articles, nous verrons comment intégrer Views et d'autres affichages (Leaflet par exemple)

 

Catégorie: 


Tag: 

Par vincent59
Vincent Liefooghe

Cartographie avec Drupal

Dans un précédent article (https://www.vincentliefooghe.net/content/cartographie-rapide-avec-drupal), j'ai montré comment on pouvait ajouter rapidement et en quelques modules des fonctions de cartographie.

Dans cet article, nous allons aller un peu plus loin dans ce domaine, avec la présentation des principes et de différents modules.

Principes et composants de la cartographie

Lorsque l'on parle de cartographie, on pense souvent à la restitution des données. Google Maps a permis de démocratiser cet aspect.
Cependant, la chaîne complète repose sur un ensemble de composants :

Pour chacun de ces composants, Drupal propose souvent plusieurs solutions, parfois incompatibles. Il convient donc de faire le bon choix afin de construire une solution globale pérenne et fonctionnelle.

Nous allons voir, dans les différentes parties de cet article, quels sont les composants / modules Drupal que nous pouvons utiliser.

Et pour ceux qui sont pressés et qui veulent rapidement mettre en oeuvre une solution, ils peuvent s'orienter vers le guide du mapping rapide, qui permet d'avoir une solution complète en installant 5 modules :

  • geophp : pré-requis pour les fonctions de géolocalisations
  • ctools : pré-requis pour geofield et views
  • geofield : stockage des données
  • geofield_gmap : widget de saisie Google Maps pour le champ geofield
  • views : pour l'affichage des différents contenus sur une seule page

Stockage des données

Pour le stockage des données géographiques, c'est geofield qui est le plus utilisé et le plus supporté.
Il nécessite en pré-requis les modules geophp et ctools.

L'installation et l'activation du module via drush consiste donc en :

drush dl ctools geophp geofield

Project ctools (7.x-1.9) downloaded to sites/all/modules/ctools.                                          [success]
Project ctools contains 10 modules: term_depth, ctools_access_ruleset, views_content, page_manager, bulk_export, stylizer, ctools_ajax_sample, ctools_custom_content, ctools_plugin_example, ctools.
Project geophp (7.x-1.7) downloaded to sites/all/modules/geophp.                                          [success]
Project geofield (7.x-2.3) downloaded to sites/all/modules/geofield.                                      [success]
Project geofield contains 2 modules: geofield_map, geofield.

drush en -y ctools geophp geofield
Do you really want to continue? (y/n): y
ctools was enabled successfully.                                                                                         [ok]
ctools defines the following permissions: use ctools import
geofield was enabled successfully.                                                                                       [ok]
geophp was enabled successfully.                                                                                         [ok]

A ce stade, on a uniquement un nouveau type de champ, qui peut être ajouté à des contenus.

Saisie des coordonnées

La saisie des coordonnées peut utiliser plusieurs options :

  • saisie directe des valeurs de latitude, longitude
  • définition d'une zone à partir d'une carte
  • encodage à partir d'une adresse
  • positionnement direct du marqueur sur une carte
  • combinaison de l'adresse et du positionnement

Le plus intuitif, à mon sens, reste la saisie d'une adresse et/ou le positionnement du marqueur sur la carte, qui est intéressant lorsque la position à saisir n'est pas une adresse (par exemple un point perdu dans la campagne ou la montagne...).

Défaut avec Geofield

Par défaut, une fois que geofield est installé, on peut voir sur la capture d'écran, que seuls 4 types de widgets sont disponibles par défaut :

  • GeoJSON : données au format json
  • Well Known Text (WKT) : format WKT, un format qui permet de définir le type de d'objet et ses coordonnées
  • Latitude / Longitude : 2 champs de saisie, un pour chaque donnée
  • Bounds : saisie de plusieurs points pour définir une frontière

Dans notre exemple, nous avons choisi Latitude / Longitude. L'ajout d'un contenu de type POI demande donc la saisie de la latitude et de la longitude du point.
C'est précis, mais pas très intuitif.


Si on a activé la géolocalisation HTML 5, on peut récupérer la localisation actuelle du navigateur en cliquant sur "Find my location" .

Dans ce deuxième exemple, on a changé le widget de saisie en GeoJSON. La saisie demande donc ce format, par exemple :

{"type":"Point",
"coordinates":[3.1,50.0] }

On constate également que l'affichage (pour l'instant) n'utilise que des champs textes : WKT, GeoJSON, KML, etc. :

Avec des widgets Graphiques

Plutôt que de faire une saisie manuelle des coordonnées, on peut vouloir placer le marqueur directement sur une carte. Pour ce faire, on peut utiliser plusieurs modules, tels que :

Geofield Gmap

L'installation est simple avec drush :

drush dl geofield_gmap
drush en -y geofield_gmap

Une fois le module téléchargé et activé, on dispose d'un nouveau Widget pour notre champ Localisation : Google Map.


On peut alors entrer une adresse, ou une ville dans le champ d'adresse, mais aussi travailler directement sur la carte.

A ce stade, on a donc une saisie et un rendu graphiques de la localisation sur notre type de contenu, en ayant installé 4 modules : ctools, geophp, geofield et geofield_gmap.

Ceci fonctionne bien pour un affichage individuel, mais si on veut afficher sur une seule carte les différents points, il va falloir aller plus loin et utiliser notamment les fonctionnalités de Views

Encodage

L'encodage consiste à transformer les données saisies en latitude / longitude, afin d'alimenter le champ geofield. Jusqu'ici, notre exemple n'a pas utilisé d'encodage, et il faut donc saisir ces données manuellement, ce qui n'est pas très user friendly.

Des modules d'encodage à partir d'adresse sont souvent utilisés. Dans ce domaine, on utilise souvent le couple de modules :

  • Address pour la saisie des adresses
  • Geocoder pour l'encodage à partir de l'adresse saisie

Cette partie sera traitée dans un autre article.

Restitution / affichage

Avec le module Geofield

Par défaut avec geofield, lorsqu'on visualise le contenu, le résultat est assez austère. L'affichage utilise le format WKT (Well Known Text). Par exemple :

POINT (3.1 50)

On peut modifier cet affichage, pour voir les différents autres formats texte.

Par exemple, si on choisit GeoJSON, on a alors les coordonnées en format JSON :

{"type":"Point","coordinates":[3.1,50]}

Pour améliorer la restitution, on peut activer le module Geofield map qui permet d'avoir un nouveau formatter pour la visualisation.

Une fois choisi Geofield Map, on dispose de beaucoup plus d'options pour l'affichage

Le résultat est déjà plus intéressant ; quand on affiche un contenu, la localisation est affichée sous la forme d'une Map Google :

Affichage avec d'autres modules

Il existe d'autres modules qui gèrent l'affichage du contenu, et qui peuvent être intégrés avec Views, afin de réaliser des cartes englobants plusieurs points.
Ces modules utilisent généralement des librairies Javascript, qui effectuent le rendu côté client.

On peut citer notamment :

  • Leaflet
  • OpenLayers
  • IP Geoloc

Nous verrons dans un autre article comment utiliser Leaflet, avec des clusters de point et des icônes spécifiques selon une taxonomie.

 

Catégorie: 


Tag: 

Par GoZ
Fabien CLEMENT

Vagrant pour Drupal et Symfony

Vagrant pour Drupal et Symfony

Cela fait plus d'un an maintenant que je travaille avec un environnement lamp géré par vagrant/ansible pour drupal/symfony, et je n'ai pas à m'en plaindre.

Passé les premiers moments de galères de performances, on est toujours en dessous de performances d'un vmware ou d'un intégration sans vm (il faudrait vérifier ça sur un linux sans vm), mais les performances restent bonnes pour un travail quotidien, même avec xdebug d'activé.

GoZ
ven 04/03/2016 - 16:45

Drupal  8 : l'envoi de mails sous toutes les coutures

Par défaut, tous les mails envoyés par Drupal 8 le sont en texte brut. Pour envoyer des mails en HTML, que ce soit pour des newsletters, ou encore tout simplement pour les différentes notifications afin de les enrichir quelque peu, il est nécessaire de modifier le système d'envoi par défaut des courriers électroniques, ou encore d'en utiliser un autre. Faisons un tour d'horizon du système d'envoi des courriers électroniques de Drupal 8. Cela est utile à plus d'un titre. Bien sûr si nous avons besoin de réaliser un envoi programmatique, mais aussi pour mieux comprendre le mécanisme général et donc le fonctionnement des différents modules disponibles pour réaliser cette tache.

Drupal  8 : l'envoi de mails sous toutes les coutures

Par défaut, tous les mails envoyés par Drupal 8 le sont en texte brut. Pour envoyer des mails en HTML, que ce soit pour des newsletters, ou encore tout simplement pour les différentes notifications afin de les enrichir quelque peu, il est nécessaire de modifier le système d'envoi par défaut des courriers électroniques, ou encore d'en utiliser un autre. Faisons un tour d'horizon du système d'envoi des courriers électroniques de Drupal 8. Cela est utile à plus d'un titre. Bien sûr si nous avons besoin de réaliser un envoi programmatique, mais aussi pour mieux comprendre le mécanisme général et donc le fonctionnement des différents modules disponibles pour réaliser cette tache.

Pages