Planète

Par flocondetoile
Adhérent

Banalités de base sur le SEO

Le référencement naturel, ou le SEO pour Search Engine Optimization, est un ensemble de techniques et de recommandations visant à améliorer la visibilité d'un site Internet sur les moteurs de Recherche, en le positionnant sur les premiers résultats de recherches effectuées par les Internautes. Le référencement naturel peut être un sujet très complexe, surtout si on vise un positionnement sur des requêtes très concurrentielles, mais peut aussi relever parfois du respect de quelques bonnes pratiques, et d'un changement de perspective nécessaire. Abordons ici quelques banalités de base sur ce vaste sujet.

Par flocondetoile
Adhérent

Drupal 8 n'est pas parfait

Dix mois après la sortie d'une première version stable de Drupal 8, quel bilan peut-on en tirer ? Drupal 8 est-il prêt pour propulser votre projet ? Est-il temps de migrer votre site sur Drupal 8 ? Même si bien souvent une réponse, argumentée, à ces interrogations nécessitera une analyse plus approfondie de votre projet ou de votre site existant, nous vous proposons ici d'apporter quelques éclairages spécifiques à ces questions légitimes

Par flocondetoile
Adhérent

Présentation du module Permissions by field sur Drupal 8

Le puissant système de contrôle d'accès et de permissions de Drupal 8 peut s'avérer être un critère déterminant pour le choix de Drupal. Ce système est à la base de modules comme Organic Group ou Domain access, qui permettent respectivement d'implémenter des groupes au sein d'un même site et d'implémenter une architecture multi-site virtuelle.

Le module Permissions by field nous permet de contrôler les accès aux contenus d'un site Drupal selon plusieurs méthodes génériques, en s'appuyant sur la puissance d'Entity Reference et la Field API de Drupal 8, jusqu'à pouvoir déléguer une gestion complexe de droits d'accès vers les éditeurs de contenu selon leurs besoins.

Découvrons ce module et les différents cas d'usage possibles.

Par admin

Communauté - Aidez-nous à accueillir Eduardo

Vous le savez sans doute, la DrupalCon Dublin aura lieu lors de la dernière semaine de septembre. A la suite de cette semaine de conférences, Eduardo Garcia (enzo sur drupal.org), souhaiterait prolonger son séjour européen autour de Drupal Console.

Le projet d'Edouardo

Edouardo s'est lancé dans un projet, de tours du monde de Drupal en 120 jours. Les détails sur ce projet fou sont sur son blog.

Edouardo présentera une Keynote Communautaire à Dublin, où il parlera de son voyage à travers le monde et la communauté.

Son idée est de continuer son séjour en Europe, post DrupalCon, pour parle de Drupal Console, à Paris lors d'un meetup.

En venant ainsi à Paris, il aurait alors visité 16 pays en 168 jours.

Un meetup Drupal Console à Paris

Si le projet d'Edouardo vous intéresse et/ou si vous souhaitez assister au Meetup sur Drupal Console que organiserions avec son mainteneur, vous pouvez sans doute nous aider

Edouardo effectue son voyage sur ses fonds propres, alors si comme pour un Meetup parisien, nous sommes à la recherche d'un sponsor et d'une salle, cette fois ci, nous en appelons aussi à la solidarité de la communauté pour lui trouver un logement à moindre coût pendant sa présence sur Paris

Autres infos pratiques

  • Le meetup se déroulerait sur la semaine qui suit la DrupalCon, du 3 au 7 Octobre.
  • Edouardo, le mainteneur de Drupal Console parle anglais et espagnol.
  • Le meetup sera libre et annoncé comme pour tous les autres meetups, sur le groupe Meetups Drupal France et francophonie.
  • Edouardo sera aussi disponible pour parler de Drupal 8 en plus de Drupal Console :)
  • En fonction de son logement, il pourrait être là plusieurs jours

Comment nous aider ?

Si vous pouvez nous aider, en proposant un hébergement gracieux à Edouardo, ou en proposant un lieu pour ce meetup, merci d'envoyer un message à bureau[at]listes[point]drupalfr[point]org

N'oubliez pas de suivre les invitations de Meetups pour ne pas louper ce rendez-vous parisien unique !

Par admin

Communauté - Aidez-nous à accueillir Eduardo

Vous le savez sans doute, la DrupalCon Dublin aura lieu lors de la dernière semaine de septembre. A la suite de cette semaine de conférences, Eduardo Garcia (enzo sur drupal.org), souhaiterait prolonger son séjour européen autour de Drupal Console.

Le projet d'Edouardo

Edouardo s'est lancé dans un projet, de tours du monde de Drupal en 120 jours. Les détails sur ce projet fou sont sur son blog.

Edouardo présentera une Keynote Communautaire à Dublin, où il parlera de son voyage à travers le monde et la communauté.

Son idée est de continuer son séjour en Europe, post DrupalCon, pour parle de Drupal Console, à Paris lors d'un meetup.

En venant ainsi à Paris, il aurait alors visité 16 pays en 168 jours.

Un meetup Drupal Console à Paris

Si le projet d'Edouardo vous intéresse et/ou si vous souhaitez assister au Meetup sur Drupal Console que organiserions avec son mainteneur, vous pouvez sans doute nous aider

Edouardo effectue son voyage sur ses fonds propres, alors si comme pour un Meetup parisien, nous sommes à la recherche d'un sponsor et d'une salle, cette fois ci, nous en appelons aussi à la solidarité de la communauté pour lui trouver un logement à moindre coût pendant sa présence sur Paris

Autres infos pratiques

  • Le meetup se déroulerait sur la semaine qui suit la DrupalCon, du 3 au 7 Octobre.
  • Edouardo, le mainteneur de Drupal Console parle anglais et espagnol.
  • Le meetup sera libre et annoncé comme pour tous les autres meetups, sur le groupe Meetups Drupal France et francophonie.
  • Edouardo sera aussi disponible pour parler de Drupal 8 en plus de Drupal Console :)
  • En fonction de son logement, il pourrait être là plusieurs jours

Comment nous aider ?

Si vous pouvez nous aider, en proposant un hébergement gracieux à Edouardo, ou en proposant un lieu pour ce meetup, merci d'envoyer un message à bureau[at]listes[point]drupalfr[point]org

N'oubliez pas de suivre les invitations de Meetups pour ne pas louper ce rendez-vous parisien unique !

Par ftorregrosa
Adhérent
Florent Torregrosa

Monter un environnement autour de Drupal avec Docker

Voici un retour d'expérience sur ma première utilisation réelle de Docker où je l'ai utilisé pour monter facilement un environnement de développement pour la refonte sous Drupal 8 du site drupal.fr ainsi que le socle Drupalcamp.

Étant un utilisateur récent de Docker, n'hésitez pas à me contacter ou à poster un commentaire pour me corriger en cas de besoin.

L'environnement comprendra :

  • un serveur Apache avec PHP 7

  • un serveur MySQL

  • un serveur Redis

  • un serveur SolR (drupal.fr uniquement)

Tags: 
Par vincent59
Vincent Liefooghe

Créer une vue Drupal sur un type de contenu, pour tous les auteurs ou moi seulement

J'ai eu récemment un besoin qui semble assez simple à première vue : pour un type de contenu spécifique, je voulais ajouter dans Views un filtre exposé me permettant de sélectionner tous les contenus ou seulement ceux dont j'étais l'auteur.

A priori, il suffit de créer une relation de type "Contenu: Auteur", et l'utiliser dans un filtre exposé sur l'utilisateur Actuel.

Sauf que... ceci me donne 2 options : les contenus de l'utilisateur actuel (les miens) ou les autres (pas les miens).

J'ai cherché pas mal de manière de faire, jusqu'à tomber sur une discussion qui parlait du module "Composite Views Filter", qui m'a finalement permis de faire ce que je voulais.

Création de la vue avec la relation Contenu : Auteur

Pour cela on crée une vue (Structure / Vue / Ajouter).

On lui donne un nom, et on va afficher les contenus de type "Signalement", puis on clique sur Continue & Edit. On ajoute les champs qui nous intéressent : pour la démo, ce sera le titre du contenu, l'UID de l'auteur et la date.

Puis on va ajouter une relation. Pour cela déplier "Avancé", et choisir Ajouter sur les Relations.

On choisit alors la relation Contenu / Auteur : c'est celle qui nous intéresse.

On modifie l'identiiant (par défaut c'est "author", je vais mettre Auteur). Puis on confirme en cliquant sur "Appliquer (tous les affichages).

A ce stade, la preview donne le tableau avec tous les auteurs :

Première tentative avec un filtre exposé sur l'auteur

On ajoute un filtre exposé (FILTER CRITERIA / Ajouter). On va sélectionner "Utilisateur : Actuel" :

Dans l'écran suivant, on choisit la relation que l'on a défini auparavant. On définit le filtre comme exposé, afin de laisser l'utilisateur choisir sa valeur.

Remarque : j'utilise Better Exposed Filter, qui ajoute une valeur "-Tous-", mais qui ne peut pas être sélectionnée par défaut.

Au final, les options sont réduites à Oui et Non :

Pas possible donc dans ce cas d'avoir mes contenus (correspondant à UID = 1) ou tous. Lorsqu'on sélectionne l'option Non, on a les autres contenus, mais pas le sien...

J'ai donc commencé à regarder du côté du développement Views, avant d'avoir vent du module Composite Views Filter.

Deuxième essai avec le module Composite Views Filter

Ce module nécessite d'être téléchargé et activé. Comme d'habitude, je fais cela avec Drush :

drush dl composite_views_filter
drush en -y composite_views_filter

Ensuite, il faut ajouter un filtre exposé de type "Global : Composite Filter".

On va ensuite donner les propriétés de ce filtre : une étiquette, et une description (optionnelle).  Ensuite, dans Groups, une liste de champs de type clé|valeur, qui seront utilisés par la suite.

Pour terminer, on donne un libellé pour "Tous". Dans l'option "Plus", il faut aussi donner un ID au filtre.

A ce stade, on a un nouveau filtre exposé, mais qui n'est pas actif. Il reste une étape : créer un filtre qui utilise ce filtre global. Pour cela, on ajoute un nouveau filtre, sur l'utilisateur Actuel :

On valide via le bouton "Appliquer (tous les affichages)". C'est à ce niveau que le groupe défini auparavant peut être utilisé. On sélectionne la valeur correspondant au libellé saisi.

Le filtre exposé est alors actif. Si on sélectionne l'option "Mes contenus uniquement", on a bien les contenus de l'UID = 1 :

Si on sélectionne "Tous les utilisateurs" on a la totalité des UID :

On sauvegarde la vue, et le tour est joué.

 

Catégorie: 


Tag: 

Par vincent59
Vincent Liefooghe

Importer et tenir à jour les traductions Drupal avec Drush

Lorsqu'on utilise Drupal, drush est un outil qui permet de gagner beaucoup de temps.Par exemple, pour mettre à jour les traductions des différents modules d'un site, on peut passer par l'interface, mais ceci suppose d'aller télécharger chaque fichier de traduction.Avec drush, quelques lignes de commandes suffisent :
# Telechargement du module drush_language (c'est une fonctionnalité additionnelle de drush)
drush dl drush_language
# Téléchargement du module Drupal l10n_update
drush dl l10n_update
# Activation de ce module
drush en -y l10n_update
# Ajout du langage "fr" pour le Français
drush language-add fr
# Activation de la langue fr
drush language-enable fr
# On nettoie le cache
drush clear-cache drush
# On fait une vérification des traductions
drush l10n-update-refresh
# On lance la mise à jour des traductions
drush l10n-update

La dernière commande va télécharger les fichiers de traduction, et les importer dans la foulée.Exemple sur un site réel :

drush l10n-update
Fetching update information for all projects / all languages.                                      [status]
Found 19 projects to update.                                                                       [status]
Mise à jour des traductions                                                                       [status]
                                                                                                   [status]
Traduction de better_exposed_filters vérifiée.                                                   [ok]
Traduction de colorbox vérifiée.                                                                 [ok]
Traduction de colorbox_node vérifiée.                                                            [ok]
Traduction de ctools vérifiée.                                                                   [ok]
Traduction de date vérifiée.                                                                     [ok]
Traduction de drupal vérifiée.                                                                   [ok]
Traduction de email vérifiée.                                                                    [ok]
Traduction de entity vérifiée.                                                                   [ok]
Traduction de entityreference vérifiée.                                                          [ok]
Traduction de eu_cookie_compliance vérifiée.                                                     [ok]
Traduction de field_formatter_settings vérifiée.                                                 [ok]
Traduction de field_group vérifiée.                                                              [ok]
Traduction de field_permissions vérifiée.                                                        [ok]
Traduction de geocoder vérifiée.                                                                 [ok]
Traduction de geofield vérifiée.                                                                 [ok]
Traduction de geofield_gmap vérifiée.                                                            [ok]
Traduction de geophp vérifiée.                                                                   [ok]
Traduction de hybridauth vérifiée.                                                               [ok]
Traduction de ip_geoloc vérifiée.                                                                [ok]
Traduction de l10n_update vérifiée.                                                              [ok]
Traduction de leaflet vérifiée.                                                                  [ok]
Traduction de leaflet_markercluster vérifiée.                                                    [ok]
Traduction de leaflet_more_maps vérifiée.                                                        [ok]
Traduction de libraries vérifiée.                                                                [ok]
Traduction de media vérifiée.                                                                    [ok]
Traduction de memcache_storage vérifiée.                                                         [ok]
Traduction de pathauto vérifiée.                                                                 [ok]
Traduction de role_delegation vérifiée.                                                          [ok]
Traduction de select_or_other vérifiée.                                                          [ok]
Traduction de services vérifiée.                                                                 [ok]
Traduction de token vérifiée.                                                                    [ok]
Traduction de views vérifiée.                                                                    [ok]
Traduction de views_data_export vérifiée.                                                        [ok]
Traduction de wysiwyg vérifiée.                                                                  [ok]
Traduction du module colorbox_node téléchargée.                                                 [ok]
Traduction de colorbox_node importée.                                                             [ok]
Traduction du module ctools téléchargée.                                                        [ok]
Importation de la traduction de ctools. (6%).                                                      [ok]
Importation de la traduction de ctools. (16%).                                                     [ok]
Importation de la traduction de ctools. (35%).                                                     [ok]
Importation de la traduction de ctools. (54%).                                                     [ok]
Importation de la traduction de ctools. (75%).                                                     [ok]
Importation de la traduction de ctools. (88%).                                                     [ok]
Traduction de ctools importée.                                                                    [ok]
Traduction du module date téléchargée.                                                          [ok]
Importation de la traduction de date. (28%).                                                       [ok]
Importation de la traduction de date. (72%).                                                       [ok]
Traduction de date importée.                                                                      [ok]
Traduction du module drupal téléchargée.                                                        [ok]
Importation de la traduction de drupal. (1%).                                                      [ok]
Importation de la traduction de drupal. (2%).                                                      [ok]
Importation de la traduction de drupal. (3%).                                                      [ok]
Importation de la traduction de drupal. (5%).                                                      [ok]
Importation de la traduction de drupal. (7%).                                                      [ok]
Importation de la traduction de drupal. (9%).                                                      [ok]
Importation de la traduction de drupal. (12%).                                                     [ok]
Importation de la traduction de drupal. (15%).                                                     [ok]
Importation de la traduction de drupal. (18%).                                                     [ok]
Importation de la traduction de drupal. (20%).                                                     [ok]
Importation de la traduction de drupal. (25%).                                                     [ok]
Importation de la traduction de drupal. (30%).                                                     [ok]
Importation de la traduction de drupal. (33%).                                                     [ok]
Importation de la traduction de drupal. (39%).                                                     [ok]
Importation de la traduction de drupal. (46%).                                                     [ok]
Importation de la traduction de drupal. (52%).                                                     [ok]
Importation de la traduction de drupal. (59%).                                                     [ok]
Importation de la traduction de drupal. (66%).                                                     [ok]
Importation de la traduction de drupal. (73%).                                                     [ok]
Importation de la traduction de drupal. (79%).                                                     [ok]
Importation de la traduction de drupal. (86%).                                                     [ok]
Importation de la traduction de drupal. (92%).                                                     [ok]
Importation de la traduction de drupal. (95%).                                                     [ok]
Traduction de drupal importée.                                                                    [ok]
Traduction du module entity téléchargée.                                                        [ok]
Importation de la traduction de entity. (58%).                                                     [ok]
Traduction de entity importée.                                                                    [ok]
Traduction du module entityreference téléchargée.                                               [ok]
Traduction de entityreference importée.                                                           [ok]
Traduction du module eu_cookie_compliance téléchargée.                                          [ok]
Traduction de eu_cookie_compliance importée.                                                      [ok]
Traduction du module field_formatter_settings téléchargée.                                      [ok]
Traduction de field_formatter_settings importée.                                                  [ok]
Traduction du module field_group téléchargée.                                                   [ok]
Traduction de field_group importée.                                                               [ok]
Traduction du module field_permissions téléchargée.                                             [ok]
Traduction de field_permissions importée.                                                         [ok]
Traduction du module geofield téléchargée.                                                      [ok]
Traduction de geofield importée.                                                                  [ok]
Traduction du module ip_geoloc téléchargée.                                                     [ok]
Traduction de ip_geoloc importée.                                                                 [ok]
Traduction du module l10n_update téléchargée.                                                   [ok]
Traduction de l10n_update importée.                                                               [ok]
Traduction du module leaflet téléchargée.                                                       [ok]
Traduction de leaflet importée.                                                                   [ok]
Traduction du module media téléchargée.                                                         [ok]
WD l10n_update: Import of string "Ce processus est requis lors de l'installation de media sur un   [error]
site existant. Media nécessite de scanner les fichiers existants et d'identifier le type de
fichier. Mettre à jour les types de fichier pour les fichiers @file ?>" was skipped because of
disallowed or malformed HTML.
Importation de la traduction de media. (95%).                                                      [ok]
Traduction de media importée.                                                                     [ok]
Traduction du module memcache_storage téléchargée.                                              [ok]
Traduction de memcache_storage importée.                                                          [ok]
Traduction du module select_or_other téléchargée.                                               [ok]
Traduction de select_or_other importée.                                                           [ok]
Traduction du module views téléchargée.                                                         [ok]
Importation de la traduction de views. (3%).                                                       [ok]
Importation de la traduction de views. (7%).                                                       [ok]
Importation de la traduction de views. (16%).                                                      [ok]
Importation de la traduction de views. (25%).                                                      [ok]
Importation de la traduction de views. (39%).                                                      [ok]
Importation de la traduction de views. (50%).                                                      [ok]
Importation de la traduction de views. (64%).                                                      [ok]
Importation de la traduction de views. (76%).                                                      [ok]
Importation de la traduction de views. (90%).                                                      [ok]
Traduction de views importée.                                                                     [ok]
Traduction du module views_data_export téléchargée.                                             [ok]
Traduction de views_data_export importée.                                                         [ok]
WD l10n_update: 1 disallowed HTML string(s) in files: translations://media-7.x-1.4.fr_0.po.        [warning]
19 translation files imported. 1732 translations were added, 0 translations were updated and 0     [status]
translations were removed.
One translation string was skipped because of disallowed or malformed HTML. See the log for        [warning]
details.

La commande drush a pris quelques minutes à peine, pour importer 19 fichiers...Quand je vous dis que c'est un outil magique ! 

Catégorie: 


Tag: 

Par flocondetoile
Adhérent

Alerte de sécurité Drupal PSA-2016-001

L'équipe de sécurité Drupal a annoncé hier mardi 12 juillet la publication ce jour d'un bulletin de sécurité hautement critique, PSA-2016-001, concernant plusieurs modules contribués. Les attaques potentielles sont attendues dans les heures qui suivront la publication de ce bulletin de sécurité. Tous les sites Drupal ne seront pas affectés. Selon qu'ils utiliseront ou pas les modules contribués mentionnés dans ce bulletin de sécurité. Soyez prêt à mettre à jour vos modules.

Par Artusamak
Julien Dubois

DDD16 : Ma vision de la semaine

DDD16 : Ma vision de la semaine

Cathédrale Milan

Artusamak
lun 11/07/2016 - 17:27

Fidèles au rendez-vous, les happyculteurs ont participité à l'édition 2016 des Drupal Developer Days. Après un suspens hitchcockien sur la participation ou non de Nicolas-l-homme-qui-passe-son-passeport-à-la-machine, c'est tous les quatre que nous avons pu nous envoler pour Milan, terre d'accueil de la communauté drupalienne du 21 au 26 juin.

Notre programme de la semaine n'était pas défini à l'avance, l'objectif dans ces cas là c'est de participer au maximum et de profiter des personnes sur place. Le démarrage s'est fait pianissimo à cause d'un manque d'organisation d'un appel d'offre à remettre pour le mercredi soir. Seule la moitié de l'équipe s'est donc lancée à corps perdu dans les issues queues de Drupal 8.

Côté sprint

Mon objectif de la semaine était de participer au sprint d'UX car, soyons honnêtes, il y a une belle marge de progression dans nos interfaces. Mon cheval de bataille pour la semaine a donc été l'issue suivante : (1) Remove "Display author and date information" in Display Settings in favor of listing Author and Date in Manage Displays.
J'ai pris peur en essayant de me lancer dans (2) Make displays appear like local tasks in the Views UI instead of custom UI design et mon amour pour les form modes et view modes m'a poussé à me rapprocher de (3) Move the Display modes link from Structure to inside Field UI de laquelle (4) Increase discoverability of view modes a été committée, la première faisant doublon et visant un objectif plus élevé.

Après avoir fait de la publicité sur Twitter à propos de l'envoi d'un premier patch, des gens m'ont demandé de jeter un œil à Publish nodes permission et New node permission "view unpublished content". La réalité m'a vite rattrapé, ces 2 demandes sont plus vicieuses qu'elles n'y paraissent, j'ai donc vite baissé les bras sur ce sujet.

J'ai également commencé à travailler sur Use two columns for the place block form mais la réalité de la collaboration sur le cœur est passée par là. Après avoir commencé un patch, Kris et Tim ont débarqué en disant "non mais en fait, il faudrait plutôt refaire l'UI de visibilité des blocs" et l'issue en est restée là. Elle avance avec ses idées mais bon, ça peut toujours être frustrant lorsque vous n'êtes pas habitué.

Les jours se sont enchaînés et les aller-retours sur les issues aussi. Au final je me suis concentré sur la (1) et sur la (3 / 4) qui était vraiment facile à faire entrer dans le cœur. Mon principal problème sur la (1) étant que je butte sur les retours du bot de test. J'ai un test qui échoue à cause de RDF mais je ne comprends pas comment le cœur gère ce truc. Et il y a des erreurs qui n'ont rien à voir avec mon code qui apparaissent. Je préfère donc attendre de résoudre les erreurs "logiques" avant de m'y atteler. Toute aide est la bienvenue en tous cas.

Intérieur d'une verrière à milan
CC 2.0 By Angel

Côté conférence

Le programme de ma conférence a été très simple, j'ai assisté à 2 sessions, celle de Zsofi sur l'organisation d'événements et celle de Josef sur un retour d'expérience de la bascule d'Amazee Labs à Scrum. Je suis surtout allé voir ces sessions pour leur présentateur et pour échanger avec eux, le contenu était chouette pour les 2 présentations. Ensuite j'ai participé à une keynote pour voir ce qu'il s'y disait mais j'ai été déçu sur le fond, c'était pas mal de banalités sur la nécessité de bien penser ses interfaces car des vraies personnes s'en servent et que la technologie est là pour nous aider à mieux servir les utilisateurs.
Les sessions étant filmées ça n'était pas ma priorité.

Côté communautaire

Les événements sont toujours une bonne excuse pour croiser les copains que l'on se fait à travers la planète, rien de tel pour l'ouverture d'esprit et le mélange des cultures. Cette année n'a pas échappé à la règle. J'ai dédié un jour de ma semaine à l'accueil pour aider à distribuer les badges, souhaiter la bienvenue aux participants et répondre aux petits tracas des uns et des autres. Je vous recommande vivement de faire la même chose lors de votre participation aux événements, c'est l'occasion de discuter avec la communauté locale et de faire de nouvelles rencontres et c'est une expérience fun qui vous change des sessions.

Côté ville / bouffe

C'est là que l'on parle des choses qui fâchent. Je m'attendais à découvrir une Italie flamboyante dans son architecture, dans sa nourriture, etc et j'ai été vraiment déçu. Je pense que c'est en partie dû au fait que cela a été un voyage professionnel et que les restaurateurs et commerçant ne sont pas prêt à vous accueillir pour vos voyages d'affaire... Lorsque vous demandez une facture à un restaurateur, vous avez le sentiment d'avoir renversé toute la table avec la vaisselle encore dessus. Ça ne leur fait pas plaisir, au point de parfois vous insulter si ce n'est pas pour vous refuser de vous donner une facture.
En ce qui concerne la carte des restaurants, vous aurez surtout le choix sur de la pizza ou des pâtes, sans surprise. Sauf qu'au bout de la 7ème journée à avoir des pizzas et des pâtes le midi et le soir, vous n'en pouvez plus. Tout cela a manqué de variété à mon goût, mais je suis sûr que ça n'est pas représentatif et qu'ailleurs ça se passerait sûrement mieux.
Le meilleur restaurant dans lequel nous avons mangé s'appelle Je suis jambon, ça ne s'invente pas. Lorsque nous sommes tombés dessus et que nous avons vu les notes positives, nous nous sommes précipités pour goûter leurs mets.
Le service était top, notre serveuse nous a raconté toute l'histoire de sa carte dans un anglais parfaitement adapté et compréhensible. Ils servent des sandwiches dans des pains spéciaux et bien sûr presque tout est à base de cochon. À vous de choisir quel type de jambon vous intéresse ! 2 ogres dans la bande en ont repris un second, nous vallant un digestif offert par la maison en partant alors que c'était la crise chez eux suite à la rupture d'une canalisation. Bref, tip top, allez y faire un tour.

La conférence s'est tenue à l'université de Milan, les locaux étaient donc immenses et aptes à accueillir une armée de développeurs. Oui mais voilà, c'était presque trop grand. J'ai trouvé difficile de connecter avec des nouvelles personnes, qui plus est parce que les premiers jours nous n'avons pas trouvé de place dans le labo dans lequel se retrouvaient la plupart des sprinteurs. Ça a enlevé au charme car nous étions hors de la vie de la salle.

Les transports sont corrects, il y a un bon réseau de bus, métro et tram, seuls les distributeurs de tickets sont lents et n'ont jamais voulu de nos VISA (et je ne parle pas d'obtenir un justificatifs).

Parco Sempione
Parco Sempione -  CC 2.0 by Mike Beales

Bilan

Après avoir organisé les Drupal Developer Days de 2015 à Montpellier, il était évidemment difficile de retourner à un événement similaire sans faire de comparaisons en permanence. Ça a pourtant été chose aisée car j'y suis allé comme simple participant. Je trouve que l'édition 2016 a été globalement réussie, les participants ont été satisfaits, il y avait du réseau, du café (très bon café !) et de la nourriture et une tonne de soleil ! J'ai cependant quelques bémols sur la ville et ses restaurateurs au point de me demander si j'accepterais de retourner à Milan si l'occasion m'était donnée.
On va maintenant se tourner vers 2017 pour savoir où nous irons, mon petit doigt me dit que ça se fera probablement dans l'Est de l'Europe.

À suivre !

Illustration principale : CC 2.0 by Daniel Enchev

Par Artusamak
Julien Dubois

DDD16 : Ma vision de la semaine

DDD16 : Ma vision de la semaine

Cathédrale Milan

Artusamak
lun 11/07/2016 - 17:27

Fidèles au rendez-vous, les happyculteurs ont participité à l'édition 2016 des Drupal Developer Days. Après un suspens hitchcockien sur la participation ou non de Nicolas-l-homme-qui-passe-son-passeport-à-la-machine, c'est tous les quatre que nous avons pu nous envoler pour Milan, terre d'accueil de la communauté drupalienne du 21 au 26 juin.

Notre programme de la semaine n'était pas défini à l'avance, l'objectif dans ces cas là c'est de participer au maximum et de profiter des personnes sur place. Le démarrage s'est fait pianissimo à cause d'un manque d'organisation d'un appel d'offre à remettre pour le mercredi soir. Seule la moitié de l'équipe s'est donc lancée à corps perdu dans les issues queues de Drupal 8.

Côté sprint

Mon objectif de la semaine était de participer au sprint d'UX car, soyons honnêtes, il y a une belle marge de progression dans nos interfaces. Mon cheval de bataille pour la semaine a donc été l'issue suivante : (1) Remove "Display author and date information" in Display Settings in favor of listing Author and Date in Manage Displays.
J'ai pris peur en essayant de me lancer dans (2) Make displays appear like local tasks in the Views UI instead of custom UI design et mon amour pour les form modes et view modes m'a poussé à me rapprocher de (3) Move the Display modes link from Structure to inside Field UI de laquelle (4) Increase discoverability of view modes a été committée, la première faisant doublon et visant un objectif plus élevé.

Après avoir fait de la publicité sur Twitter à propos de l'envoi d'un premier patch, des gens m'ont demandé de jeter un œil à Publish nodes permission et New node permission "view unpublished content". La réalité m'a vite rattrapé, ces 2 demandes sont plus vicieuses qu'elles n'y paraissent, j'ai donc vite baissé les bras sur ce sujet.

J'ai également commencé à travailler sur Use two columns for the place block form mais la réalité de la collaboration sur le cœur est passée par là. Après avoir commencé un patch, Kris et Tim ont débarqué en disant "non mais en fait, il faudrait plutôt refaire l'UI de visibilité des blocs" et l'issue en est restée là. Elle avance avec ses idées mais bon, ça peut toujours être frustrant lorsque vous n'êtes pas habitué.

Les jours se sont enchaînés et les aller-retours sur les issues aussi. Au final je me suis concentré sur la (1) et sur la (3 / 4) qui était vraiment facile à faire entrer dans le cœur. Mon principal problème sur la (1) étant que je butte sur les retours du bot de test. J'ai un test qui échoue à cause de RDF mais je ne comprends pas comment le cœur gère ce truc. Et il y a des erreurs qui n'ont rien à voir avec mon code qui apparaissent. Je préfère donc attendre de résoudre les erreurs "logiques" avant de m'y atteler. Toute aide est la bienvenue en tous cas.

Intérieur d'une verrière à milan
CC 2.0 By Angel

Côté conférence

Le programme de ma conférence a été très simple, j'ai assisté à 2 sessions, celle de Zsofi sur l'organisation d'événements et celle de Josef sur un retour d'expérience de la bascule d'Amazee Labs à Scrum. Je suis surtout allé voir ces sessions pour leur présentateur et pour échanger avec eux, le contenu était chouette pour les 2 présentations. Ensuite j'ai participé à une keynote pour voir ce qu'il s'y disait mais j'ai été déçu sur le fond, c'était pas mal de banalités sur la nécessité de bien penser ses interfaces car des vraies personnes s'en servent et que la technologie est là pour nous aider à mieux servir les utilisateurs.
Les sessions étant filmées ça n'était pas ma priorité.

Côté communautaire

Les événements sont toujours une bonne excuse pour croiser les copains que l'on se fait à travers la planète, rien de tel pour l'ouverture d'esprit et le mélange des cultures. Cette année n'a pas échappé à la règle. J'ai dédié un jour de ma semaine à l'accueil pour aider à distribuer les badges, souhaiter la bienvenue aux participants et répondre aux petits tracas des uns et des autres. Je vous recommande vivement de faire la même chose lors de votre participation aux événements, c'est l'occasion de discuter avec la communauté locale et de faire de nouvelles rencontres et c'est une expérience fun qui vous change des sessions.

Côté ville / bouffe

C'est là que l'on parle des choses qui fâchent. Je m'attendais à découvrir une Italie flamboyante dans son architecture, dans sa nourriture, etc et j'ai été vraiment déçu. Je pense que c'est en partie dû au fait que cela a été un voyage professionnel et que les restaurateurs et commerçant ne sont pas prêt à vous accueillir pour vos voyages d'affaire... Lorsque vous demandez une facture à un restaurateur, vous avez le sentiment d'avoir renversé toute la table avec la vaisselle encore dessus. Ça ne leur fait pas plaisir, au point de parfois vous insulter si ce n'est pas pour vous refuser de vous donner une facture.
En ce qui concerne la carte des restaurants, vous aurez surtout le choix sur de la pizza ou des pâtes, sans surprise. Sauf qu'au bout de la 7ème journée à avoir des pizzas et des pâtes le midi et le soir, vous n'en pouvez plus. Tout cela a manqué de variété à mon goût, mais je suis sûr que ça n'est pas représentatif et qu'ailleurs ça se passerait sûrement mieux.
Le meilleur restaurant dans lequel nous avons mangé s'appelle Je suis jambon, ça ne s'invente pas. Lorsque nous sommes tombés dessus et que nous avons vu les notes positives, nous nous sommes précipités pour goûter leurs mets.
Le service était top, notre serveuse nous a raconté toute l'histoire de sa carte dans un anglais parfaitement adapté et compréhensible. Ils servent des sandwiches dans des pains spéciaux et bien sûr presque tout est à base de cochon. À vous de choisir quel type de jambon vous intéresse ! 2 ogres dans la bande en ont repris un second, nous vallant un digestif offert par la maison en partant alors que c'était la crise chez eux suite à la rupture d'une canalisation. Bref, tip top, allez y faire un tour.

La conférence s'est tenue à l'université de Milan, les locaux étaient donc immenses et aptes à accueillir une armée de développeurs. Oui mais voilà, c'était presque trop grand. J'ai trouvé difficile de connecter avec des nouvelles personnes, qui plus est parce que les premiers jours nous n'avons pas trouvé de place dans le labo dans lequel se retrouvaient la plupart des sprinteurs. Ça a enlevé au charme car nous étions hors de la vie de la salle.

Les transports sont corrects, il y a un bon réseau de bus, métro et tram, seuls les distributeurs de tickets sont lents et n'ont jamais voulu de nos VISA (et je ne parle pas d'obtenir un justificatifs).

Parco Sempione
Parco Sempione -  CC 2.0 by Mike Beales

Bilan

Après avoir organisé les Drupal Developer Days de 2015 à Montpellier, il était évidemment difficile de retourner à un événement similaire sans faire de comparaisons en permanence. Ça a pourtant été chose aisée car j'y suis allé comme simple participant. Je trouve que l'édition 2016 a été globalement réussie, les participants ont été satisfaits, il y avait du réseau, du café (très bon café !) et de la nourriture et une tonne de soleil ! J'ai cependant quelques bémols sur la ville et ses restaurateurs au point de me demander si j'accepterais de retourner à Milan si l'occasion m'était donnée.
On va maintenant se tourner vers 2017 pour savoir où nous irons, mon petit doigt me dit que ça se fera probablement dans l'Est de l'Europe.

À suivre !

Illustration principale : CC 2.0 by Daniel Enchev

Par Artusamak
Julien Dubois

DDD16 : Ma vision de la semaine

DDD16 : Ma vision de la semaine

Cathédrale Milan

Artusamak
lun 11/07/2016 - 17:27

Fidèles au rendez-vous, les happyculteurs ont participité à l'édition 2016 des Drupal Developer Days. Après un suspens hitchcockien sur la participation ou non de Nicolas-l-homme-qui-passe-son-passeport-à-la-machine, c'est tous les quatre que nous avons pu nous envoler pour Milan, terre d'accueil de la communauté drupalienne du 21 au 26 juin.

Notre programme de la semaine n'était pas défini à l'avance, l'objectif dans ces cas là c'est de participer au maximum et de profiter des personnes sur place. Le démarrage s'est fait pianissimo à cause d'un manque d'organisation d'un appel d'offre à remettre pour le mercredi soir. Seule la moitié de l'équipe s'est donc lancée à corps perdu dans les issues queues de Drupal 8.

Côté sprint

Mon objectif de la semaine était de participer au sprint d'UX car, soyons honnêtes, il y a une belle marge de progression dans nos interfaces. Mon cheval de bataille pour la semaine a donc été l'issue suivante : (1) Remove "Display author and date information" in Display Settings in favor of listing Author and Date in Manage Displays.
J'ai pris peur en essayant de me lancer dans (2) Make displays appear like local tasks in the Views UI instead of custom UI design et mon amour pour les form modes et view modes m'a poussé à me rapprocher de (3) Move the Display modes link from Structure to inside Field UI de laquelle (4) Increase discoverability of view modes a été committée, la première faisant doublon et visant un objectif plus élevé.

Après avoir fait de la publicité sur Twitter à propos de l'envoi d'un premier patch, des gens m'ont demandé de jeter un œil à Publish nodes permission et New node permission "view unpublished content". La réalité m'a vite rattrapé, c'est 2 demandes sont plus vicieuses qu'elles n'y paraissent, j'ai donc vite baissé les bras sur ce sujet.

J'ai également commencé à travailler sur Use two columns for the place block form mais la réalité de la collaboration sur le cœur est passée par là. Après avoir commencé un patch, Kris et Tim ont débarqué en disant "non mais en fait, il faudrait plutôt refaire l'UI de visibilité des blocs" et l'issue en est restée là. Elle avance avec ses idées mais bon, ça peut toujours être frustrant lorsque vous n'êtes pas habitué.

Les jours se sont enchaînés et les aller-retours sur les issues aussi. Au final je me suis concentré sur la (1) et sur la (3 / 4) qui était vraiment facile à faire entrer dans le cœur. Mon principal problème sur la (1) étant que je butte sur les retours du bot de test. J'ai un test qui échoue à cause de RDF mais je ne comprends pas comment le cœur gère ce truc. Et il y a des erreurs qui n'ont rien à voir avec mon code qui apparaissent. Je préfère donc attendre de résoudre les erreurs "logiques" avant de m'y atteler. Toute aide est la bienvenue en tous cas.

Intérieur d'une verrière à milan
CC 2.0 By Angel

Côté conférence

Le programme de ma conférence a été très simple, j'ai assisté à 2 sessions, celle de Zsofi sur l'organisation d'événements et celle de Josef sur un retour d'expérience de la bascule d'Amazee Labs à Scrum. Je suis surtout allé voir ces sessions pour leur présentateur et pour échanger avec eux, le contenu était chouette pour les 2 présentations. Ensuite j'ai participé à une keynote pour voir ce qu'il s'y disait mais j'ai été déçu sur le fond, c'était pas mal de banalités sur la nécessité de bien penser ses interfaces car des vraies personnes s'en servent et que la technologie est là pour nous aider à mieux servir les utilisateurs.
Les sessions étant filmées ça n'était pas ma priorité

Côté communautaire

Les événements sont toujours une bonne excuse pour croiser les copains que l'on se fait à travers la planète, rien de tel pour l'ouverture d'esprit et le mélange des cultures. Cette année n'a pas échappé à la règle. J'ai dédié un jour de ma semaine à l'accueil pour aider à distribuer les badges, souhaiter la bienvenue aux participants et répondre aux petits tracas des uns et des autres. Je vous recommande vivement de faire la même chose lors de votre participation aux événements, c'est l'occasion de discuter avec la communauté locale et de faire de nouvelles rencontres et c'est une expérience fun qui vous change des sessions.

Côté ville / bouffe

C'est là que l'on parle des choses qui fâchent. Je m'attendais à découvrir une Italie flamboyante dans son architecture, dans sa nourriture, etc et j'ai été vraiment déçu. Je pense que c'est en partie dû au fait que cela a été un voyage professionnel et que les restaurateurs et commerçant ne sont pas prêt à vous accueillir pour vos voyages d'affaire... Lorsque vous demandez une facture à un restaurateur, vous avez le sentiment d'avoir renversé toute la table avec la vaisselle encore dessus. Ça ne leur fait pas plaisir, au point de parfois vous insulter si ce n'est pas pour vous refuser de vous donner une facture.
En ce qui concerne la carte des restaurants, vous aurez surtout le choix sur de la pizza ou des pâtes, sans surprise. Sauf qu'au bout de la 7ème journée à avoir des pizzas et des pâtes le midi et le soir, vous n'en pouvez plus. Tout cela a manqué de variété à mon goût, mais je suis sûr que ça n'est pas représentatif et qu'ailleurs ça se passerait sûrement mieux.

La conférence s'est tenue à l'université de Milan, les locaux étaient donc immenses et aptes à accueillir une armée de développeurs. Oui mais voilà, c'était presque trop grand. J'ai trouvé difficile de connecter avec des nouvelles personnes, qui plus est parce que les premiers jours nous n'avons pas trouvé de place dans le labo dans lequel se retrouvaient la plupart des sprinteurs. Ça a enlevé au charme car nous étions hors de la vie de la salle.

Les transports sont corrects, il y a un bon réseau de bus, métro et tram, seuls les distributeurs de tickets sont lents et n'ont jamais voulu de nos VISA (et je ne parle pas d'obtenir un justificatifs).

Parco Sempione
Parco Sempione -  CC 2.0 by Mike Beales

Bilan

Après avoir organisé les DDD de 2015 à Montpellier, il était évidemment difficile de retourner à un événement similaire sans faire de comparaisons en permanence. Ça a pourtant été chose aisée car j'y suis allé comme simple participant. Je trouve que l'édition 2016 a été globalement réussie, les participants ont été satisfaits, il y avait du réseau, du café (très bon café !) et de la nourriture et une tonne de soleil ! J'ai cependant quelques bémols sur la ville et ses restaurateurs au point de me demander si j'accepterais de retourner à Milan si l'occasion m'était donnée.
On va maintenant se tourner vers 2017 pour savoir où nous irons, mon petit doigt me dit que ça se fera probablement dans l'Est de l'Europe.

À suivre !

Illustration principale : CC 2.0 by Daniel Enchev

Par flocondetoile
Adhérent

La gestion des médias avec Drupal 8

La gestion des médias a été identifiée comme une des priorités lors de la dernière DrupalCon (Nouvelle Orléans 2016). Si nous pouvions disposer sur Drupal 7 de quelques modules contribués offrant une expérience utilisateur sans égal pour la gestion des médias, Drupal 8 était encore orphelin il y a peu d'une solution équivalente.

Avec la publication en version stable de la suite Media Entity, Drupal 8 dispose désormais d'une solution robuste et extensible pour offrir à ses utilisateurs une gestion des médias sur mesure. Découvrons ensemble comment mettre en place un gestion de médias sur Drupal 8 avec la suite Media Entity.

Par anavarre

Présentation Drupal Lyon 2016 - Environnements de dév automatisés avec LXC et Ansible

Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker, peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.

Pages