Planète

Par Artusamak
Julien Dubois

Drupal Dev Days Szeged 2014 – Episode 3

Toutes les bonnes choses ont une fin, les Dev Days n’y font pas exception. Après vous avoir raconté ce à quoi j’ai participé au cours de la première journée et de la deuxième journée de la conférence à Szeged, voilà ce que j’ai retenu de ma dernière journée.

Marvin assis devant un micro

Marvin se prépare à donner sa session (c) Mr.TeeCee

The future of media management in Drupal 8

Démarrage de la journée par cette présentation, je suis un peu curieux de savoir ce qu’il se trame pour D8 sachant que je sors d’un projet où nous avons dû gérer des médias. La session est présentée par Janez Urevc, ses slides sont disponibles sur son site. Sauf qu’en fait le chantier n’est pas hyper avancé, des discussions ont lieu depuis Prague mais sont un peu bloquées faute d’accord sur la direction dans laquelle aller. Du coup si des bonnes volontés veulent aider, rejoignez les issues, la conversation doit avancer.

Develop for D8 on D6 and D7

Ensuite direction la présentation de FGM qui a donné son point de vue sur la bascule vers Drupal 8. Il s’appuie sur des expériences passées pour décrire les situations à préférer pour faire du D8 ou non. Tout n’était pas hyper clair pour moi, j’attends ses slides pour résumer sa pensée et donner mon avis. (Il était trop tôt pour moi :)).

Graph databases for D8

Cette session a été la session de la conférence pour moi. J’avais découvert ce qu’étaient les graph databases lors des Human Talks de Paris (rendez-vous tous les deuxième mardi du mois pour venir nous voir) et Peter Arato nous a fait une présentation de Neo4j, une solution en Java, pendant 40 minutes en expliquant les usages que l’on pouvait en tirer. Comme tweeté en sortant de la salle :

Le constat est simple, lorsque vous cherchez à afficher les résultats de requêtes complexes telles que « liste les amis, des amis de mes amis » les bases de données relationnelles ne sont pas compétitives, par design elles ne sont pas faites pour ça. L’idée est donc de stocker les données différemment. Et c’est là que les graph databases apportent leur solution, au lieu de normaliser les entrées en ajoutant des clés pour faire des jointures vous décrivez les relations entre les éléments. Exemple : John / cuisine pour / Lisa, John / habite / Londres, Lisa / habite / San Franciso, John / aime / Lisa. En multipliant les relations entre les objets vous obtenez un réseau de connexions. Le principe suivant est que lorsque vous allez requêter votre base de données vous allez définir un point de départ, décrire les conditions de relations que vous voulez poser, leur profondeur et potentiellement le type de connexions attendues. Exemple : « Trouve moi une fête où il y aura au moins 20 de mes amis proches qui ne connaissent pas mon ex ». C’est très « naturel » comme langage, si vous regardez la syntaxe des requêtes vous verrez que c’est très lisible.
Quel intérêt à utiliser ce genre de base de données ? Non, elles ne remplaceront pas totalement un MySQL pour le moment, l’idée est plutôt de s’appuyer sur ce type de bases pour faire les calculs complexes et laisser MySQL servir la page de détails d’un résultat de recherche par exemple. Les tendances du web sont à la recommandation et à la personnalisation, c’est tout à fait approprié d’avoir un index à côté du site principal à partir duquel on extraira les résultats de ces calculs avancé (à la Solr).
Le niveau d’intégration avec Drupal est très basique, il y a la possibilité d’indexer des données, quelques types de champs sont supportés et il est faisable de requêter depuis une fenêtre le serveur Neo4j sans aller plus loin pour l’instant.
Les slides de Peter sont en ligne, allez y jeter un oeil et intéressez-vous au sujet, vous en entendrez de plus en plus parler, tout comme les bases de données document.

Configuring D8

L’un des nouveaux morceaux très attendus de Drupal 8 est l’intégration dans le core d’un outil pour l’industrialisation, un remplaçant de Features. Un système permettant d’exporter et d’importer de la configuration d’un environnement à un autre. Gabor s’est dévoué pour remplacer Alex Pott souffrant pour la présentation. En gros le meilleur moyen que vous plongiez dans le système est de le manipuler. La page de documentation de l’API de configuration est une lecture obligatoire pour plonger dans ce nouveau morceau. Il a été pensé pour permettre d’éviter les problèmes connus de Features et permettre de facilement générer des diffs, facilement s’interfacer avec le multilinguisme et facilement être déployable.
Il faudra juger à l’usage, mes premiers tests pour le portage de Views Megarow m’ont paru satisfaisants. Sachez que la configuration est stockée sous forme de Yaml maintenant et que le bon vieil adage Don’t hack core est devenu Don’t hack your active config car cela peut faire exploser votre site assez facilement si vous le bidouillez.
Pas de slides à disposition, lisez la page de documentation, vous découvrirez entre autres qu’il y a plusieurs niveaux de configuration, la configuration « simple », que vous stockiez avant via un variable get / set et les configurations « complexes » qui introduisent le concept de config entities.

D8 for real

Dernière présentation de la dernière journée et dernier speaker que j’aime beaucoup, Florian. Il nous partage son point de vue sur l’état de Drupal 8 et ce que l’on peut faire avec dès maintenant. Il dresse un constat de ce qui va évoluer dans nos façons de faire les projets avec un ratio d’utilisation des modules contrib qui devrait baisser comparé à Drupal 7 compte tenu du fait que chaque nouvelle version majeure rend le produit de plus en plus utilisable out of the box.
Mais Florian ne s’arrête pas là, il pointe du doigt le fait qu’avec tous les changements apportés au coeur les modules les plus populaires devraient être réécrits pour profiter de la nouvelle façon dont Drupal fonctionne. Et quitte à réécrire un module, peut être qu’il faut complètement ré-envisager la façon dont on s’en sert. Il s’appuie pour cela sur l’exemple de Panels, avec toutes les technos qui sont apparues ces dernières années, peut être qu’il sera possible de faire un outil répondant à nos besoins d’une façon complètement nouvelle. Ou peut être que l’on n’aura pas besoin de Panels du tout maintenant !
L’important c’est que les gens commencent à se servir de Drupal 8 pour qu’il monte en puissance très vite. Si vous souhaitez être un acteur significatif de l’éco-système il est crucial que vous vous y intéressiez plus tôt que tard. En construisant de vrais projets, en utilisant Drupal 8 pour de vrai, vous identifierez des besoins et proposerez des solutions qui seront peut être les Panels de demain.

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

+ d'1 million de sites Drupal !

Drupal a franchi la barre symbolique du million de sites

Avec ses 26 099 modules, ses 1961 thèmes, ses 783 distributions et ses 32422 développeurs, Drupal représente une des solutions libres les plus pérennes et fiables qu'ont choisie plus d'un million de propriétaires de sites Internet.

12 000 d'entre eux représentent 12 % des 100 000 sites mondiaux qui concentrent le trafic le plus important sur Internet... (données communiquées par le cabinet BuiltWith Research)

Drupal 8 va enfoncer le clou

La très prochaine sortie de la version 8 de Drupal est très attendue comme décuplant encore les potentiels déjà très puissants offerts par la version 7.

Mantalo se félicite d'offrir les solutions Drupal à ses clients

Exemple de site marchand sous drupal 7Pour une agence web, propulser les sites de ses clients avec Drupal est un investissement lourd, mais une option de qualité et de durabilité qui garantit aux propriétaires des sites un avenir serein et porteur d'évolutions.

Nous avons fait le choix en 2012 d'intégrer Drupal dans notre palette d'outils et depuis, nous confirmons l'intérêt croissant de cette solution !

Vous aussi êtes adeptes d'un internet de qualité ? Contactons-nous et étudions sans tarder comment servir vos objectifs de développement !

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

+ d'1 million de sites Drupal !

Drupal a franchi la barre symbolique du million de sites

Avec ses 26 099 modules, ses 1961 thèmes, ses 783 distributions et ses 32422 développeurs, Drupal représente une des solutions libres les plus pérennes et fiables qu'ont choisie plus d'un million de propriétaires de sites Internet.

12 000 d'entre eux représentent 12 % des 100 000 sites mondiaux qui concentrent le trafic le plus important sur Internet... (données communiquées par le cabinet BuiltWith Research)

Drupal 8 va enfoncer le clou

La très prochaine sortie de la version 8 de Drupal est très attendue comme décuplant encore les potentiels déjà très puissants offerts par la version 7.

Mantalo se félicite d'offrir les solutions Drupal à ses clients

Exemple de site marchand sous drupal 7Pour une agence web, propulser les sites de ses clients avec Drupal est un investissement lourd, mais une option de qualité et de durabilité qui garantit aux propriétaires des sites un avenir serein et porteur d'évolutions.

Nous avons fait le choix en 2012 d'intégrer Drupal dans notre palette d'outils et depuis, nous confirmons l'intérêt croissant de cette solution !

Vous aussi êtes adeptes d'un internet de qualité ? Contactons-nous et étudions sans tarder comment servir vos objectifs de développement !

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

Gérer les commandes clients avec Drupal Commerce

Accès aux commandes dans Drupal Boutique

Dans le menu Boutique -> Commandes (ou directement Commandes selon la configuration du menu de votre site) (admin/commerce/orders) !

Vous pouvez voir la liste des commandes passées sur votre site, classées par ordre anti-chronologique.

Le tableau vous présente quelques informations pratiques sur les commandes comme :

  • son identifiant;
  • sa date de création;
  • l'email du client;
  • le total de la commande;
  • son statut;
  • et différents liens spécifiques à la commande.

Pour chaque commande, plusieurs actions sont possibles :

  • la consulter;
  • l'éditer;
  • la modifier;
  • voir le détail des paiements;
  • la supprimer;

Les statuts d'une commande

  • Annulée : commande annulée, soit automatiquement par non validation du paiement par la banque, soit manuellement suite à votre décision de ne pas donner suite à la commande.
  • Panier : l’internaute a rempli son panier, mais sans créer son compte ni entrer dans le tunnel d’achat.
  • Terminer ma commande : associé aux étapes suivantes du tunnel d'achat:
    • Tunnel d’achat : identifiant
    • Tunnel d’achat : Terminer ma commande
    • Tunnel d’achat : Coordonnées
    • Tunnel d’achat : Expédition
    • Tunnel d’achat : Vérifier
    • Tunnel d’achat : Paiement
    • Tunnel d’achat : Terminé
  • En attente :
    • En attente : statut d’une commande validée par la banque.
    • En cours de traitement : Activez cet état quand la commande est en cours de traitement.
  • Terminé : Activez cet état quand la commande est expédiée. Passe automatiquement à l’état suivant : facturé.
  • Facturé : La facture est générée au format PDF et est accessible par votre client dans son compte.

Voir la commande en détails en un seul clic !

Synthèse de la commande

La première colonne du tableau des commandes indique l'identifiant unique de celle ci. Celui ci est lié aux détails de la commande. En cliquant sur l'identifiant, vous accédez à la page qui va vous présenter tous les éléments correspondant à la commande client.

Vous pouvez voir, en premier lieu, les différentes lignes de la commande qui correspondent à chaque produit acheté par le client ainsi qu'à chaque entité commerciale comme les réductions ou les frais de port !

En plus du nom et de la référence du produit, sont indiqués le prix unitaire, la quantité et le total TTC de la ligne.

Une synthèse du prix total de la commande et des taxes est présente sous ce tableau.

Informations complémentaires de la commande

Après ce tableau, suivant les besoins de votre activité, vous retrouverez toutes les informations complémentaires à la commande, demandées à utilisateur, dans le tunnel d'achat.

Informations utiles sur le client

Enfin, dans la colonne de droite, vous trouverez toutes les informations relatives à l'utilisateur (Informations de facturation, informations d'expédition ...), donc votre client.

Les informations de paiement : lecture directe dans la boutique

Lorsque vous êtes sur le tableau récapitulatif des commandes, vous pouvez voir une liste déroulante d'actions en bout de ligne.

Dans cette liste déroulante, vous trouverez le lien "Paiement". En l'utilisant, vous accédez à une liste des paiements ou tentatives de paiements liées à la commande.

En cliquant sur le lien "Voir", vous accédez à la totalité des informations fournies par votre banque.

Accéder aux informations importantes sans changer de page !

Consultation rapide

Si vous êtes pressés ou si vous n'avez pas besoin d'accéder à la totalité des informations relatives à la commande, toujours dans la liste déroulante de fin de ligne, vous avez accès au lien "édition rapide".

En y accédant, une synthèse des informations importantes est déroulée sous la ligne de commande !

Ici, vous pouvez consulter rapidement :

  • les produits achetés,
  • l'état du paiement,
  • les informations de facturation,
  • les données d'expédition.

Actualiser le statut d'une commande

Vous pouvez aussi actualiser l'état de votre commande :

  • Une commande passée avec paiement accepté se rajoute automatiquement dans la liste, avec le statut "En attente";
  • Après avoir décidé d'accepter une commande, vous devez la passer en statut "En cours de préparation";
  • Lorsqu'une commande est finalisée, changez le statut en "Terminée".

Lorsque vous n'avez plus besoin de visualiser ces données, vous pouvez cliquer sur la petite croix, en haut à droite, pour les cacher.

Modifier ou supprimer une commande à tous moments ...

Vous êtes maître de votre boutique en ligne ! Vous pouvez modifier absolument tous les champs composant la commande.

En cliquant sur le lien "Modifier" dans la liste déroulante vue précédemment, vous accédez à la page d'édition de tous ces champs :

  • Si une information est incorrecte, changez la très simplement,
  • Vous êtes au téléphone avec un de vos clients qui vous demande de modifier un élément de sa commande, faites le en direct !
  • Vous pouvez aussi :
    • ajouter une réduction,
    • fixer une date de facturation,
    • changer une adresse,
    • modifier une quantité,
    • modifier un prix,
    • rajouter ou retirer un produit à la commande,
    • changer le statut,
    • corriger les coordonnées
    • ...
  • Accéder à l'adresse mail du client en allant en bas de la page dans les onglets verticaux. L'onglet "Informations utilisateur" contient son adresse mail, vous pouvez ainsi correspondre directement avec votre client en marge de la boutique,
  • Enfin, si vous souhaitez supprimer une commande qui n'a pas abouti, vous trouverez le lien de suppression dans la liste déroulante de fin de ligne du tableau récapitulatif des commandes.

Vous souhaiteriez vous aussi pouvoir gérer votre boutique en ligne aussi facilement ? Contactez nous !

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

Gérer les commandes clients avec Drupal Commerce

Accès aux commandes dans Drupal Boutique

Dans le menu Boutique -> Commandes (ou directement Commandes selon la configuration du menu de votre site) (admin/commerce/orders) !

Vous pouvez voir la liste des commandes passées sur votre site, classées par ordre anti-chronologique.

Le tableau vous présente quelques informations pratiques sur les commandes comme :

  • son identifiant;
  • sa date de création;
  • l'email du client;
  • le total de la commande;
  • son statut;
  • et différents liens spécifiques à la commande.

Pour chaque commande, plusieurs actions sont possibles :

  • la consulter;
  • l'éditer;
  • la modifier;
  • voir le détail des paiements;
  • la supprimer;

Les statuts d'une commande

  • Annulée : commande annulée, soit automatiquement par non validation du paiement par la banque, soit manuellement suite à votre décision de ne pas donner suite à la commande.
  • Panier : l’internaute a rempli son panier, mais sans créer son compte ni entrer dans le tunnel d’achat.
  • Terminer ma commande : associé aux étapes suivantes du tunnel d'achat:
    • Tunnel d’achat : identifiant
    • Tunnel d’achat : Terminer ma commande
    • Tunnel d’achat : Coordonnées
    • Tunnel d’achat : Expédition
    • Tunnel d’achat : Vérifier
    • Tunnel d’achat : Paiement
    • Tunnel d’achat : Terminé
  • En attente :
    • En attente : statut d’une commande validée par la banque.
    • En cours de traitement : Activez cet état quand la commande est en cours de traitement.
  • Terminé : Activez cet état quand la commande est expédiée. Passe automatiquement à l’état suivant : facturé.
  • Facturé : La facture est générée au format PDF et est accessible par votre client dans son compte.

Voir la commande en détails en un seul clic !

Synthèse de la commande

La première colonne du tableau des commandes indique l'identifiant unique de celle ci. Celui ci est lié aux détails de la commande. En cliquant sur l'identifiant, vous accédez à la page qui va vous présenter tous les éléments correspondant à la commande client.

Vous pouvez voir, en premier lieu, les différentes lignes de la commande qui correspondent à chaque produit acheté par le client ainsi qu'à chaque entité commerciale comme les réductions ou les frais de port !

En plus du nom et de la référence du produit, sont indiqués le prix unitaire, la quantité et le total TTC de la ligne.

Une synthèse du prix total de la commande et des taxes est présente sous ce tableau.

Informations complémentaires de la commande

Après ce tableau, suivant les besoins de votre activité, vous retrouverez toutes les informations complémentaires à la commande, demandées à utilisateur, dans le tunnel d'achat.

Informations utiles sur le client

Enfin, dans la colonne de droite, vous trouverez toutes les informations relatives à l'utilisateur (Informations de facturation, informations d'expédition ...), donc votre client.

Les informations de paiement : lecture directe dans la boutique

Lorsque vous êtes sur le tableau récapitulatif des commandes, vous pouvez voir une liste déroulante d'actions en bout de ligne.

Dans cette liste déroulante, vous trouverez le lien "Paiement". En l'utilisant, vous accédez à une liste des paiements ou tentatives de paiements liées à la commande.

En cliquant sur le lien "Voir", vous accédez à la totalité des informations fournies par votre banque.

Accéder aux informations importantes sans changer de page !

Consultation rapide

Si vous êtes pressés ou si vous n'avez pas besoin d'accéder à la totalité des informations relatives à la commande, toujours dans la liste déroulante de fin de ligne, vous avez accès au lien "édition rapide".

En y accédant, une synthèse des informations importantes est déroulée sous la ligne de commande !

Ici, vous pouvez consulter rapidement :

  • les produits achetés,
  • l'état du paiement,
  • les informations de facturation,
  • les données d'expédition.

Actualiser le statut d'une commande

Vous pouvez aussi actualiser l'état de votre commande :

  • Une commande passée avec paiement accepté se rajoute automatiquement dans la liste, avec le statut "En attente";
  • Après avoir décidé d'accepter une commande, vous devez la passer en statut "En cours de préparation";
  • Lorsqu'une commande est finalisée, changez le statut en "Terminée".

Lorsque vous n'avez plus besoin de visualiser ces données, vous pouvez cliquer sur la petite croix, en haut à droite, pour les cacher.

Modifier ou supprimer une commande à tous moments ...

Vous êtes maître de votre boutique en ligne ! Vous pouvez modifier absolument tous les champs composant la commande.

En cliquant sur le lien "Modifier" dans la liste déroulante vue précédemment, vous accédez à la page d'édition de tous ces champs :

  • Si une information est incorrecte, changez la très simplement,
  • Vous êtes au téléphone avec un de vos clients qui vous demande de modifier un élément de sa commande, faites le en direct !
  • Vous pouvez aussi :
    • ajouter une réduction,
    • fixer une date de facturation,
    • changer une adresse,
    • modifier une quantité,
    • modifier un prix,
    • rajouter ou retirer un produit à la commande,
    • changer le statut,
    • corriger les coordonnées
    • ...
  • Accéder à l'adresse mail du client en allant en bas de la page dans les onglets verticaux. L'onglet "Informations utilisateur" contient son adresse mail, vous pouvez ainsi correspondre directement avec votre client en marge de la boutique,
  • Enfin, si vous souhaitez supprimer une commande qui n'a pas abouti, vous trouverez le lien de suppression dans la liste déroulante de fin de ligne du tableau récapitulatif des commandes.

Vous souhaiteriez vous aussi pouvoir gérer votre boutique en ligne aussi facilement ? Contactez nous !

Par Artusamak
Julien Dubois

Drupal Dev Days Szeged 2014 – Episode 2

Les Drupal Dev Days ce sont trois jours de conférence, si vous voulez savoir ce qu’il s’est dit précédemment, n’hésitez pas à lire mon compte-rendu de la première journée des Drupal Dev Days Szeged. Voilà ce que j’ai retenu de la deuxième journée.

Drupal Developer Days - J2

Keynote

Pour continuer sur leur lancée, les organisateurs ont proposé une Keynote avec un intervenant de qualité, en l’occurence une intervenante car il s’agissait de Cathy Theys (@YesCT sur drupal.org). Le sujet de sa présentation était à propos de l’organisation de sprints. Cathy est l’une des figures incontournables lorsque l’on parle de sprints, elle a aidé à se former des sprints allant de 10 personnes à plus de 600.

Les messages qu’elle a envoyé lors de son intervention sont assez simples, pour réussir vos sprints les nouveaux arrivants sont la clé. Il y a un cercle vertueux à les mentorer efficacement. Un débutant est impressionné par toute la mécanique du développement du coeur alors prenez le par la main en l’aiguillant vers des issues qui sont à sa portée pour le mettre en confiance. Prenez également le temps de faire du suivi avec ces nouveaux venus pour qu’ils ne soient pas lâchés dans la nature.
La principale difficulté consiste à réussir à « fidéliser » les contributeurs, trop souvent ils viennent aider pendant 1 ou 2 jours puis repartent dans la nature. Si vos sprints sont bien gérés, vos mentors vont prendre soins de ces nouveaux arrivants et pourront petit à petit les aider à devenir eux même mentors.
Être mentor n’est pas une mission réservée à une élite, si vous avez appris à faire une chose vous pouvez la réapprendre tout de suite à quelqu’un d’autre (et vous devenez alors son mentor). Les mentors peuvent ne pas savoir et vont vous transmettre leur approche pour trouver des réponses « voilà comment je m’y prendrais pour chercher », « j’irais parler à cette personne pour lui demander son avis », etc.
C’est grâce à l’envie de partager que la communauté fonctionne et que les sprints prennent chaque année un peu plus d’ampleur. Ne soyez donc pas effrayés et tentez de proposer un coup de main autour de vous en organisant vos sprints. Même si les gens ne viennent pas en masse la première fois, martelez vos messages, continuez de laisser une porte ouverte pour permettre aux plus timides de sauter le pas et la sauce prendra autour des sprints.
Par ici pour lire ses slides.

Building really fast websites with D8

Ma première session de la journée a été celle de Wim Leers, il y a parlé des performances de notre cher Drupal et de comment l’on pouvait les améliorer. La session était principalement orientée autour des problématiques de cache et bien entendu des problèmes d’invalidation de cache (l’un des deux sujets les plus compliqués en informatique avec le nommage des choses). L’un des principaux problèmes du cache généré par D7 est que le markup de certains éléments comme les liens contextuels, ou l’affichage d’un drapeau « nouveau contenu » change d’un utilisateur à l’autre, obligeant à générer autant de variantes d’un même cache. Changer de technique pour cacher ces données est donc une piste qui a été suivie, l’idée consiste à générer la même base de markup pour tous et d’injecter des placeholders qui sont remplacés à la volée pour chaque utilisateur. Cela coûte quelques requêtes supplémentaire par page mais cela est beaucoup plus bénéfique dans son ensemble. S’appuyer sur des techniques comme le localStorage / sessionStorage (stockage de données côté client plutôt dans une base de données) fait aussi parti des nouvelles façons de faire qui permettent de rendre la gestion du cache plus maligne.
Dans Drupal 7, il était impossible de savoir quels caches invalider lorsqu’un contenu était mis à jour, il y avait le cache du rendu direct de l’entité mais peut être aussi des rules ou des pages de listing à invalider. Difficile donc de savoir qu’est ce qui était utilisé où.
Il a donc été décidé d’ajouter des tags aux bins de cache, permettant ainsi de tagger un élément avec un node id, un user id ou un type de contenu (mais pas que), de cette façon lorsque vous allez invalider un cache, vous allez invalider un tag « je veux vider tous les caches qui sont liés au node 2254″. Imbattable comme technique pour améliorer la finesse des invalidations !
La présentation était vraiment intéressante, vous pouvez consulter les slides de Wim sur son site.

D8 plugin system

Un des gros morceaux de Drupal 8 a été présenté par Aspilicious. Le système de plugin de Drupal 8 pourrait être présenté de plein de façons différentes et avec des degrés de profondeur plus ou moins importants. Je vais me contenter de vous en faire la description qui me parait la plus pertinante.
Le système de plugin se base sur le principe des annotations introduit par un composant de Symfony. Les annotations sont des commentaires autour des classes qui suivent une structure bien définie et qui permettent au système d’étendre les composants de votre application. C’est ni plus ni moins que l’équivalent de vos hook_info_*() dans Drupal 7.
Le système de plugins en lui même est la possibilité qu’il vous est donnée de créer vos propres composants, vos propres hook_info(). Jetez un oeil aux slides, Aspilicious a pris le temps d’introduire tous les concepts de la plugin API par une suite d’exemples de plus en plus complexes.

Themer VS Coder

Moment de légèreté de la journée, Campbell et Adam, développeur pour l’un et thémeur pour l’autre, sont partis d’une base de wireframe de site et se sont donné comme mission de s’approcher de la mise en page demandée au plus près en partant d’un site Drupal avec des contenus déjà saisis et un peu de configuration faite.
Après 15 minutes chacun, on se rend compte que certaines choses sont faciles à faire pour l’un des deux mais plus compliquées pour l’autre (et inversement).
La conclusion de leur démo (où ils arrivent presque tous les deux au résultat demandé) est que tous les corps de métier doivent collaborer car leurs compétences sont complémentaires.

Get ready for fully translated sites with Entity Translation

Schnitzel impliqué dans l’équipe multilingue qui travaille sur Drupal 8 a présenté l’état de l’art des traductions pour Drupal 7. Il n’est pas toujours simple de choisir sa stratégie de traduction de contenu mais ça l’est un peu si vous lisez les slides de la présentation. Michael a montré comment utiliser Entity Translation et comment basculer vers ce module si précédemment vous utilisiez content translation ou field translation. Ce module est une référence et a été utilisé dans la nouvelle version majeure de Drupal. Ses slides sont en ligne (attention aux allergiques, beaucoup de chatons dans les slides !)

Care for your backoffice

Cette dernière présentation de la journée est celle que Guillaume et moi avons donné, les slides sont ci-dessous. Pendant cette présentation nous avons listé les conseils et modules que vous pouvez utiliser pour améliorer vos backoffice. Des utilisateurs passent des heures à se servir de ces interfaces, optimisez les, profitez de modules disponibles côté contrib pour rendre vos backoffices plus utilisables et si vous avez de bonnes idées, contribuez les !

Lire le compte-rendu de la troisième journée.

Par Artusamak
Julien Dubois

Drupal Dev Days Szeged 2014 – Episode 1

Voilà que la première journée de conférence des Drupal Dev Days 2014 se termine.  Moins d’un an après l’édition de Dublin, la communauté des développeurs Drupal se retrouve à Szeged (Hongrie) pour son rendez-vous préféré.

Photo de groupe pour les Drupal Dev Days 2014 à Szeged (Par mr.TeeCee)

Photo de groupe pour les Drupal Dev Days 2014 à Szeged (Par mr.TeeCee)

La conférence se déroule sur toute la semaine avec depuis lundi (et même dimanche soir) des journées de sprint. L’idée est de profiter de ces moments ensemble pour faire plusieurs choses : aider des nouveaux contributeurs à mettre le pied à l’étrier (presque 2 000 contributeurs déjà impliqués pour Drupal 8), échanger de vive voix entre contributeurs core afin de débloquer certains points, ou tout simplement découvrir Drupal 8.
Les sujets sont divers et variés, on y trouve par exemple du débuggage pour le site drupal.org, la gestion du multilinguisme, le thèming autour de Twig, la résolution des beta blockers, etc.

Keynote

A propos du contenu, le coup d’envoi de la journée a été donné par Jam lors d’une keynote dédiée à Drupal 8, il  a profité de sa tribune pour rendre hommage aux contributeurs déjà impliqués et a invité les nouveaux venus à s’impliquer également. Il y a du travail pour tous les niveaux et si vous ne savez pas à qui parler la technique qu’il a recommandé est très bonne : « Vous tendez votre bras et pointez votre doigt devant vous, vous fermez les yeux et faites trois tours sur vous même. En rouvrant les yeux vous parlez à la personne que pointe votre doigt et lui demandez comment contribuer, il y a de fortes chances qu’elle sache vous dire quoi faire ou vers qui vous tourner. »

Entity API pour Drupal 8

Après cette keynote Fago a pris le relai pour présenter entity API pour Drupal 8. Quoi de neuf au programme ? L’entity API dans sa version pour Drupal 7 n’était pas terminée, elle a donc été unifiée, réécrite, optimisée.
Changement le plus notable, les propriétés et les champs sont maintenant tous des champs. Ils sont respectivement des base fields et des bundle fields. Cela signifique que manipuler des propriétés ou des champs se fera de façon transparente, les mêmes méthodes pourront être appelées. Autre bénéfice, on peut donc maintenant appliquer des formateurs et des widgets aux base fields (anciennement appelés propriétés) et c’est une très bonne nouvelle !
Obtenir des informations sur le modèle des données se résume à appeler une simple méthode là où avant il fallait appeler un hook_entity_info() et faire pas mal de navigation au sein du tableau de données retourné.
J’ai aimé ses explications sur la validation API qui prend tout son sens lorsque vous faites du REST, vous ne pouvez pas valider vos données comme si un formulaire venait d’être soumis, il vous faut donc vous appuyer sur une autre logique de validation, et c’est là que la validation API entre en jeu.
Prenez le temps de parcourir les slides, il y a beaucoup d’informations très intéressantes, on y parle du stockage, de la façon de définir de nouveaux types d’entités, de contrôle d’accès etc.

Point sur les initiatives non officielles

Pour la deuxième session de la journée, je suis allé voir Pedro nous partager ce qu’il se passe du côté des initiatives « non officielles » pour Drupal 8. Il s’agit de changements plus ou moins grands portés par quelques individus qui continuent de rendre Drupal meilleur. En vrac, il a parlé de WYSIWYG, Twig, Menus comme entités, de l’introduction des form modes (yay \o/), de la nouvelle façon de faire la migration et de plein d’autres sujets. Jetez un oeil à ses slides elles valent le coup et vous découvrirez sûrement pas mal de nouveautés pour Drupal 8.

D8: Fields reborn

A la reprise des sessions suite  à la pause déjeuner, Swentel a donné sa présentation sur le nouveau fonctionnement des champs pour Drupal 8. Le sujet a été rapidement évoqué par Fago dans sa session sur Entity API mais Kristof est allé plus loin. Il y a beaucoup de choses spécifiques détaillées dans ses slides et il sera bien plus intéressant pour vous de les consulter.

Cracking Drupal

La bonne surprise de la journée a été la présentation de Klausi sur la sécurité. Je m’attendais en rentrant dans la salle à écouter encore une session sur la sécurité qui était abstraite et pas vraiment appliquée à Drupal et ça n’a pas été le cas du coup. Klausi a pris le temps de vulgariser les principales failles de sécurités identifiées sur les sites et de faire un parallèle pour Drupal avec des exemples concrets.

Drupal and Scrum from the trenches

Cette session a été plus particulière, je n’y ai pas assisté, je l’ai donnée avec Guillaume. Nous avons partagé nos retours d’expériences sur Drupal et Scrum, vous pouvez accéder aux slides de notre présentation « Drupal and Scrum from the trenches » pour lire ce que nous avons présenté.

JS Pulp Fiction

Pour terminer les sessions de ce jour 1, direction la salle principale pour écouter nod_ nous parler de Pulp Fiction et de l’état de Javascript dans Drupal 8. Ses messages étaient autour des bonnes pratiques, de la nouvelle façon de travailler avec Javascript et de l’avenir potentiel du sujet.

La suite demain après une courte nuit de sommeil !

Lire le compte-rendu de la deuxième journée et de la troisième journée.

Par ftorregrosa
Florent Torregrosa

Première utilisation de Migrate

Cet article est un retour d'expérience sur ma première utilisation de Migrate, module permettant de faire des imports de contenu depuis à peu près n'importe quelle source de données vers un site Drupal.

J'ai au passage contribué de la documentation sur ce module ici, car bien qu'elle soit déjà très bien détaillée, je n'ai pas trouvé de point dédié aux traductions.

Modules utilisés :

Par admin

Assemblée générale extraordinaire du 2 avril 2014

Fichier attaché Taille
dff-ag-2014-2.pdf 73.64 Ko

Chers adhérents,
J’ai le plaisir de vous convier à une assemblée général extraordinaire de notre association le mercredi 2 avril prochain, conformément à l’article 8 des statuts.
Cette réunion se tiendra le mercredi 2 avril 2014 à partir de 19h à la Maison des Associations du 3ème, 5 rue Perrée, 75003 Paris, dans la salle 1.
. Cette assemblée extraordinaire fait suite a celle organisée le 18 mars 2014 qui n’a pas réunit le quorum nécessaire au vote sur la modification des statuts de notre association. Conformément à l’article 8.2 nous convoquons une nouvelle assemblée générale extraordinaire. Celle-ci aura pour objet la soumission au vote de modifications de nos statuts, notamment sur la constitution du conseil d’administration et sur son mode de scrutin.
Si vous ne pouvez être physiquement présent lors du vote, vous pouvez vous faire représenter par un autre membre de l’association muni d‘un pouvoir régulier (ou vous pouvez l’envoyer à l’adresse de l’association au minimum 4 jours avant l’assemblée générale).
Vous pouvez également participer à l'assemblée générale par un moyen de communication électronique permettant de vous identifier formellement. Dans ce cas, si vous souhaitez participer aux votes vous devrez renoncer à l'anonymat des votes afin de les transmettre.
Je vous rappelle également que seuls les membres à jour de leur cotisation peuvent participer à l’assemblée générale et participer au vote, n'hésitez pas à adhérer dés à présent grâce au bulletin d'adhésion en ligne http://drupalfr.org/sites/default/files/formulaire-adherent-drupalfr.pdf ou sur place le jour même.

Olivier Friesse
Président sortant Drupal France & Francophonie

En page d'accueil : 
Par admin

Le nouveau bureau ADFF élu pour 2014 !

Lors de l'assemblée générale ordinaire du 18 mars 2014, les membres de l'association ont élu le nouveau bureau.

Voici les nouveaux membres élus au bureau :

  • Anne Sophie Picot
  • Christophe Villeneuve
  • Edouard Cunibil
  • Florent Torregrosa
  • Frédéric G. Marand
  • Julien Dubreuil
  • Léon Cros
  • Olivier Pierre
  • Simon Morvan
  • Vincent Maucorps
  • Viriginie Jarosik

Pour information, le nombre de votants (participants et procurations) s'élève à 37. Il y a 36 suffrages exprimés.

Le bureau se réunira dans le courant de la semaine prochaine pour désigner en son sein les nouveaux président, trésorier et secrétaire de l'association.

En page d'accueil : 
Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

Syndiquer un flux externe sur son site Drupal

Pourquoi syndiquer un contenu externe sur son site ?

Il peut être bénéfique de syndiquer un flux RSS externe sur son propre site !

Cette action permet d'afficher dans les pages de votre site les dernières publications du site web d'un partenaire, d'un client ou d'un site qui apporte un contenu pertinent et complémentaire au votre pour l'enrichir ou le compléter.

Vous pouvez ainsi donner une profondeur à votre contenu en l'associant naturellement à celui du site que vous syndiquez.

Comment syndiquer un site externe avec Drupal?

Suivez tout simplement les étapes suivantes...

Accés à l'agrégateur de flux RSS

Se rendre sur "Agrégateur de flux"Dans la Configuration du site, cliquez sur le lien "Agrégateur de flux" dans la partie "Services Web".

(admin/config/services/aggregator)

 

 

Ajout d'un flux RSS

Ajouter un flux RSSCliquez sur "Ajouter un flux".

(admin/config/services/aggregator/add/feed)

 

 

Informations d'un flux RSS

Renseigner le fluxIndiquez notamment :

  • un titre (par exemple, "suivez l'actualité de ce site",
  • l'adresse du flux RSS (et pas l'adresse du site),
  • la fréquence des mises à jour (nous vous conseillons "1 jour" pour ne pas surcharger les activités serveur de fond),
  • le nombre de publications que vous souhaitez afficher.

 

Enregistrement du flux RSS

Mettre à jour le flux RSSCliquez sur "Enregistrer".

 

Activation d'un nouveau flux

Sur la page qui récapitule les flux (admin/config/services/aggregator), vous pouvez voir le flux récemment ajouté.

Cliquez sur le lien "mettre à jour les éléments" pour que le module récupère les publications.

 

Visualisation du flux

Se rendre dans la gestion des blocsRendez vous ensuite sur la page de gestion des blocs, dans le menu "Structure" puis "Blocs" (admin/structure/block).

Le module de syndication a automatiquement créé un bloc qui affiche les dernières publications de votre flux !

 

Positionnement du contenu syndiqué

Choisir la région du blocAssignez le à la région dans laquelle vous souhaitez voir le bloc s'afficher (barre latérale, contenu principal, pied de page ...), puis enregistrez (en bas de la page).

 

Affichage du flux

Enfin, vous pouvez configurer votre bloc afin de ne l'afficher que sur certaines pages de votre site, pour certains utilisateurs ou dans certains types de contenu.

Vous pouvez aussi changer son titre. Pour cela, cliquez sur le lien "configurer" associé au bloc, vous trouverez en premier lieu un champ pour modifier son titre et en bas de page, différents onglets pour configurer son affichage !
Configurer le bloc Les paramètres du bloc

 

Validation de la configuration du nouveau flux RSS

Le résultat de la syndicationEnregistrez, videz le cache et le tour est joué !

Vous disposez maintenant d'un bloc affichant les dernières publications du site syndiqué ainsi qu'une page dédiée à ses publications !

 

 


 

Mantalo met la syndication au service de ses clients pour afficher les dernières publications de leurs sites et renforcer ainsi leur référencement naturel. Envie d'en savoir plus sur cette fonctionnalité ? Contactez nous !

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

Syndiquer un flux externe sur son site Drupal

Pourquoi syndiquer un contenu externe sur son site ?

Il peut être bénéfique de syndiquer un flux RSS externe sur son propre site !

Cette action permet d'afficher dans les pages de votre site les dernières publications du site web d'un partenaire, d'un client ou d'un site qui apporte un contenu pertinent et complémentaire au votre pour l'enrichir ou le compléter.

Vous pouvez ainsi donner une profondeur à votre contenu en l'associant naturellement à celui du site que vous syndiquez.

Comment syndiquer un site externe avec Drupal?

Suivez tout simplement les étapes suivantes...

Accés à l'agrégateur de flux RSS

Se rendre sur "Agrégateur de flux"Dans la Configuration du site, cliquez sur le lien "Agrégateur de flux" dans la partie "Services Web".

(admin/config/services/aggregator)

 

 

Ajout d'un flux RSS

Ajouter un flux RSSCliquez sur "Ajouter un flux".

(admin/config/services/aggregator/add/feed)

 

 

Informations d'un flux RSS

Renseigner le fluxIndiquez notamment :

  • un titre (par exemple, "suivez l'actualité de ce site",
  • l'adresse du flux RSS (et pas l'adresse du site),
  • la fréquence des mises à jour (nous vous conseillons "1 jour" pour ne pas surcharger les activités serveur de fond),
  • le nombre de publications que vous souhaitez afficher.

 

Enregistrement du flux RSS

Mettre à jour le flux RSSCliquez sur "Enregistrer".

 

Activation d'un nouveau flux

Sur la page qui récapitule les flux (admin/config/services/aggregator), vous pouvez voir le flux récemment ajouté.

Cliquez sur le lien "mettre à jour les éléments" pour que le module récupère les publications.

 

Visualisation du flux

Se rendre dans la gestion des blocsRendez vous ensuite sur la page de gestion des blocs, dans le menu "Structure" puis "Blocs" (admin/structure/block).

Le module de syndication a automatiquement créé un bloc qui affiche les dernières publications de votre flux !

 

Positionnement du contenu syndiqué

Choisir la région du blocAssignez le à la région dans laquelle vous souhaitez voir le bloc s'afficher (barre latérale, contenu principal, pied de page ...), puis enregistrez (en bas de la page).

 

Affichage du flux

Enfin, vous pouvez configurer votre bloc afin de ne l'afficher que sur certaines pages de votre site, pour certains utilisateurs ou dans certains types de contenu.

Vous pouvez aussi changer son titre. Pour cela, cliquez sur le lien "configurer" associé au bloc, vous trouverez en premier lieu un champ pour modifier son titre et en bas de page, différents onglets pour configurer son affichage !
Configurer le bloc Les paramètres du bloc

 

Validation de la configuration du nouveau flux RSS

Le résultat de la syndicationEnregistrez, videz le cache et le tour est joué !

Vous disposez maintenant d'un bloc affichant les dernières publications du site syndiqué ainsi qu'une page dédiée à ses publications !

 

 


 

Mantalo met la syndication au service de ses clients pour afficher les dernières publications de leurs sites et renforcer ainsi leur référencement naturel. Envie d'en savoir plus sur cette fonctionnalité ? Contactez nous !

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

Nouveau site internet : Écopôle Aquitaine

Une architecture innovante signée Duncan Lewis

Construire avec la nature est l'axe majeur des travaux de l'architecte et designer Duncan Lewis. Le projet Écopôle Périgord Aquitaine est un très beau projet qui s'inscrit totalement dans cet esprit. C'est dans ce contexte très privilégié que de jeunes entreprises pourront très prochainement amorcer leur activité et partager un espace de travail de grande qualité.

Un socle Drupal pour un site évolutif

Le site a pour vocation de présenter l'ensemble des installations et des services de la zone Écopôle Périgord Aquitaine établie à Vélines.

Le public attendu se compose dans un premier temps, de créateurs d'entreprises et de porteurs de projets professionnels en lien avec le développement durable, et à la recherche d'une pépinière d'entreprises ou d'un incubateur de projets. Il trouveront à Écopôle Périgord Aquitaine des installations pour les accueillir, mais également pour les accompagner dans le développement de leur activité.

Un peu plus tard, le site internet Écopôle Périgord Aquitaine  aura pour vocation de promouvoir le savoir faire des entreprises hébergées sur la zone d'activité. Il sera alors question de développer l'arborescence du site telle que nécessaire pour publier un contenu plus étoffé et diversifié. Pourquoi ne pas aller jusqu'à mettre à la disposition de chaque entreprise de la zone un espace de valorisation de son activité ? En tout cas, l'architecture du site le permettra !

Un site de qualité pour un projet de qualité

À la mesure du concept et de son intérêt économique et environnemental, le site internet de l'Écopôle Périgord Aquitaine  a été développé selon un cahier de spécifications très qualitatif :

  • Le contenu est accessible (conforme au référentiel WCAG), donc aisément consultable par tous publics, y compris les personnes handicapées, quelque soit la nature de leur handicap,
  • Toutes les pages du site sont facilement lisibles à partir de n'importe quelle taille d'écran fixe ou mobile (Responsive Web Design),
  • Le code HTML est valide conformément au référentiel W3C, ce qui expose dans d'excellentes conditions son potentiel de référencement naturel.

Un univers graphique cohérent et harmonieux

Tous les visuels du site ont été réalisés dans l'esprit de l'univers graphique piloté par le logo Écopôle Périgord Aquitaine également conçu et créé par l'agence Mantalo Conseil. L'univers apaisant et serein des pages du site se veulent le reflet de ce que sera ce lieu de travail et de production totalement respectueux des hommes et de leur environnement. Pour autant, cet ensemble "soft" n'empêche pas des contrastes de couleurs intégralement compatibles avec les normes d'accessibilité des sites internet.

 

Vous aussi êtes adeptes d'un internet de qualité? Contactons-nous et échangeons sans tarder pour étudier comment communiquer soft et efficace à la fois !

Par Mantalo Conseil
Agence web, Agence de Communication et Marketing en Dordogne (Aquitaine)

Nouveau site internet : Écopôle Aquitaine

Une architecture innovante signée Duncan Lewis

Construire avec la nature est l'axe majeur des travaux de l'architecte et designer Duncan Lewis. Le projet Écopôle Périgord Aquitaine est un très beau projet qui s'inscrit totalement dans cet esprit. C'est dans ce contexte très privilégié que de jeunes entreprises pourront très prochainement amorcer leur activité et partager un espace de travail de grande qualité.

Un socle Drupal pour un site évolutif

Le site a pour vocation de présenter l'ensemble des installations et des services de la zone Écopôle Périgord Aquitaine établie à Vélines.

Le public attendu se compose dans un premier temps, de créateurs d'entreprises et de porteurs de projets professionnels en lien avec le développement durable, et à la recherche d'une pépinière d'entreprises ou d'un incubateur de projets. Il trouveront à Écopôle Périgord Aquitaine des installations pour les accueillir, mais également pour les accompagner dans le développement de leur activité.

Un peu plus tard, le site internet Écopôle Périgord Aquitaine  aura pour vocation de promouvoir le savoir faire des entreprises hébergées sur la zone d'activité. Il sera alors question de développer l'arborescence du site telle que nécessaire pour publier un contenu plus étoffé et diversifié. Pourquoi ne pas aller jusqu'à mettre à la disposition de chaque entreprise de la zone un espace de valorisation de son activité ? En tout cas, l'architecture du site le permettra !

Un site de qualité pour un projet de qualité

À la mesure du concept et de son intérêt économique et environnemental, le site internet de l'Écopôle Périgord Aquitaine  a été développé selon un cahier de spécifications très qualitatif :

  • Le contenu est accessible (conforme au référentiel WCAG), donc aisément consultable par tous publics, y compris les personnes handicapées, quelque soit la nature de leur handicap,
  • Toutes les pages du site sont facilement lisibles à partir de n'importe quelle taille d'écran fixe ou mobile (Responsive Web Design),
  • Le code HTML est valide conformément au référentiel W3C, ce qui expose dans d'excellentes conditions son potentiel de référencement naturel.

Un univers graphique cohérent et harmonieux

Tous les visuels du site ont été réalisés dans l'esprit de l'univers graphique piloté par le logo Écopôle Périgord Aquitaine également conçu et créé par l'agence Mantalo Conseil. L'univers apaisant et serein des pages du site se veulent le reflet de ce que sera ce lieu de travail et de production totalement respectueux des hommes et de leur environnement. Pour autant, cet ensemble "soft" n'empêche pas des contrastes de couleurs intégralement compatibles avec les normes d'accessibilité des sites internet.

 

Vous aussi êtes adeptes d'un internet de qualité? Contactons-nous et échangeons sans tarder pour étudier comment communiquer soft et efficace à la fois !

Par vincent59
Vincent Liefooghe

Interdire l'accès anonyme sur un site Drupal

Dans certains cas on peut vouloir interdire l'accès en mode anonyme à un site Drupal : site complètement privé, ou site en test.

Plusieurs étapes permettent de faire cela simplement :

  • configurer les permissions pour supprimer l'accès au contenu aux visiteurs
  • rediriger les erreurs 403 (accès refusé) vers la page de login
  • modifier la page de login (optionnel)

Configuration des permissions

Via l'écran de gestion des permissions, (admin/people/permissions), supprimer l'accès au contenu pour les visiteurs anonymes :

Redirection des accès refusés

Dans l'écran de configuration système (admin/config/system/site-information), mettre comme URL user/login pour les accès refusés (403).

Ce paramétrage suffit maintenant à rediriger tous les accès non authentifiés vers la page de connexion.

Modification de la page de login

Si on veut aller plus loin et anonymiser la page de connexion (ou au contraire la rendre plus belle), on peut également la modifier.
Pour cela, il faut ajouter un fichier page--user--login.tpl.php, qui peut par exemple contenir :

<!-- Template pour la page de login -->
<div id="page" class="container login-page <?php print $classes; ?>">
      <div id="content-column" class="login-content">
           <h1 id="page-title"> Please Log In </h1>
            <!-- region: Main Content -->
            <?php if ($content = render($page['content'])): ?>
              <div id="content">
                <?php print $content; ?>
              </div>
            <?php endif; ?>
      </div>
</div><!-- //End #page, .container -->

Note : si on veut conserver une partie des informations des pages "normales", on peut partir sur la base du fichier page.tpl.php.

Attention : il ne faut pas oublier de vider le cache pour que le nouveau modèle de page soit pris en compte.

 

Tags: 


Catégorie: 

Par BelleEpoqueAgence
Agence Drupal à Paris
L'agence digitale Belle Epoque est spécialisée dans le développement Drupal et Drupal Commerce. Forte d'une expérience très riches sur ce gestionnaire de contenus, nous réalisons des sites sur-mesure en suivant les conventions Drupal.

Drupal8 : disparition du hook_menu

image

Les artisans Belle Epoque ont mené l’enquête à propos de la disparition d’un des membres de la famille Hook : l’incontournable hook_menu.

Fiche d’identité

  • Nom : Hook
  • Prénom : Menu
  • Âge : 9 ans
  • Origine : Drupal 4.6 (et oui cela a réellement existé)
  • Fonction : Définition des chemins d’accès et des items de menus

En effet, après la signalisation de sa disparition sur cette page, notre informateur Google, bien connu dans le domaine de la recherche, nous a orienté vers cette page :

"Routing functionality of hook_menu() has been replaced by new routing system".

La fonctionnalité de routage du hook_menu() a été remplacée par un nouveau système. Mais quel système est aujourd’hui à l’œuvre ?

Nous continuons notre investigation et nous tombons nez à nez avec une issue.

Nous remontons alors la filière des contributeurs Drupal fous et découvrons un nouveau hook né sous Drupal8 : 

hook_menu_link_defaults

Afin d’illustrer ce nouveau né de la famille des Hooks, nous vous laissons découvrir le module salutation sur notre dépôt Github.

Pour les développeurs curieux, il faut placer le dossier salutation dans modules/custom. Il est également conseillé de créer le dossier “modules/contrib” pour accueillir les modules contribués.

C’est bien dans le dossier “modules” à la racine des fichiers de Drupal8 que nous travaillerons aujourd’hui. Historiquement sur Drupal7, ont travaillait dans “sites/all/modules/”.

Ensuite, il ne vous reste plus qu’à activer le module “Salutation” depuis la page “extend” (anciennement “Modules”).

image

Dans le prochain article, nous allons procéder à l’autopsie du module salutation afin de voir les nombreux changements opérés dans cette version 8 de Drupal.

Par Marc Delnatte
Akabia

Drupal vs Joomla - Quel CMS choisir pour son site internet ?

Choisir son CMS est important avant de commencer à développer son site internet. En effet, une fois choisi, il est très compliqué et coûteux de vouloir changer de CMS en cours de projet. Chaque CMS a sa propre architecture que ce soit Drupal ou Joomla.

Dans cet article nous allons comparer deux CMS (Joomla et Drupal) que l'agence Akabia a pu utilisé lors de différents projets.







Par benftwc

Drupal Multisite et Travail collaboratif

Pourquoi le Multisite ?

Pour vous permettre de travailler en équipe sur un même projet, sans parler de CVS, Drupal a pensé au fichier sites.php, dédié aux « Multi-sites », soit, plusieurs sites au sein d’une seule instance de Drupal.

Drupal Multisite

Drupal Multisite

Le Drupal Multisite est généralement utilisé pour séparer plusieurs univers (tels que membre.site.fr et admin.site.fr), mais également plusieurs environnements techniques (Windows – Linux, Apache – NGinX).

Structure et mise en place du Drupal Multisite

Le mettre en place est extrêmement simple :

<?php
  $sites['subdomain.domain.tld'] = 'environnement';
?>

Pour reprendre la structure ci-dessus, la clé de $sites correspond à l’url et la valeur correspond au répertoire de configuration de l’environnement. (dans notre exemple, ROOT/sites/environnement).

Mise en place dynamique

Pour aller plus loin, et nous permettre de baser notre environnement en fonction du développeur, nous allons utiliser une variable d’environnement qui servira à séparer chaque base de donnée, pour chacun de vos développeurs / intervenants.

Cette variable est à renseigner dans le VHOST pointant vers votre instance Drupal

SetEnv APPLICATION_ENV dev-username

Avec ici autant d’utilisateurs que vous voudrez, en gardant 1 environnement / Vhost / URL !

Pensez également à versionner les config, cela évitera en cas de soucis de perdre toutes vos configurations !

<?php

// sites/sites.php
$env = getenv('APPLICATION_ENV');
if (!empty($env)) {
    $sites[$_SERVER['SERVER_NAME']] = $env;
}
?>

En sauvegardant ce code dans votre sites.php, vous serez capable de travailler à plusieurs développeurs sur une même instance de Drupal. Pensez également à synchroniser de temps en temps vos bases de données si nécessaire, cette technique n’est pas « viable » lorsque vous travaillerez avec trop de personnes.

Aller plus loin

Dans ce cas, il faudra prévoir de passer par des méthodes plus « Drupal », soit, par le biais de hook_update, d’export Features-Strongarm, ou de modules Custom ne nécessitant que très peu de configuration.

The post Drupal Multisite et Travail collaboratif appeared first on Benftwc.

Pages