Drupal Camp Paris 2019 : Audit de sécurité d'un site Drupal
Drupal Camp Paris 2019 : Audit de sécurité d'un site DrupalLaborouge
dim 10/02/2019 - 13:01
Drupal Camp Paris 2019 : Audit de sécurité d'un site DrupalLaborouge
dim 10/02/2019 - 13:01
Drupalcamp Paris 2019 - Venez nous retrouver
Artusamak
ven 08/02/2019 - 11:01
Retrouvez les experts Drupal d'Happyculture au Drupalcamp Paris 2019.
Du 15 au 17 février aura lieu l'édition 2019 du Drupalcamp national. La ville qui l'accueillera sera Paris.
Pour cette année, Happyculture sera bien représentée car tous nos experts Drupal y seront présents. Guillaume Bec y présentera une session sur le RGPD, Julien Dubois viendra témoigner aux côtés de Denis Pitzalis de la mise en œuvre de Drupal à l'UNESCO, Nicolas Meyer et Edouard Cunibil seront quant à eux probablement toujours à proximité des salles de sprint afin de corriger quelques bugs récalcitrants du cœur.
Nous avons le plaisir d'être les sponsors du café pour ces 3 jours de conférence. Vous pourrez donc rester éveillés grâce à nous !
N'hésitez pas à passer une tête pour saluer l'équipe, il reste des places disponibles. Jetez un œil au programme si vous ne l'avez pas encore fait.
Photo d'illustration : frank.meffert.photography CC 2.0 BY
Le drupalcamp est l'évènement Drupal en France rassemblant l'ensemble de la communauté francophone. L'évènement est organisé par une équipe de bénévole et est porté par l'association Drupal France et Francophonie.
Cette année, le drupalcamp revient à Paris et se tiendra les 15, 16 et 17 février 2019 à l'espace St-Martin en plein cœur de Paris.
Nous venons de terminer le programme des conférences, et il est consultable directement sur le site de l'évènement : https://paris2019.drupal.fr/programme.
Cette années, trois tracks en parallèle : Business / Expertise / Découverte.
Comme d'habitude aux drupalcamp, le dimanche sera consacré a des ateliers, des sprints de développement et de traduction.
La billetterie est toujours ouverte, n'hésitez-pas à prendre vos places dès maintenant : https://paris2019.drupal.fr/billetterie.
Pour vous tenir au courant sur l'évènement les infos principales sont données sur le compte twitter @drupalcampfr.
Création
Pour ajouter du contenu dans un Field Collection, nous allons utiliser la classe Drupal\field_collection\Entity\FieldCollectionItem :
Meetup AFUP du 24 janvier 2019 - Découverte de Drupal et ses bonnes pratiques Fabien CLÉMENT
jeu 31/01/2019 - 09:31
J'ai eu le plaisir de présenter Drupal et ses bonnes pratiques lors d'un meetup organisé par l'AFUP Nantes.
L'événement organisé dans les locaux d'Ynov à Nantes s'est très bien déroulé et je remercie les personnes organisatrices ainsi que les personnes présentes pour les très bons échanges.
Durant cette présentation que vous trouverez ci-dessous, j'ai présenté :
J'ai eu le plaisir de présenter Drupal et ses bonnes pratiques lors d'un meetup organisé par l'AFUP Nantes.
L'événement organisé dans les locaux d'Ynov à Nantes s'est très bien déroulé et je remercie les personnes organisatrices ainsi que les personnes présentes pour les très bons échanges.
Durant cette présentation que vous trouverez ci-dessous, j'ai présenté :
ce qu'était Drupal,
son historique,
une liste non exhaustive des fonctionnalités de Drupal 8,
les bonnes pratiques pour développer avec Drupal 8,
ce que Drupal nous proposera dans le futur.
A bientôt sur un autre événement.
J'ai eu le plaisir de présenter Drupal et ses bonnes pratiques lors d'un meetup organisé par l'AFUP Nantes.
L'événement organisé dans les locaux d'Ynov à Nantes s'est très bien déroulé et je remercie les personnes organisatrices ainsi que les personnes présentes pour les très bons échanges.
Durant cette présentation que vous trouverez ci-dessous, j'ai présenté :
ce qu'était Drupal,
son historique,
une liste non exhaustive des fonctionnalités de Drupal 8,
les bonnes pratiques pour développer avec Drupal 8,
ce que Drupal nous proposera dans le futur.
A bientôt sur un autre événement.
L’association Drupal France et francophonie (drupalfr) annonce le retour dans la capitale de son événement « Drupalcamp Paris 2019 » à l’espace Saint‐Martin à Paris III, les 15, 16 et 17 février 2019, autour du CMS Drupal,
Cette année, l'accent fera une part belle aux retours d'expériences, aux conférences techniques et à la découverte.
Le CMS Drupal est utilisé dans tous les cœurs de métiers comme les médias, les établissements publics, les secteurs du travail temporaire, l'humanitaire, l'industrie, l'agriculture, la construction, les métiers de la bouche, l’hôtellerie, la santé, la culture, l'édition.
Découvrez des retours d’expériences pour différents cœur de métier concernant des problématiques variées (usine à site, migration, intranet...)
La technique sera la seconde thématique à destination des personnes soucieuses de construire et de réaliser des projets évolutifs. C’est une occasion de mieux comprendre les rouages du CMS tout en respectant les bonnes pratiques, Au programme cette année : POO et design patterns, Dx, intégration, RGPD...
La troisième thématique sera dédiée à la découverte de drupal. En partant de la base différents formateurs expérimentés viendront vous présenter les différents aspects du CMS : l'installation, le théming, le développement de module, le déploiement...
Vous pouvez découvrir le programme complet.
Enfin, Il est encore temps de prendre sa place !
Des tarifs préférentiels sont toujours disponibles pour les adhérents à l'association Drupal France.
Composer est devenu incontournable pour des projets Drupal 8 relativement ambitieux. Même si il est encore possible d'initialiser un projet Drupal 8 avec drush ou encore tout simplement en téléchargeant une archive zip, ces deux méthodes peuvent devenir limitantes avec le temps. Ou tout du moins ne pas faciliter l'installation de nouveaux modules ayant des dépendances sur des librairies tierces.
Il n'est pas rare qu'un projet Drupal 8, parce qu'il dispose de contenus structurés, s'étoffe de nombreux types de contenu, eux-mêmes comportant de nombreux champs, eux-même rendus de façon différente au travers de non moins nombreux modes d'affichage. Une des conséquences est que la phase de conception dite site building peut devenir alors extrêmement chronophage, voire source de multiples petits oublis encore plus chronophage à corriger /ajuster (utilisation des mêmes champs, texte d'aide associé, configuration du formulaire, des modes d'affichage, etc.).
C'est toujours un peu compliqué de choisir les modules les plus utiles pour Drupal 8 parce que cela dépend du site que vous allez créer ou administrer. Cependant il y a des modules vraiment utiles que vous pouvez utiliser dans presque toutes les situations.
Dans ce billet je vous parlerai des modules que j'utilise quasi tout le temps dans mes projets sous Drupal 8, ils ne sont pas liés à un type de site en particulier, mais ils sont toujours utiles tant en développement qu'en production.
1. Admin Toolbar
(D8) - https://www.drupal.org/project/admin_toolbar
Le module Admin Toolbar vous sauvera beaucoup de temps. En ayant un menu déroulant et en étendant le menu d'origine de Drupal, il vous permettra de réaliser différentes tâches plus rapidement et plus facilement.
Le traitement par lots (Batch processing en anglais) est souvent un aspect important de tout projet Drupal et plus encore lorsque nous devons traiter de grands volumes de données.
L'un des avantages principaux du traitement par lots réside dans le fait de pouvoir traiter un nombre important de données par petites étapes (chunk) qui se traduisent chacune par une requête indépendante au lieu d'une seule grosse requête pour traiter toutes les données à la fois. Cela nous permettra de réaliser de lourds traitement sans devoir utiliser toutes les ressources mémoires disponibles de notre serveur.
Le fait de diviser un traitement en petits morceaux nous permet aussi d'éviter que le temps allouer à l'exécution de nos scripts PHP ne soit atteint tout en informant nos utilisateurs sur l'avancée de notre traitement.
L'utilisation de la batch API en Drupal peut s'applique aux cas suivants:
Créer des formulaires fait partie de la vie quotidienne de tout développeur Drupal. Les formulaires se présentent sous forme de vecteurs tant sous Drupal 7 que sous Drupal 8. La différence réside dans le fait que sous Drupal 8 ces vecteurs sont définis dans des classes alors qu'en Drupal 7 ils sont créés dans des fonctions.
Dans ce post nous allons créer un formulaire personnalisé avec deux champs, un champs de type text et un autre de type checkbox, nous allons valider ces champs, les afficher dans un message et enfin rediriger l'utilisateur vers la page principale.
Vous pouvez télécharger le code de ce module ici.
Voici un aperçu du formulaire:
Vous pouvez voir la structure de ce module ci-dessous:
Sous Drupal 7, pour gérer nos variables de configuration système nous utilisions les fonctions variable_get() / variable_set() / variable_del() et nous enregistrions ces variables dans la table 'variable' de la base de données.
Sous Drupal 8 nous utilisons maintenant le nouveau système de Configuration (Configuration system) qui nous fourni un lieu centralisé pour enregistrer toutes nos donnés de configuration. Ce système nous permet en plus de pouvoir synchroniser cette information entre nos sites de développement et de production. Ce genre d'information est généralement créé lors du site building et dès lors n'est pas généré par les utilisateurs finaux durant les opérations de routine du site.
Sous Drupal, les queues sont particulièrement importantes lorsque nous avons besoin de postposer certaines tâches pour un traitement futur. Pour ce faire, nous allons placer ces tâches ou données dans une queue (créer la queue) et ensuite nous allons traiter ces données avec un 'QueueWorker plugin' (traitement de la queue), généralement grâce à un process de type cron.
Il existe plusieurs manières de créer une queue:
- Avec un formulaire
- Avec un contrôleur
- Avec une fonction hook_cron()
Pour traiter la queue, nous avons aussi différentes options:
- Par cron avec un 'QueueWorker plugin'
- Par un batch process aussi avec un 'QueueWorker plugin' mais en étendant un plugin de base
- Par un batch process qui traitera chaque élément de la queue dans un service ou dans un contrôleur.
Lancer un composer install ou un composer update dans notre installation Drupal 8, pour installer ou actualiser des modules ou des themes, peut parfois être assez frustrant car Composer est vraiment lent. Trop lent en fait. Voici quelques tips qui vous permettront d'accélérer Composer en travaillant avec Drupal.
Installer Prestissimo
Prestismo est un plugin global de Composer qui permet de réaliser des installations (connections) en parallèle et il est vraiment très rapide. Il peut être 2x plus rapide. Mais Prestissimo a besoin de cURL, qui parfois ne fonctionne pas derrière certains firewalls ou proxies.
Pour installer Prestissimo suivez les étapes suivantes:
composer self-update
composer global require hirak/prestissimo
Une fois Prestissimo installé, Composer devrait être bien plus rapide qu'auparavant.
Vous pouvez configurer le nombre de connections parallèles que vous désirez, mais il semble que les 6 connections simultanées par défaut fonctionnent assez bien.
Aujourd'hui composer semble s'imposer comme la manière 'recommandée' pour installer (ou plus précisément de télécharger) Drupal 8, tant pour le cœur de Drupal mais aussi pour les modules comme pour les thèmes.
Donc, pour commencer un nouveau projet sous Drupal 8, nous devrons télécharger le code avec composer et non plus avec Drush ou Drupal Console comme nous le faisions dans le passé. Bien entendu, nous pouvons toujours utiliser Drush ou DC pour activer (ou installer) les modules ou thèmes contrib, mais pas pour les télécharger.
Le principal atout de composer est de pouvoir administrer une liste toujours plus étendue de dépendances (comme de leurs sous-dépendances) et ainsi de s'assurer que les bonnes versions de chaque 'package' soient utilisées ou actualisées.
Cet article vous propose sous forme d'un tutoriel les étapes de la création d'un thème "from scratch" sous Drupal 8. En plus de reprendre les bonnes pratiques lors du développement d'un thème, il explique précisément comment désactiver les caches pour faciliter la phase de développement.
Si des connaissances sur le "back-office" de Drupal et dans les langages de type "html, css et twig" sont nécessaires, ce tutoriel se veut accessible pour les personnes désirant aller plus loin dans la personnalisation de leur site Drupal.
Dans mon_module.install :
/** * Remove all products */ function mon_module_update_8001() { $toDelete = \Drupal::entityQuery('product')->execute(); foreach ($toDelete as $item) { $item = \Drupal\clearblue\Entity\Product::load($item); $item->delete(); } }