Planète

Par juliendubreuil
julien dubreuil
Drupal since 2009

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
Drupal depuis plus de 10 ans, SEO depuis 3 ans

Exercice de lecture de code malveillant

Voici un extrait de code malveillant retrouvé sur un serveur "piraté". Ce type de code 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 Simon Georges
Simon Georges
Drupal depuis plus de 10 ans, SEO depuis 3 ans

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 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

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 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
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 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 Marc Delnatte
Akabia

Pourquoi choisir Drupal ?

Pourquoi choisir Drupal ?

Drupal est un CMS Open Source créé en 2001 soutenu par 36 000 développeurs dans 228 pays parlant 181 langues. Cette communauté a développé pas moins de 30 000 modules permettant d’étendre les fonctionnalités natives de Drupal. Multilingue, E-commerce, SEO, Responsive design … les modules permettent de répondre rapidement à l’ensemble des besoins génériques.

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.

Pages