Planète

Par juliendubreuil
julien dubreuil
Depuis 2009 maintenant, je développe avec le CMS/CMF Drupal. J’étais à la recherche d’un framework capable de remplacer un projet et je n’ai jamais arrêté de m’en servir depuis ce moment.

Définissez une langue système pour traduire proprement Drupal

Préparez Drupal pour la traduction

L’un des avantages majeurs à utiliser Drupal est de bénéficier d’un système de traduction avancé. En effet, avec l’ajout de quelques modules il devient facile de traduire contenus et interfaces. La langue par défaut que vous avez choisie lors de l’installation servira alors de base lors de la création des différentes entités sur votre site.

Néanmoins il existe une faiblesse dans le système. Drupal n’attribue pas de nom machine pour une chaine de caractères disponible pour la traduction et ne fait que faire le mapping entre la valeur de la chaine et de potentielles traductions. Cela a pour conséquence que lorsque vous changez la valeur de la chaine de caractères, Drupal n’est plus capable de faire le lien et votre traduction ne sert plus à rien.

Pour éviter cela, l’idée est d’installer votre site en Anglais et de se servir de cette langue comme langue système, puis d’ajouter d’autres langues pour traduire votre site. Ainsi si vous avez besoin de traduire votre site en Anglais, vous aurez deux langues Anglaises sur votre site, une pour le système et une pour vos utilisateurs.

Il m’arrive souvent, pendant la phase de développement d’un site, que le wording ne soit pas validé. Le choix cornélien de devoir appeler un bouton « Acheter » ou « sors ta CB » est long. L’autre avantage d’utiliser une langue système est que vous pouvez vous passer de cela, plus besoin d’attendre le label parfait pour CTA. Vous aurez simplement à traduire cette valeur lors de la phase de traduction.

Voici donc en 8 étapes comment configurer l’anglais par défaut comme langue système et ajouter d’autres langues (même de l’Anglais) comme traduction.

  1. Rendez-vous sur la page des modules et activez le module Locale.

  2. Une fois installé, rendez-vous sur la page d’administration des langues (/admin/config/regional/language).

  3. Cliquez sur le lien edit pour la langue Anglais. Ajoutez un path prefix “en-sys” et sauvegardez. Cette langue nous servira de langue système

  4. Une fois redirigé sur l’interface d’administration des langues cliquez sur le lien en haut Add a language.

  5. Dépliez le fieldset Custom language (oui c’est bien caché) et renseignez la configuration suivante. Cette langue sera l’anglais qui sera affiché à vos visiteurs.

    • language name = English customized
    • Native language code = English
    • Path prefix = en
    • Direction = left to right
  6. Ajoutez la langue FR à la liste des langues. Dans le cas où le Français sera la langue par défaut de votre site vous pouvez supprimer le “path prefix” dans les options de configuration de la langue FR.

  7. Activez les langues “French” et “English customized”, désactivez la langue “English” par défaut et cochez la le Français comme langue par défaut.

  8. Rendez-vous sur la page de détection des langues (/admin/config/regional/language/configure) et activez le mode de détection par “url”.

A ce stade il ne vous reste alors plus qu’à traduire les éléments d’interfaces en Français et en Anglais.

L’intérêt de cette solution est de permettre à la fois de traduire l’anglais par défaut et de ne pas se préoccuper de la traduction pendant le développement.

Par admin

Convocation à l'assemblée générale extraordinaire du mercredi 11 mars 2015

Cher adhérent,

Le bureau et moi-même avons le plaisir de te convier aux deux assemblées générales de notre association mercredi 11 mars 2015, conformément à l'article 8 des statuts. L'assemblée générale extraordinaire, qui débute la soirée, sera immédiatement suivie d'une assemblée générale ordinaire.

Ces assemblées se tiendront mercredi 11 mars 2015 à 19h à la Maison des Associations du 3ème, 5 rue Perrée, 75003 Paris, dans la salle 1.

J'attire ton attention sur le fait que l'assemblée extraordinaire a besoin d'un taux de participation ou représentation (pouvoirs) très élevé pour atteindre le quorum nécessaire au vote sur la modification des statuts de notre association et l'introduction d'un règlement intérieur.

L'assemblée générale extraordinaire aura pour objet la soumission au vote de modifications de nos statuts, et l'ajout d'un règlement intérieur. Notre souhait est de donner plus de flexibilité et de rapidité aux évolutions de l'association pour stimuler son dynamisme et les interactions entre le bureau et la communauté Drupal.

Nous te transmettrons fin février la nouvelle version proposée des statuts, ainsi que la proposition de règlement intérieur. Nous proposerons deux versions : une avec un Conseil d'Administration et un bureau, et une version proche de l'existant avec seulement un bureau.
Les brouillons de ces deux versions sont attachés à l'article de convocation sur drupalfr.org et tu es invité(e) à nous faire part par mail à bureau@drupalfr.org de tes suggestions d'améliorations avant le 24 février dernier délai. Bien sur, ces documents ne seront pas définitifs et pourront évoluer plus facilement les années suivantes, mais il nous parait important de démarrer ce mouvement.

  • La première proposition comporte peu de changements par rapport à la version actuelle.
  • La deuxième proposition introduit l'élection directe du président par l'assemblée générale et un conseil d'administration qui permettra au bureau d'obtenir rapidement l'avis de représentants impliqués dans la vie de la communauté.

L'assemblée générale ordinaire qui suivra aura à l'ordre du jour :

  • Rapport moral présenté par le président
  • Rapport financier présenté par le trésorier
  • Élection du nouveau conseil d'administration ou du bureau
  • Questions ouvertes

Les membres désirant présenter leur candidature au conseil d'administration ou au bureau, et ceux qui souhaitent inclure des points complémentaires à l'ordre du jour devront se manifester au plus tôt au bureau via email à bureau@listes.drupalfr.org

Si tu ne peux être physiquement présent lors du vote, tu peux te faire représenter par un autre membre de l'association muni d'un pouvoir régulier (ou tu peux l'envoyer à l'adresse de l'association au minimum 4 jours avant l'assemblée générale ou par scan signé à bureau@listes.drupalfr.org). Le pouvoir est disponible ci-dessous.

Tu peux également participer à l'assemblée générale par un moyen de communication électronique permettant de t'identifier formellement. Dans ce cas, si tu souhaites participer aux votes tu devras renoncer à l'anonymat des votes afin de les transmettre.

Je te rappelle également que seuls les membres à jour de leur cotisation peuvent participer à l'assemblée générale et au vote, n'hésite 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.

Merci pour ta participation et à bientôt.

Léon Cros
Président Drupal France & Francophonie

En page d'accueil : 
Par Marc Delnatte
Akabia

Comment activer la réécriture d'URL sous Drupal 7 ?

Dans cet article vous trouverez tous les éléments nécessaires à la réécriture des URL's sous Drupal 7.

Pourquoi réécrire les URL de Drupal ?

De base, Drupal génère des URL's grâce au ID des différents nodes. Celles-ci se présentent sous cette forme :

Par Simon Georges
Simon Georges

Exercice de lecture de code malveillant

Voici un extrait de code malveillant retrouvé sur un serveur "piraté". Ce type de code est utilisé pour piloter à distance un serveur. Il permet à des individus peu scrupuleux de piloter à distance un ensemble de serveurs compromis, ce qu'on appelle un "botnet".

Le code est absolument illisible et il peut être amusant d'essayer de retrouver une version lisible du code à partir de sa version obfusquée.

Par vincent59
Vincent Liefooghe

Mode de debug pour les thèmes Drupal

Depuis la version 7.33, Drupal embarque dans le "core" un mode de debug pour le thème.

On peut voir dans le fichier CHANGELOG.txt

Drupal 7.33, 2014-11-07
-----------------------
.../...
- Added a "theme_hook_original" variable to templates and theme functions and
  an optional sitewide theme debug mode, to provide contextual information in
  the page's HTML to theme developers. The theme debug mode is based on the one
  used with Twig in Drupal 8 and can be accessed by setting the "theme_debug"
  variable to TRUE (API addition).

Il s'agit donc d'un "backport" depuis Drupal 8.

Ce mode "debug" s'active via un paramètre dans le fichier sites/default/settings.php :

$conf['theme_debug'] = true;
// ou
$conf['theme_debug'] = 1;

Une fois activé, si on navigue dans les pages, on ne voit... rien !
Sauf à regarder le code source de la page HTML (c'est un mode DEBUG, ne l'oublions pas, réservé aux développeurs).
Et là, on découvre des commentaires tels que :

En haut de page (au niveau de la balise html)

<!-- THEME DEBUG -->
<!-- CALL: theme('html') -->
<!-- FILE NAME SUGGESTIONS:
   * html--mon-etablissement.tpl.php
   x html.tpl.php
-->
<!-- BEGIN OUTPUT from 'sites/all/themes/professional_theme/templates/html.tpl.php' -->

Et au niveau de chaque bloc :

<!-- THEME DEBUG -->
<!-- CALL: theme('block') -->
<!-- FILE NAME SUGGESTIONS:
   * block--hiw-common--hiw-login-block.tpl.php
   * block--hiw-common.tpl.php
   * block--header.tpl.php
   x block.tpl.php
-->
<!-- BEGIN OUTPUT from 'sites/all/themes/professional_theme/templates/block.tpl.php' -->

ou encore (pour une vue en mode bloc) :

<!-- THEME DEBUG -->
<!-- CALL: theme('block') -->
<!-- FILE NAME SUGGESTIONS:
   * block--views--mes-fichiers-block.tpl.php
   * block--views.tpl.php
   * block--content.tpl.php
   x block.tpl.php
-->
<!-- BEGIN OUTPUT from 'sites/all/themes/professional_theme/templates/block.tpl.php' -->

Ceci permet donc de savoir dans quels fichiers templates aller chercher pour faire les modifications du thème.

Le template utilisé est celui marqué par une croix 'x', et il est indiqué par la ligne BEGIN OUTPUT from... . Les autres sont des suggestions qui pourraient être utilisées.

Par exemple, si je duplique le modèle block.tpl.php en block--views.tpl.php, on peut constater que le template utilisé change  :

<!-- THEME DEBUG -->
<!-- CALL: theme('block') -->
<!-- FILE NAME SUGGESTIONS:
   * block--views--mes-fichiers-block.tpl.php
   x block--views.tpl.php
   * block--content.tpl.php
   * block.tpl.php
-->
<!-- BEGIN OUTPUT from 'sites/all/themes/professional_theme/templates/block--views.tpl.php' -->

Pratique pour affine le theming, sans devoir installer un module tel que devel_themer !

 

 

Catégorie: 


Tag: 

Par Marc Delnatte
Akabia

Protéger et sécuriser son site web contre le piratage.

Une vague de cyber-attaques sans précédent.

Après les récents attentats contre Charlie Hebdo, de nombreux sites web français ont été victimes de cyber-attaques virulentes. Cette vague de hacking sans précédent a été perpétrée par des groupes à l'identité subtilement masquée (MECA, AnonGhost, Felaga team, Votr3x, Prodigy TN,..etc), revendiquant protéger l’image de l’Islam sur Internet.

Par Marc Delnatte
Akabia

Services REST Drupal : une nouvelle utilisation du CMS ?

Le web change toujours plus vite et des nouveaux outils arrivent quotidiennement faisant évoluer l’écosystème du développement web. Ces nouveaux outils sont souvent spécialisés pour répondre à un type de besoin et le font très bien.

Quel est donc l’impact pour des CMS “généralistes” comme Drupal?

Par ftorregrosa
Adhérent
Florent Torregrosa

Avoir un comportement de facettes sur des filtres exposés de vue

Page de test entityreference filter

Ayant récemment testé le module Views Reference Filter, je me suis rendu compte que celui-ci permet d'obtenir un comportement de facettes sur des filtres exposés de vues. Le module manque de documentation qui est en cours d'élaboration dans une issue Drupal.org il est donc difficile de comprendre où il agit.

Par Artusamak
Julien Dubois

Drupal et Scrum depuis les tranchées - Communiquer pendant le sprint

Drupal et Scrum depuis les tranchées - Communiquer pendant le sprint
dim, 25/01/2015 - 14:56
Artusamak

Votre backlog de sprint est prêt, l'équipe s'est engagée à livrer le périmètre convenu et n'attend plus qu'une chose, poser les mains sur son clavier pour coder ! Lâchez les fauves et préparez la suite. (Pour les gens pressés : TLDR);

Suite à la réunion de planification du sprint et son découpage en taches, envoyez un compte-rendu du périmètre du sprint à votre client avec les échéances prévues, date de la démo, date de la rétrospective.
Nous avons pour habitude de mettre à disposition un environnement de test stable pour le client sur lequel il peut retrouver le contenu de la livraison du sprint précédant. Redonnez l'URL à votre client en lui rappelant qu'il a la durée du sprint qui vient de démarrer pour trouver d'éventuels bugs. Si arrivé au terme du sprint il ne remonte rien, la livraison sera considérée comme acceptée.

Ce n'est parce que vous travaillez en agile qu'il faut vous afranchir de faire le point avec votre client, de le rassurer sur l'avancement, de garder des mails avec l'historique de vos échanges afin de rafraîchir les mémoires avec des faits lorsqu'il y a des interrogations sur ce qu'il se faisait à une période donnée.

Le scrum quotidien sera un pillier important sur lequel vous devrez vous reposer, c'est à ce moment de la journée qu'il faut prendre du recul pour savoir si l'avancement est correct. Le burndown et le diagramme de flux cumulés sont là pour vous aider à y voir clair. Si des problèmes sont apparus, c'est également le moment d'en parler entre équipe et product owner, le scrum master ayant la responsabilité de constater que ces échanges ont lieux et le cas échéant d'inviter l'équipe à se demander si les scrums jouent leur rôle.

La clé de la réussite de vos projets agiles sera le pilotage. Une fois pris dans le flux de travail et l'enchaînement des sprints, il est très facile de perdre de vue les contraintes de temps et de budget. C'est entre autres pour cela qu'il faut toujours essayer de terminer une fonctionnalité avant de passer à la suivante. Il sera difficile d'accepter d'arrêter les développements si rien n'est terminé alors que si vous terminez un sujet et passez d'un thème à l'autre vous aurez la maîtrise sur votre périmètre et sur le pilotage du budget. Forcez vous à raisonner en terme de valeur ajoutée quitte à remettre en cause la conception qui a pu être faite bien plus tôt pour ne pas vous perdre sur des sentiers inconnus.

TL;DR

  • Facilitez la tache de votre client en lui communiquant les échéances du sprint
  • Gardez des traces par mail de vos contenus de sprints
  • Laissez du temps à votre client pour tester
  • Gardez la main sur l'avancement en ayant une validation tacite d'un sprint
  • Pilotez le projet par épiques pour ne pas partir dans tous les sens
  • Raisonnez en terme de valeur ajoutée
Par Marc Delnatte
Akabia

Pourquoi choisir Drupal ?

Pourquoi choisir Drupal ?

Drupal a déjà été élu plusieurs fois meilleurs CMS du monde ! En effet, sa gestion de contenu et sa fiabilité sont reconnues dans le monde entier. 

Par admin

Drupal Dev Days 2015 à Montpellier

Si vous êtes passés à côté de cette annonce, lisez ce qui suit.

En avril prochain, du 13 au 19 exactement, les Drupal Dev Days se dérouleront en France, à Montpellier, Fac de Sciences.
Un an après le dernière camp, nous retrouverons avec plaisir la ville de Montpellier qui nous avait si bien accueillie.

Changement de lieu, changement de projet

Drupal Dev Days, c'est une semaine de rencontres internationales pour tous les développeurs Drupal, autours d'atelier, discussions, sprints et conférences. Environ 350 personnes seront présentes pour faire avancer Drupal 8, un beau programme.

Si cela vous chante, les propositions de sessions sont ouvertes jusqu'au 31 janvier ! Dépêchez vous !!!
Vous trouverez aussi toutes offres de sponsoring sur le site de l'événement.

Dernière information, suivez toutes les actualités des Drupal Dev Days sur le compte twitter de l'événement.

En page d'accueil : 
Par Marc Delnatte
Akabia

Drupal 8 - création d'une page

Drupal 8 instaure des changements importants au niveau de son API et donc de sa manière de créer des nouveaux modules. La programmation procédurale est abandonnée au profit d’une programmation orientée objet (OOP) qui est devenu un standart dans beaucoup de framework notamment Symfony2 dont certains bundle sont intégrés à Drupal 8.

Par juliendubreuil
julien dubreuil
Depuis 2009 maintenant, je développe avec le CMS/CMF Drupal. J’étais à la recherche d’un framework capable de remplacer un projet et je n’ai jamais arrêté de m’en servir depuis ce moment.

Drupal 8, la métamorphose du CMS

Drupal 8, la métamorphose du CMS

C’est indéniable le web bouge et c’est certainement l’une des industries ou les outils évoluent aussi vite et sont aussi éphémères, ce qui est à la mode aujourd’hui ne le sera potentiellement plus demain. Le monde des CMS/CMF n’est pas épargné et subit son lot d’évolutions. Le problème n’est plus de savoir si telle ou telle fonctionnalité existe mais bel est bien de savoir si l’outil est capable de communiquer et de s’intégrer avec d’autres applications. Cette mutation du web a permis l’apparition de nouveaux usages tels que les SPA (single Page Application) ou MBaaS (Mobile Backend as a Service) dont le but est d’afficher des données dans un front web désolidarisé du backend.

Dans les articles précédents sur l’évolution des sites web et sur pourquoi Drupal 8 a subit une telle évolution Frédéric G. Marand et moi avons évoqué les applications orientées composants ou services. Par le passé, Drupal a prouvé qu’il était un excellent système de stockage de données et qu’il était capable d’exposer ces informations. Drupal 8 ira plus loin en intégrant cette capacité à s’associer de façon transparente avec d’autres applications externes à son coeur.

Drupal 8, l’impact sur les applications futures

L’application monolithique est un grand classique pour les projets réalisés avec Drupal, pour autant ce n’est pas parce qu’on peut tout faire avec que c’est une forcément une bonne idée. Est-ce que si votre boulanger se mettait à vendre des voitures et des outils de bricolage dans sa boutique vous ne trouveriez pas ça étrange ?

Comme l’a dit Frédéric, l’heure de gloire de la publication simple est derrière nous, aujourd’hui les attentes du marketing portent sur la personnalisation de l’expérience utilisateur en fonction des données acquises. Cela implique que les utilisateurs soient connectés et aient une identité persistante multisupport. On parle alors de session multi-device qui permet de reprendre la navigation ou encore vos achats là où vous en étiez et ce quel que soit le support.

Or lorsque Drupal fabrique ses pages pour un utilisateur connecté (pages générées à la volée et non chargées depuis le cache) cela consomme beaucoup de ressources. Il est rare de voir des pages de front web fabriquées avec moins de 50 requêtes SQL et autant de chargements de cache. Drupal est un outil performant pour la gestion de contenus néanmoins il n’est pas réputé pour ses performances d’affichage (cas pour un Drupal de base sans optimisation).

Ainsi la partie affichage à l’utilisateur final est susceptible d’être déplacé hors de Drupal en tant qu’application distincte basée sur des Javascript tels que AngularJs ou React afin de servir à la fois du web et du mobile qui ne cesse de grandir. C’est ce que l’on appelle le « headless Drupal ». Laissons à Drupal ce qu’il sait très bien faire, stocker et manipuler les données et déportons le front vers des technologies plus souple et plus rapide à mettre en place. Pour vous donner un exemple d’utilisation, on pourrait créer un B.O. unifié pour vos utilisateurs qui centraliserait vos contenus et vos produits puis différents sites web ayant chacun une thématique particulière qui viendraient consommer un webservice de façon à proposer des contenus ou produits à l’utilisateur.

Ainsi il faudra repenser Drupal comme un service de backend utilisé par des applications tiers qui consommeront des webservices pour servir l’expérience utilisateur, tout en gardant des temps de réponses performant grâce à la paralellisation.

Cette séparation entre le front et le back de l’application va nous offrir l’opportunité de raccourcir les cycles de développement et augmenter son efficacité tout en utilisant les dernières technologies et methodologies. La mutation de Drupal en API de contenus va permettre de réduire les problématiques multi-devices que l’on rencontre couramment.

Drupal 8 est à un point important de son évolution, ça passe où ça casse. Cette métamorphose à venir est de loin la plus grosse refonte qui ait été faite. Et vous, comment voyez-vous le futur des applications Drupal ? Comment comptez-vous vous y prendre ?

Par juliendubreuil
julien dubreuil
Depuis 2009 maintenant, je développe avec le CMS/CMF Drupal. J’étais à la recherche d’un framework capable de remplacer un projet et je n’ai jamais arrêté de m’en servir depuis ce moment.

Drupal 8, la refonte majeure

Drupal 8, la refonte majeure

Comme les Frameworks, Drupal a évolué tout au long de ces dernières années afin de suivre la demande et les tendances. Ces ajouts de fonctionnalités ont considérablement fait augmenter sa taille et complexifié l’outil. Toutefois, Drupal ne devrait plus être considéré comme un CMS mais comme un CMF (Content Management Framework). En fait c’est le cas depuis la version 4.7 avec l’apparition de CCK, la form API et views.

Pourquoi une telle refonte ?

Quand on regarde un peu sous le capot on s’aperçoit qu’il y a énormément de composants et librairies externes utilisés dans cette nouvelle version. Côté PHP pur, c’en est fini de la programmation procédurale qui rebutait tant de développeurs, aujourd’hui Drupal est pleinement orienté objet avec l’utilisation des Namespaces, des Traits et j’en passe. L’interopérabilité des composants a grandement été facilitée grâce aux standards du FIG avec PSR-4 (PSR-0), PSR-3 ainsi que Composer.

Non, Drupal n’a pas été réécrit en Symfony2, mais des composants SF2 ont été utilisés dans Drupal 8. D’ailleurs il existe aussi des composants provenants de Zend Framework comme le rappelle Frédéric G. Marand lors de notre présentation.

D8 aurait pu faire le même choix d’architecture qui a été fait pour Wordpress 4. C’est à dire, ne rien casser et ne faire que des évolutions axées sur la partie fonctionnelle et éditoriale. Or c’est une refonte en profondeur qui a été faite, en rupture totale avec les précédentes éditions. Le but a été de créer un framework Full-stack en n’écrivant que le minimum de code tout en réutilisant les meilleurs composants disponibles. C’est pour cela que des librairies de code telles que Twig, Guzzle ou encore EasyRDF ont été intégrées. Le gain de temps à ne pas maintenir ces composants pourra être utilisé efficacement à la conception du coeur de Drupal.

Le ton est donné, la volonté de cette nouvelle version est de se professionnaliser et de ne plus être vue comme une simple platforme de blog mais bel et bien comme un framework pour réaliser des applications.

Drupal 8, la baffe

Il ne faut pas se leurrer, cette nouvelle version va tout chambouler. Bien plus complexe que les précédentes, il va falloir apprendre de nouvelles choses et comprendre les nouveaux paradigmes et composants avant de se sentir efficace.
Néanmoins sur le long terme, cela permettra de créer du code plus maintenable, plus facile à faire évoluer et beaucoup plus simple à déployer.

N’attendez pas pour regarder de près ce qui se cache dans cette nouvelle version, les changements sont tellement nombreux et majeurs que cela peut prendre du temps avant d’être pleinement opérationnel avec les différents composants et librairies intégrés à Drupal 8.

Faut-il avoir peur de Drupal 8 ?

Non, même si l’on parle beaucoup du loup sans le voir, il n’est pas à craindre, bien au contraire. Bien sûr cela voudra dire de passer par une nouvelle phase d’apprentissage mais cela est courant pour tout développeur et je ne connais pas de bon dev qui refuse d’apprendre quelque chose de nouveau. Cette nouvelle version, si elle est utilisée comme composant d’une application va nous permettre de réaliser des applications plus maintenables et plus fun à réaliser. Peut-être que cela deviendra le backend privilégié pour les applications SF2.
Personnellement j’ai vraiment hâte de travailler sur des projets orientés services ou composants avec Drupal 8 de façon à pouvoir utiliser d’autres technologies bien plus performantes là où Drupal n’est pas adapté.

Références et articles sur le sujet :

Par ftorregrosa
Adhérent
Florent Torregrosa

Adhésion en ligne : Commerce License

Suite à l'article sur les adhésion en ligne pour le site Drupalfr.org, il m'a été suggéré de regarder le module Commerce License.

Ce module permet très bien de répondre à une problématique d'adhésion en ligne.

Voici son fonctionnement en quelques étapes :

Par pwetosaurus
Adhérent
Paul Playe

Déploiement de site Drupal sur la plateforme Openshift

La plateforme Openshift, présentée par ailleurs, permet de déployer en quelques clics une instance de Drupal, en version 7 ou en version 8.

Le but de cet article n'est pas de montrer comment choisir «Drupal» dans une liste d'applications, mais de montrer les différences dans la gestion d'un site Drupal dans le cloud de Red Hat.

Le Drupal étant packagé et prêt à l'emploi, on ne passe pas par les étapes classiques d'installation (Choix et configuration de la base de données, nom et mot de passe du compte d'administration…). Tout est généré à l'instanciation du Drupal et les informations d'authentification vous seront fournies à l'issue de la création du site. De même, vous n'avez pas à vous soucier de l'installation et de la configuration d'un SGBD (Ce sera par défaut du Mysql).

On peut se dire qu'il est à ce moment plus simple de n'installer qu'un environnement PHP le SGBD de notre choix et de faire une installation classique, mais la configuration de la base de données lors de l'installation de Drupal n'est pas simple, puisque les informations de connexion à la base de données se font par des variables d'environnement ($OPENSHIFT_MYSQL_DB_HOST, $OPENSHIFT_MYSQL_DB_PORT…etc…).

Un des avantages du cloud, c'est la scalabilité, mais dans le cas de Drupal l'application n'est pas scalable par défaut (comme pour les autres CMS disponibles en cartridges sur Openshift). Si vous voulez en savoir plus là dessus, le fichier README.md dv dépot utilisé par Openshift pour gérer sa version de Drupal présente quelques conseils pour rendre le site scalable.

Pour l'installation en elle même, il faut bien évidemment un compte Openshift actif (de plus les outils d'administration développés par Red Hat seront également nécessaires par la suite) et de se rendre dans l'interface de gestion des applications.

Les ressources disponibles et utilisées sont calculées en gears. Vous avez droit dans une utilisation gratuite, à trois small gears sachant que Drupal, PHP et mySql tiennent sur un seul gear. Si vous avez un gear de disponible, vous pouvez aller sur la liste des applications disponibles en appuyant sur le bouton dédié «Add Application…».

Dans la liste des applications disponibles, dans la section «Instant App» vous trouverez Drupal 7 (car il est maintenu par Openshift), et pour Drupal 8, il vous faudra chercher dans la section «PHP».

Il faut garder à l'esprit que le dépot utilisé par Openshift pour déployer le Drupal ne permet pas de bénéficier des alertes de mises à jour de sécurité et qu'il faut donc suivre soit même les sorties de correctifs pour les déployer par soi même.

En sélectionnant «Drupal 7» ou «Drupal 8», nous allons pouvoir configurer notre application, notamment son nom, puis les versions des dépendances de Drupal (versions de mySql et de PHP). Je recommande de ne pas toucher au choix du dépot d'origine duquel proviendra le code source de l'application.

 

Plus qu'à appuyer sur le «Create Application» et attendre (le déploiement peu prendre quelques minutes) la mise en place et la configuration du Drupal.

La page suivante nous offre les identifiants générés pour l'administration du site ainsi que les identifiants d'accès à la base de données.

Une des grosses différences entre le déploiement d'un Drupal de cette façon et une installation une installation d'un espace de travail sur Openshift, c'est la gestion via git qui est différente. Si nous n'avions déployé qu'un environnement de travail, nous aurions eu un dépôt à la racine de notre application sur lequel travailler. Dans le cas d'une installation de Drupal, nous avons notre application qui se trouve en dehors du dépôt.

Mais un autre outil de travail va nous permettre de mettre en place des modules contribués sans avoir à passer par l'interface d'administration, Drush.

Openshift nous authorise en effet une connexion SSH avec notre application, et tout passe par les outils développés par Red Hat.

 

[paul@localhost ~]$ rhc setup
OpenShift Client Tools (RHC) Setup Wizard

This wizard will help you upload your SSH keys, set your application namespace,
and check that other programs like Git are properly installed.

If you have your own OpenShift server, you can specify it now. Just hit enter to
use the server for OpenShift Online: openshift.redhat.com.
Enter the server hostname: |openshift.redhat.com|

You can add more servers later using 'rhc server'.

Using an existing token for drupal@paulplaye.fr to login to
openshift.redhat.com

Saving configuration to /home/paul/.openshift/express.conf ... done

Checking for git ... found git version 1.9.3

Checking common problems .. done

Checking for a domain ... osaurus

Checking for applications ... found 1

  drupal http://drupal-osaurus.rhcloud.com/

  You are using 1 of 3 total gears
  The following gear sizes are available to you: small

Your client tools are now configured.
[paul@localhost ~]$ rhc ssh drupal
Connecting to caf02300020a548a0d635973@drupal-osaurus.rhcloud.com ...

    *********************************************************************

    You are accessing a service that is for use only by authorized users.
    If you do not have authorization, discontinue use at once.
    Any use of the services is subject to the applicable terms of the
    agreement which can be found at:
    https://www.openshift.com/legal

    *********************************************************************

    Welcome to OpenShift shell

    This shell will assist you in managing OpenShift applications.

    !!! IMPORTANT !!! IMPORTANT !!! IMPORTANT !!!
    Shell access is quite powerful and it is possible for you to
    accidentally damage your application.  Proceed with care!
    If worse comes to worst, destroy your application with "rhc app delete"
    and recreate it
    !!! IMPORTANT !!! IMPORTANT !!! IMPORTANT !!!

    Type "help" for more info.


[enlightened-oise.rhcloud.com caf02300020a548a0d635973]\> drush cc all
'all' cache was cleared.                                             [success]
[enlightened-oise.rhcloud.com caf02300020a548a0d635973]\>

 

Nous avons donc un Drupal fonctionnel, mais qui n'est pas — pour le moment — très pratique pour développer thèmes et modules, et je ne désespère pas de pouvoir revenir là dessus plus en avant prochainement, certaines bidouilles pouvant nous permettre de tout de même y arriver…

Pages