Planète

Par kgaut
Kevin Gautreau

Smartbus

Le site de mon projet de Master, j'aurai sûrement l'occasion d'en reparler.

Basé sur un Drupal 7, avec un template bidouillé rapidement.

Merci à Niels pour le logo.

Date de réalisation: 
Décembre 2010
CMS: 
Tags: 

Par kgaut
Kevin Gautreau

Mes liens

Un petit site concept développé rapidement histoire de tester deux-trois trucs.

Mes liens ce veux un agrégateur des différents liens que je trouve intéressants sur le net est que je veux garder sous la main et éventuellement partager.

Ce n'est qu'une première version, ultra simple (et ultra moche) sur laquelle je développerai à l'occasion des nouvelles fonctionnalités, entre autres interfaces avec twitter, google reader...

C'était aussi un gros pretexte pour tester drupal 7!

Date de réalisation: 
Décembre 2010
CMS: 

Par kgaut
Kevin Gautreau

Mes liens

Un petit site concept développé rapidement histoire de tester deux-trois trucs.

Mes liens ce veux un agrégateur des différents liens que je trouve intéressants sur le net est que je veux garder sous la main et éventuellement partager.

Ce n'est qu'une première version, ultra simple (et ultra moche) sur laquelle je développerai à l'occasion des nouvelles fonctionnalités, entre autres interfaces avec twitter, google reader...

C'était aussi un gros pretexte pour tester drupal 7!

Date de réalisation: 
Décembre 2010
CMS: 

Par kgaut
Kevin Gautreau

Séminaire CMS open source à Lyon

Smile organise le jeudi 18 Novembre un séminaire gratuit sur les CMS Open Source, j'y serai!

Programme :

  • 9h - 10h : Comprendre les enjeux et principes fondamentaux de la gestion de contenu open source.
  • 10h - 11h30 : Connaître et comparer les meilleures solutions open source : eZ Publish, Typo3, Drupal, Jahia, Liferay, Infoglue…
  • 11h30 - 12h : Poser toutes vos questions à nos experts.

Description issue du site Smile :

De plus en plus de sociétés choisissent un logiciel de gestion de contenu open source comme socle de leur stratégie web, internet ou intranet. Ce choix n'est pas seulement économique : ces produits se distinguent par leur fiabilité et ont été adoptés par une très large communauté d'utilisateurs.

Smile a déployé une variété de solutions de gestion de contenus open source pour les Laboratoires Boiron, le Conseil Général du Rhône, l’Institut Laue Langevin, l’INRIA, l’EM Lyon, Canson… et bien d'autres clients, de toutes tailles et tous secteurs d'activité.

Grâce à ce séminaire, vous découvrirez les plus grandes solutions open source à travers les retours d'expérience de nos experts et vous trouverez des réponses précises à vos questions.

Pour les inscriptions c'est ici!


Par kgaut
Kevin Gautreau

Séminaire CMS open source à Lyon

Smile organise le jeudi 18 Novembre un séminaire gratuit sur les CMS Open Source, j'y serai!

Programme :

  • 9h - 10h : Comprendre les enjeux et principes fondamentaux de la gestion de contenu open source.
  • 10h - 11h30 : Connaître et comparer les meilleures solutions open source : eZ Publish, Typo3, Drupal, Jahia, Liferay, Infoglue…
  • 11h30 - 12h : Poser toutes vos questions à nos experts.

Description issue du site Smile :

De plus en plus de sociétés choisissent un logiciel de gestion de contenu open source comme socle de leur stratégie web, internet ou intranet. Ce choix n'est pas seulement économique : ces produits se distinguent par leur fiabilité et ont été adoptés par une très large communauté d'utilisateurs.

Smile a déployé une variété de solutions de gestion de contenus open source pour les Laboratoires Boiron, le Conseil Général du Rhône, l’Institut Laue Langevin, l’INRIA, l’EM Lyon, Canson… et bien d'autres clients, de toutes tailles et tous secteurs d'activité.

Grâce à ce séminaire, vous découvrirez les plus grandes solutions open source à travers les retours d'expérience de nos experts et vous trouverez des réponses précises à vos questions.

Pour les inscriptions c'est ici!


Par kgaut
Kevin Gautreau

Livre : Concevoir et déployer ses sites web avec Drupal

Juste un petit mot pour vous dire que la seconde édition du meilleur livre francophone que j'ai pu lire en Français est sorti:

Couverture du livre

Ecrit par Yoran Brault aux éditions Eyrolles (référence dans l'informatique).

Au sommaire:

  • Comprenez l'architecture de Drupal et réfléchissez... à quoi faire et ne pas faire avec un CMS aussi puissant
  • Configurez votre environnement de développement sous Mac OS, Linux et Windows
  • Administrez Drupal et ses modules, architecturez vos pages et proposez plusieurs langues
  • Gérez vos utilisateurs, les rôles des contributeurs et flux de publication en toute sécurité (OpenID...)
  • Enrichissez vos contenus grâce aux éditeurs visuels : articles, commentaires, images, discussions, FAQ, formulaires et champs, fils RSS, filtres et formats...
  • Modifiez l'apparence avec les thèmes et personnalisez les modèles
  • Optimisez la charge d'administration par l'automatisation des tâches récurrentes
  • Créez votre propre module et évitez les écueils de la mise en production
  • Évaluez les améliorations de Drupal 7

Acheter le livre "Concevoir et déployer ses sites web avec Drupal" sur Amazon.fr

Par kgaut
Kevin Gautreau

Livre : Concevoir et déployer ses sites web avec Drupal

Juste un petit mot pour vous dire que la seconde édition du meilleur livre francophone que j'ai pu lire en Français est sorti:

Couverture du livre

Ecrit par Yoran Brault aux éditions Eyrolles (référence dans l'informatique).

Au sommaire:

  • Comprenez l'architecture de Drupal et réfléchissez... à quoi faire et ne pas faire avec un CMS aussi puissant
  • Configurez votre environnement de développement sous Mac OS, Linux et Windows
  • Administrez Drupal et ses modules, architecturez vos pages et proposez plusieurs langues
  • Gérez vos utilisateurs, les rôles des contributeurs et flux de publication en toute sécurité (OpenID...)
  • Enrichissez vos contenus grâce aux éditeurs visuels : articles, commentaires, images, discussions, FAQ, formulaires et champs, fils RSS, filtres et formats...
  • Modifiez l'apparence avec les thèmes et personnalisez les modèles
  • Optimisez la charge d'administration par l'automatisation des tâches récurrentes
  • Créez votre propre module et évitez les écueils de la mise en production
  • Évaluez les améliorations de Drupal 7

Acheter le livre "Concevoir et déployer ses sites web avec Drupal" sur Amazon.fr

Par kgaut
Kevin Gautreau

Créer son site smartphone avec Drupal

 

Mobile Tools pour créer une version smartphone de son site

Drupal permet à l'aide d'un extension de facilement créer une version mobile de son site.
Il suffit pour cela d'installer le module Mobile Tools qui se chargera de :

  • Détecter si l'internaute utilise un smartphone
  • Le rediriger vers la version mobile de votre site
  • Gérer le domaine pour le site mobile (m.monsite.com ou monsite.mobi)
  • utiliser un thème particulier pour le site mobile.

J'ai sur ce site utilisé une redirection automatique vers m.kgaut.net, et depuis cette url j'ai "demandé" à Drupal d'utiliser un thème particulier (un sous-thème plus précisement).

Vous pouvez aussi segmenter suivant le périphérique du de l'internaute (Android, blackberry, iphone ou windows mobile...)

Quelques liens pour aller plus loin:

 

Par kgaut
Kevin Gautreau

Créer son site smartphone avec Drupal

 

Mobile Tools pour créer une version smartphone de son site

Drupal permet à l'aide d'un extension de facilement créer une version mobile de son site.
Il suffit pour cela d'installer le module Mobile Tools qui se chargera de :

  • Détecter si l'internaute utilise un smartphone
  • Le rediriger vers la version mobile de votre site
  • Gérer le domaine pour le site mobile (m.monsite.com ou monsite.mobi)
  • utiliser un thème particulier pour le site mobile.

J'ai sur ce site utilisé une redirection automatique vers m.kgaut.net, et depuis cette url j'ai "demandé" à Drupal d'utiliser un thème particulier (un sous-thème plus précisement).

Vous pouvez aussi segmenter suivant le périphérique du de l'internaute (Android, blackberry, iphone ou windows mobile...)

Quelques liens pour aller plus loin:

 

Par kgaut
Kevin Gautreau

Créer un template spécial pour un type de contenu dans Drupal

Drupal permet de créer des types de contenus particuliers (voir par là pour plus d'infos), mais il permet aussi de leurs associer des templates spéciaux.

Pour cela il suffit de créer dans le dossier de votre thème un fichier avec le nom suivant:

node-[node-type].tpl.php (en replacant [node-type] par le nom machine de votre type de contenu, par exemple:

node-realisation.tpl.php

Ci-dessus, c'est pour la version 6 de Drupal. Pour la version 7 il faut doubler le tiret :

node--[node-type].tpl.php

Ensuite le préprocesseur de drupal ira chercher automatiquement le bon fichier de template pour afficher la page.

Par kgaut
Kevin Gautreau

Créer un template spécial pour un type de contenu dans Drupal

Drupal permet de créer des types de contenus particuliers (voir par là pour plus d'infos), mais il permet aussi de leurs associer des templates spéciaux.

Pour cela il suffit de créer dans le dossier de votre thème un fichier avec le nom suivant:

node-[node-type].tpl.php (en replacant [node-type] par le nom machine de votre type de contenu, par exemple:

node-realisation.tpl.php

Ci-dessus, c'est pour la version 6 de Drupal. Pour la version 7 il faut doubler le tiret :

node--[node-type].tpl.php

Ensuite le préprocesseur de drupal ira chercher automatiquement le bon fichier de template pour afficher la page.

Par Artusamak
Julien Dubois

Créer un tri par glisser déposer

Votre module serait vraiment plus sympa si une liste d’éléments pouvait être triée via un glisser-déposer, non ? Long et compliqué à implémenter vous dites ? Et bien détromprez-vous, il existe des outils dans le coeur de Drupal pour justement pouvoir facilement implémenter cela, découverte de l’élément de formulaire de type #weight qui est assez méconnu.

Implémenter une telle fonctionnalité relève de l’ordre du theming, vous cherchez à afficher un formulaire d’une façon particulière et les éléments que vous voulez réordonner vont devoir être themés comme un tableau. La fonction qui nous intéresse pour arriver à nos fins s’appelle drupal_add_tabledrag(), elle est appelée au sein d’une fonction de theming que l’on applique à l’élément de formulaire qui englobe vos éléments à réordonner, regardons un peu de code :

/**
 * Implements hook_theme().
 */
function module_reorder_text_theme($existing, $type, $theme, $path) {
 return array(
 'MODULE_reorder_text' => array(
 'arguments' => array($form => NULL),
 ),
}

Il faut donc dans un premier temps déclarer votre fonction de thème. Cette fonction sera directement appliquée à un élément du formulaire comme suit :

function orderable_form($form_state) {
 $form = array();
 $form['#theme'] = 'module_reorder_text';
}

Regardons maintenant plus en détails le contenu de la fonction de thème :

function theme_module_reorder_text($form) {
 // Titre des colonnes du tableau à trier
 $header = array('', t('Weight'), t('Content'));
 // Ajout du comportement "triable" sur le tableau qui a l'ID "sortable-table"
 // Order signifie que les éléments seront triables voir la documentation pour les autres comportements
 // Sibling : comportement à utiliser sur les éléments du tableau
 // sortable-weight est un nom de classe à utiliser sur les champs qui sont liés dans le tableau
 drupal_add_tabledrag('sortable-table', 'order', 'sibling', 'sortable-weight');
 // $form['items'] est un tableau d'éléments à trier, cet élément de tableau a sa propriété #tree à TRUE.
 foreach ($form['items'] as $key => $value) {
  $value['weight']['#attributes']['class'] = 'upload-weight';
  // Il est nécessaire d'utiliser la fonction drupal_render() pour afficher le champ en HTML
  // Le javascript va remplacer le champ weight par des éléments qui peuvent être glissés / déposés pour réorganiser le tri.
  $row = array('', drupal_render($value['weight']), drupal_render($value['text']));
  $rows[] = array('data' => $row, 'class' => 'draggable');
 }
 $output .= theme('table', $header, $rows, array('id' => 'sortable-table'));
 return $output;
}


Le vrai point important ici consiste à utiliser la fonction drupal_render() pour afficher le contenu des éléments du tableau.
C’est vraiment grâce à ce genre de petits détails que Drupal devient toujours plus indispensable. Merci Drupal !

Par kgaut
Kevin Gautreau

Créer un sous thème dans Drupal

Il est possible dans drupal de créer des sous-thèmes, dans une vision objet, on aurait ainsi un thème qui hérite d'un autre.

subtheme scheme

Pour quel usage ? Et bien par exemple, vous voulez créer une version mobile de votre site (avec des spécificités au niveau de la feuille de style par exemple.) Créez simplement un sous-thème de votre thème principal et vous n'aurez juste qu'a surcharger les fichiers que vous souhaiter modifier.

Par exemple, voici l'arborescence de mon thème principal sur ce site :

path thème principal

je veux créer une version mobile ou je modifie un peu le template d'une page ainsi qu'une feuille de style.

Je commence par créer un nouveau dossier « kgaut-mobile », je crée le fichier kgaut-mobile.info qui contient les informations de mon site. En voici le contenu :


name = kgaut-mobile
#ici je défini le thème « parent » dont mon sous-thème héritera

base theme = kgaut
description = Version mobile du theme du site Kgaut.NET
screenshot = css/images/screenshot.gif
core = "6.x"
project = "kgaut-mobile"
engine = phptemplate
 
#Ici les css que je surcharge.
stylesheets[all][] = css/layout.css
stylesheets[all][] = css/style.css
 
regions[content_top] = Content top
regions[header] = Header
regions[footer_block] = Footer
regions[content_bottom] = Content bottom
 
; Information added by drupal.org packaging script on 2009-10-28
version = "6.x-2.9"
core = "6.x"
datestamp = "1256756703"


Ensuite, je copie colle les templates et les css que je veux modifier depuis mon thème principal vers mon sous-thème. Je les modifie à ma guise.

Drupal ira chercher lui même les fichiers (javascripts, css, templates...) dans le thème principal.

Note : pour les javascripts le comportement et la manip est la même que pour les css.

path sous-thème

Pour ceux qui n'ont rien compris à mes explications foireuses, voici quelques liens pour mieux comprendre:

Par kgaut
Kevin Gautreau

Créer un sous thème dans Drupal

Il est possible dans drupal de créer des sous-thèmes, dans une vision objet, on aurait ainsi un thème qui hérite d'un autre.

subtheme scheme

Pour quel usage ? Et bien par exemple, vous voulez créer une version mobile de votre site (avec des spécificités au niveau de la feuille de style par exemple.) Créez simplement un sous-thème de votre thème principal et vous n'aurez juste qu'a surcharger les fichiers que vous souhaiter modifier.

Par exemple, voici l'arborescence de mon thème principal sur ce site :

path thème principal

je veux créer une version mobile ou je modifie un peu le template d'une page ainsi qu'une feuille de style.

Je commence par créer un nouveau dossier « kgaut-mobile », je crée le fichier kgaut-mobile.info qui contient les informations de mon site. En voici le contenu :


name = kgaut-mobile
#ici je défini le thème « parent » dont mon sous-thème héritera

base theme = kgaut
description = Version mobile du theme du site Kgaut.NET
screenshot = css/images/screenshot.gif
core = "6.x"
project = "kgaut-mobile"
engine = phptemplate
 
#Ici les css que je surcharge.
stylesheets[all][] = css/layout.css
stylesheets[all][] = css/style.css
 
regions[content_top] = Content top
regions[header] = Header
regions[footer_block] = Footer
regions[content_bottom] = Content bottom
 
; Information added by drupal.org packaging script on 2009-10-28
version = "6.x-2.9"
core = "6.x"
datestamp = "1256756703"


Ensuite, je copie colle les templates et les css que je veux modifier depuis mon thème principal vers mon sous-thème. Je les modifie à ma guise.

Drupal ira chercher lui même les fichiers (javascripts, css, templates...) dans le thème principal.

Note : pour les javascripts le comportement et la manip est la même que pour les css.

path sous-thème

Pour ceux qui n'ont rien compris à mes explications foireuses, voici quelques liens pour mieux comprendre:

Par Simon Georges
Simon Georges
Drupal depuis plus de 10 ans, SEO depuis 3 ans

CPH 2010 : Drupal distros dos and don'ts

Cette conférence était menée par Jeff Miccolis de Development Seed et Irakli Nadareishvili de Phase2 Technology, l'un et l'autre sont à la tête d'une armée de développeurs ayant formé deux distributions, ayant une renommée dans l'écosystème Drupal, respectivement Open Atrium et Open Publish

Par Simon Georges
Simon Georges
Drupal depuis plus de 10 ans, SEO depuis 3 ans

CPH 2010 : Drupal distros dos and don'ts

Cette conférence était menée par Jeff Miccolis de Development Seed et Irakli Nadareishvili de Phase2 Technology, l'un et l'autre sont à la tête d'une armée de développeurs ayant formé deux distributions, ayant une renommée dans l'écosystème Drupal, respectivement Open Atrium et Open Publish

Par Artusamak
Julien Dubois

Ajouter une étape de confirmation à vos formulaires

C’est une petite fonctionnalité dont vous pourriez avoir besoin, voici une présentation du fonctionnement d’une telle fonctionnalité.
A première vue cela peut sembler très facile à implémenter mais au final ça ne l’est pas tant que ça.

Prenons l’exemple d’un formulaire qui permet de clore des votes sur des sessions, cette action étant importante nous allons ajouter une étape de confirmation avant de faire le traitement.

Je simplifie volontairement le formulaire que l’on créé, résumons le à un simple bouton d’action :

<?php
/**
 * Form to close votes on sessions.
 */
function feature_conference_close_sessions_form(&#038;$form_state) {
 
$form['submit'] = array(
 
'#type' => 'submit',
 
'#value' => t('Clore les votes'),
 );
 return
$form;
}
?>

Ensuite dans le traitement de ce formulaire il faut faire une redirection vers le formulaire de confirmation. Aucun traitement ne doit être fait ici sachant que le formulaire n’a pas encore été confirmé par l’utilisateur.

<?php
/**
 * Redirect to confirmation form.
 */
function feature_conference_close_sessions_form_submit($form, &#038;$form_state) {
 
$form_state['redirect'] = 'sessions/close/confirm';
}
?>

Sachant que nous faisons une redirection vers une entrée de menu, il faut la déclarer via un hook_menu().

<?php
/**
 * Implement hook_menu().
 */
function feature_conference_menu() {
 return array(
 
'sessions/close/confirm' => array(
 
'page callback' => 'drupal_get_form',
 
'page arguments' => array('feature_conference_close_sessions_confirm_form'),
 
'access callback' => TRUE,
 ),
}
?>

Dans ce formulaire il vous faut utiliser la fonction confirm_form() (http://api.drupal.org/api/function/confirm_form/6) pour obtenir la page de confirmation.

<?php
/**
 * Confirmation form before closing sessions.
 */
function feature_conference_close_sessions_confirm_form(&#038;$form_state) {
 
$form = array();
 
$desc = "Les votes ne seront plus possibles.";
 return
confirm_form($form, "Êtes-vous sûr de vouloir clore les votes ?",
 
"<front>", $desc);
}
?>

Ensuite on retombe dans le fonctionnement classique des formulaires, il suffit de faire le traitement des données dans la fonction de submit du formulaire.

<?php
/**
 * Close votes on sessions, send email to rejected contributions' authors
 */
function feature_conference_close_sessions_confirm_form_submit($form, &#038;$form_state) {
 // Set a variable to status closed
 
variable_set('feature_conference_status', 'closed');
 
drupal_set_message("Les votes sur les sessions sont maintenant clos.");
 
drupal_goto('<front>');
}
?>

Et nous voilà avec un formulaire de confirmation fonctionnel. Le cas d’usage est simple, si vous souhaitez faire une action plus avancée comme par exemple clore une session précise, il faut que vous passiez les données dans le formulaire de confirmation via un ou plusieurs arguments à l’url de traitement car le fait d’effectuer une redirection entraine la perte des données soumise par le formulaire principal.

Par kgaut
Kevin Gautreau

Bien débuter avec Drupal

Remise à jour de l'article de mon ancien blog.

Logo Drupal

Drupal est un CMS (Content Management System) beaucoup plus puissant et souple que ses concurrents (joomla, CMS Made Simple, wordpress et compagnie).

Même s'il faut un peu plus de temps pour se mettre dedans, au final vous pouvez vraiment en faire ce que vous voulez.

Un exemple : Sous Joomla, le contenu est formaté : un article est (en gros) composé d'un titre et d'un contenu. Sous Drupal, avec l'extension CCK (Content Construction Kit) vous pouvez créer les contenus de la forme que vous voulez avec les éléments que vous voulez. Ici, si vous allez sur la page réalisations, vous verrez des contenus composés d’un titre, d’un screenshot, d’une date de mise en ligne…

Plus d’informations sur CCK : http://www.lektum.info/2009/05/15/mon-guide-drupal-3-construire-les-contenus-avec-drupal/

CCK est tellement populaire qu’il sera intégré par default dans la prochaine version de Drupal, la 7 devant sortir cet été.

Aussi Drupal est multi-sites, c’est-à-dire que depuis le même dossier sur votre serveur, vous pouvez faire tourner autant de sites que vous le voulez. Les dossiers de modules, de thèmes étant partagés pas besoin d’appliquer une mise à jour sur 36 sites différents.

Plus d’informations sur le multi-sites : http://www.lektum.info/2009/02/24/installer-une-plateforme-multi-sites-avec-drupal/

Un truc, plutôt que vous lancer la tête baissée dans la bestiole, je vous recommande sérieusement la lecture du livre « Concevoir et déployer ses sites web avec Drupal » écrit par Yoran Brault qui est la référence en livre francophone sur Drupal.

D’autres liens en vrac :

Tags: 

Pages