Planète

Par admin

Crash du site

Bonjour à toutes et à tous,

comme vous avez pu le constater le site a été inactif pendant plusieurs jours.
Il se trouve que le serveur hébergeant le site a crashé et que les disques durs ont été endommagés.

Les admins ont pu récupérer les données et remonter l'infra.
Tous les services ne sont pas encore revenus mais l'essentiel est là.

Bonne journée à tous et n'oubliez pas on se retrouve au Drupal Camp Soleil les 24 et 25 mai 2014 à Montpellier.

Par hellosct1

Les stands PHP au salon solutions linux 2014

Le salon « solutions linux » va se dérouler le 20 et 21 mai 2014 au Cnit à Paris. Et de nombreuses sociétés Open source seront présentes, ainsi que de nombreux acteurs du langage PHP.

Linux_2014_150x150.gif

Au niveau du village associatif, le langage PHP sera aussi représenté avec les associations comme Dolibar, AFUP (Association Française des Utilisateurs de PHP), Drupal, GLPI...

Pour ma part, je vais m'occuper des stands AFUP et Drupal, situé sur les stands B41 et B39, mais aussi de nombreuses acteurs de ces communautés seront présents pour répondre à toutes vos questions et bien sur parler de CMS ou encore du langage PHP.

N'hésitez pas à venir nous rencontrer pendant ces 2 jours.

C'est pourquoi sans plus attendre, il faut vous inscrire gratuitement sur le stand du salon linux pour venir nous voir.

Le salon Solutions Linux qui se déroule du 20 et 21 mai 2014

Par Marc Delnatte
Akabia

Drupal 8 : Le Responsive Design

Définition :

Le terme responsive design a été créé par Ethan Marcotte. Il désigne un ensemble de techniques (grille fluide, images flexibles, medias queries CSS3), il est fortement associé aux feuilles de style CSS3.







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

Blue Drop Awards : 2 sites made in Mantalo nominés

Blue Drop Awards, c'est quoi ?

Blue Drop Awards est une initiative communautaire indépendante initiée en 2012 et animée par une collaboration bénévole entre acteurs de la communauté internationale DrupalL'événement est soutenu par Drupal Association, mais ne revêt aucun caractère officiel en lien avec la marque Drupal déposée par Dries Buytaert.

Blue Drop Awards, pourquoi ?

Le concours souhaite permettre aux parties prenantes impliquées dans un projet Drupal de se reconnaître et d'être reconnues pour leur capacité à optimiser ou à enrichir les potentiels qu'offre Drupal en tant que système de gestion de contenu Open Source.

Qui peut concourir ?

Tout le monde peut soumettre un site développé sous Drupal au comité de sélection qui statue sur sa recevabilité.

Quels critères ?

Les finalistes sont sélectionnés par le Comité de remise des prix Blue Drop sur les critères suivants :

  • Innovation,
  • Respect des bonnes pratiques,
  • Structure du contenu,
  • Ergonomie de navigation,
  • Conception visuelle,
  • Fonctionnalités,
  • Expérience utilisateur globale.

2 sites créés par Mantalo parmi les nominés

C'est par twitter que nous avons appris la nomination des C'est sur twitter que nous avons appris que 2 de nos sites avaient été nominés !!! Nous n'avons en effet entrepris aucune démarche particulière, et nous sommes d'autant plus ravis de constater que notre travail ait pu être apprécié comme valorisant pour la communauté Drupal... Thank you guys !

Quand connaitra-t-on les gagnants ?

Le vote sera ouvert au public sur le site BlueDropAwards.org à partir de la liste des finalistes : 
  1. Pré-sélection des candidatures :  du 7 au 21 Avril
  2. Confirmation des candidatures :  du 22 au 28 Avril
  3. Sélection des finalistes par le Comité des prix Blue Drop : du 29 Avril au 4 Mai
  4. Vote du public sur liste des finalistes : du 5 au 19 mai
  5. Le vote se termine le 19 mai minuit CST
  6. Cérémonie DrupalCon Austin, Texas:  4 Juin

Que du positif pour la communauté Drupal !

Les Blue Drop Awards contribueront à la visibilité de la communauté Drupal sur 3 axes :
  • Les Blue Drop Awards font du buzz en dehors de la communauté Drupal... Drupal s'exposant peu aux médias en dépit du très grand nombre de sites prestigieux qui l'utilisent.
  • Les Blue Drop Awards apportent une visibilité aux candidats, aux finalistes, et aux vainqueurs, et une reconnaissance envers la communauté Drupal.
  • Les Blue Drop Awards valorisent une vitrine de projets Drupal primés, ouvrant ainsi la perspective pour tous les porteurs de projets qui se sentent limités dans leurs options créatives !

Tags: 

Pour voir nos 2 sites nominés, rendez vous sur Terroir et vin du Périgord et sur Artisans du foie gras !

Vous aussi avez décidé de professionnaliser vos relations avec votre prestataire Web ? Contactez nous !

Par admin

Présence DrupalFR à Solutions Linux 2014

Le salon "SOLUTIONS LINUX" 2013 se déroule le 20 et 21 mai 2014 au CNIT / La défense.

L'Association Drupal France et Francophonie (DRUPALFR) sera sur le stand B39 dans la partie village associatif et recherche des bonnes volontés pour venir nous aider à tenir le stand pour parler de Drupal et aussi venir nous voir.

  • Si vous souhaitez venir nous rendre visite, vous serez les bienvenus.
  • Si vous voulez tenir le stand avec moi, merci de me contacter en m'indiquant vos disponibilités (par demi journée)

Exemple :

  • Christophe Villeneuve
  • Contact : http://drupalfr.org/profil/hellosct1
  • Stand : matin 20 mai (à partir de 9h)

Il faut en parallèle qu'on parle des matériels!!! Discute-on!

À bientôt!

La page DRUPAL :

http://www.solutionslinux.fr/exposant_154_3498_p.html?eid=875

Planning de présence

Nom 20 mai matin 20 mai AM 21 mai matin 21 mai AM
hellosct1 oui
fgm oui

Horaire du salon

  • Mardi 20 mai 2013 : 9h00-19h00
  • Mercredi 21 mai 2013 : 9h00-18h00

Lieu du salon

  • Le CNIT Paris la Défense
  • Hall Marie Curie

Demander un badge pour entrée

http://www.solutionslinux.fr/preinscription.html

Responsable et contact pour le stand :

Christophe Villeneuve

Plus nous serons nombreux, moins de temps vous serez bloqué.

Pour compléter le planning, merci de poster un message dans les commentaires ou m'envoyer directement un message. Merci

Drupal8 : autopsie d’un module de création de page

image

Téléchargement de Drupal8 et nouvelle arborescence

Après téléchargement de la dernière version de Drupal, vous constaterez déjà de gros changements dans l’arborescence.

image

En effet, un dossier “core” a été ajouté. Cela permet d’éviter aux débutants d’ajouter par mégarde des modules contribués parmi ceux du core. On retrouvera donc dans notre dossier core, les modules et thèmes du coeur de Drupal.

Mais où doit-on ajouter nos modules contribués ? Cela se passe dans le répertoire “modules” à la racine. Comme le recommande Drupal, nous vous conseillons de créer deux sous-répertoires :

  • contrib (contiendra les modules téléchargés depuis Drupal.org)
  • custom (contiendra les modules personnalisés que vous développerez)

Nous gérons nos thèmes personnalisés depuis le répertoire “themes” également à la racine.

Qu’en est-il du fichier de configuration pour relier notre site Drupal à sa base de données ? Et bien nous retrouvons nos habitudes : sites/default/settings.php.

Installation et activation du module salutation

  1. Commencez par récupérer le module “salutation” depuis notre dépôt github
  2. Placez le module “salutation” dans le répertoire modules/custom de votre Drupal. Puis allez activer le module depuis le backoffice de Drupal en cliquant sur ”Extend” (anciennement modules).

Une fois activé, un nouvel item s’ajoute au menu principal : “Salutation - basic page” (http://d8.dev/salutation_page).

image

Nous avons également testé l’ajout de sections à la page de configuration principale (http://d8.dev/admin/config).

image

image

Les fichiers à la loupe

image

Nous allons commencer par parler de la nouvelle extension utilisée dans Drupal8 mais également dans d’autres Framework et CMS : YAML (.yml). Ce format est assez strict en termes d’indentations (La tabulation doit être remplacée par deux espaces). Après un petit temps d’adaptation vous ne pourrez plus vous en passer.

salutation.info.yml

Nous allons regarder plus en détail le fichier salutation.info.yml :

name: Salutation
type: module
description: An example of custum module.
package: Custom modules
core: 8.x

Anciennement nommé avec l’extension .info, ce fichier est toujours obligatoire afin de créer un module sur Drupal8.

On y retrouve comme champs obligatoires :

  • name
  • type (module ou theme)
  • description
  • package
  • core

salutation.routing.yml

Restons dans les fichiers .yml avec salutation.routing.yml :

salutation.admin_config_be:
  path: '/admin/config/be'
  defaults:
    _content: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
    _title: 'BelleEpoque section title'
  requirements:
    _permission: 'access administration pages'
salutation.admin_config_be_besub:
  path: '/admin/config/be/besub'
  defaults:
    _content: '\Drupal\salutation\Controller\SalutationController::salutationAdminPage'
    _title: 'Salutation admin page title'
  requirements:
    _permission: 'access administration pages'
salutation.salutation_page:
  path: '/salutation_page'
  defaults:
    _content: '\Drupal\salutation\Controller\SalutationController::salutationPage'
    _title: 'Salutation page title'
  requirements:
    _access: 'TRUE'

Ce fichier est nouveau dans Drupal8 et remplace la partie propre au routage qui était gérée auparavant dans le hook_menu.

Vous voyez clairement le rôle de l’indentation dans ce fichier. Pour rappel, vous devez utiliser deux espaces à la place de la tabulation classique.

On y voit trois déclarations de route :

  • salutation.admin_config_be
  • salutation.admin_config_be_besub
  • salutation.admin_page

Ces trois « noms machines » permettent d’identifier une route de manière unique. Par convention, ils commencent par le nom du module suivi d’un point puis un nom qui doivent donner du contexte à cette route. Par exemple, j’ai choisi de reprendre le « path » générique en remplaçant les « / » par des « _ ».

Le path désigne la route pour accéder à la page. Elle commence par un slash (/) et est entre quote (”).

Puis dans defaults, on retrouve :

  • « _content » : C’est le chemin d’accès vers le controller::actionAExecuter
  • « _title » : Titre de la page

Enfin la section “requirements”  permet de définir les règles d’accès à appliquer à la page en question.

Mais que font ces trois routes ?

  1. salutation.admin_config_be permet d’ajouter une section propre à notre module. Cette section apparait seulement si cette dernière compte au moins une page rattachée. Nous la voyons à cette adresse : /admin/config
  2. salutation.admin_config_be_besub est une page d’administration (pour le moment juste une page avec un peu de contenu textuel) qui est rattachée à notre section salutation.admin_config_be.
  3. salutation.admin_page est une page visible par tous les internautes (_access à true pour cette démonstration).

salutation.module

Avant de passer à l’explication du controller, visualisons le fichier salutation.module :

<?php

/**
* Implements hook_menu_link_defaults().
*
* Routing functionality of hook_menu() has been replaced by new routing system:
* <a href="https://drupal.org/node/1800686">https://drupal.org/node/1800686</a>
*/
function salutation_menu_link_defaults() {
  // Basic page on "main" menu.
  $links['salutation.basic_page'] = array(
    'link_title' =&gt; 'Salutation - Basic page',
    'description' =&gt; '',
    'route_name' =&gt; 'salutation.salutation_page',
    'menu_name' =&gt; 'main',
  );

  // Add new section (admin/config path) with an other basic page.
  $links['salutation.admin.be'] = array(
    'link_title' =&gt; 'BelleEpoque section block title',
    'description' =&gt; 'BelleEpoque section block description.',
    'route_name' =&gt; 'salutation.admin_config_be',
    'parent' =&gt; 'system.admin.config',
  );
  $links['salutation.admin.be.besub'] = array(
    'link_title' =&gt; 'BelleEpoque page menu title',
    'description' =&gt; 'BelleEpoque page menu description.',
    'route_name' =&gt; 'salutation.admin_config_be_besub',
    'parent' =&gt; 'salutation.admin.be',
  );

  return $links;
}

Ce dernier est identique à celui sur Drupal7 mais quelques hooks changent comme le hook_menu() qui disparaît pour laisser place au hook_menu_link_defaults().

Ce dernier se concentre sur la déclaration des items de menus car le routage (déclaration des chemins d’accès) est géré dans le fichier salutation.routing.yml.

Entre crochet, on retrouve le nom machine de l’item de menu qu’il ne faut pas confondre avec le nom machine du chemin d’accès déclaré depuis route_name.

Programmation Orientée Objet

Nous arrivons maintenant à la partie Orientée Objet de cet article. Vous allez voir, cela passe tout seul.

Par convention, nos controllers seront dans un dossier controller mais ce dernier n’est pas n’importe où. Encore une fois, il faut respecter les conventions :

Il faut créer cette arborescence : lib/Drupal/[nommodule]/Controller

image

&lt;?php

/**
* @file
* Contains \Drupal\salutation\Controller\SalutationController.
*/

namespace Drupal\salutation\Controller;

use Drupal\Core\Controller\ControllerBase;

/**
* Controller routines for block example routes.
*/
class SalutationController extends ControllerBase {
  /**
   * A simple controller method to explain what the block example is about.
   */
  public function salutationPage() {
    $build = array(
      '#markup' =&gt; t('My first custom page!'),
    );

    return $build;
  }

  /**
   * Admin page.
   *
   * Todo: add form on this page.
   */
  public function salutationAdminPage() {
    $build = array(
      '#markup' =&gt; t('My first custom admin page!'),
    );

    return $build;
  }

}

La classe SalutationController étend ControllerBase (localisée grâce au mot clé use et du chemin Drupal\Core\Controller\ControllerBase).

On y retrouve deux fonctions que vous allez reconnaître. Au niveau de la structure on retrouve Form API référence. Pour rappel, chaque fonction est associée à une route spécifique dans le fichier salutation.routing.yml (voir les lignes “_content”).

Vers l’infini et au delà

image

Nous venons de voir ensemble la nouvelle structure d’un module Drupal8. La standardisation des composants avec l’adoption du YAML et l’utilisation de classes (POO) pour créer des pages, va très certainement améliorer la montée rapide en compétence de nouveaux développeurs Drupal et stimuler l’activité de la communauté.

Nous vous retrouverons très prochainement pour de nouvelles aventures (module de création de blocks, formulaires, etc.).

En attendant, vous pouvez télécharger le module salutation depuis notre dépôt Github.

Par Marc Delnatte
Akabia

Drupal ou Wordpress ? Quel CMS choisir pour son site internet ?

Drupal et Wordpress sont deux CMS Open Source puissants et gratuits qui permettent tous deux de réaliser tout type de site internet : blog, site vitrine, e-commerce, intranet mais aussi des sites multilangues.







Par Marc Delnatte
Akabia

Gérer la configuration dans Drupal 8

Drupal 8 va arriver avec une toute nouvelle façon de gérer la configuration au sens large : les modules, les champs et même des informations comme le nom du site. Toutes ses informations, autrefois stockées en base de données dans drupal 7, seront désormais stockées dans fichier YAML (.yml) qui ne seront rien d’autre que de simples fichiers textes.







Par Marc Delnatte
Akabia

Retrouvez-nous au Nord It Days

L'agence Akabia est heureuse de vous retrouver le jeudi 17 avril prochain, lors de la 6ème édition des Nord IT DAYS, l'événement numérique incontournable de la région Nord-Pas-de-Calais.







Par GoZ
Fabien CLEMENT

Ajouter une propriété à une entitée

Je souhaitais pouvoir ajouter une propriété à une entité. Certainement fatigué au moment où j'ai pensé qu'il était indispensable de faire cela, j'ai bossé dessus une paire d'heures avant de me rendre compte, au moment où tout fonctionnait... que je n'en avais pas besoin finalement...

Histoire que ce ne soit pas perdu, je vais tout de même récapituler ce qu'il faut faire ici.

en lire plus

Par fgm@drupal.org
Frédéric G. Marand

Standardisation PHP : le groupe PHP-FIG et les standards PSR

Avec la montée progressive en niveau d'exigence des projets PHP, notamment dans les projets en entreprise comme les extranets et applications spécifiques, le rôle des frameworks et CMS devient prééminent et, avec leur poids, le besoin de coopérer sans devoir réinventer la roue dans chaque silo technologique: Symfony, Zend Framework, Drupal, et tous les autres.

Depuis 2009, le groupe PHP-FIG s'est fondé pour favoriser l'interopérabilité entre tous ces frameworks, CMS et grandes applications en définissant des standards permettant aux projets d'utiliser des composants à l'interface standardisée pour favoriser le mix and match des meilleurs outils dans chaque environnement. Parmi ces standards:

en lire plus

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
Benjamin Grapeloux
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
Benjamin Grapeloux
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 hellosct1

Rendez-vous en conférence avec @afup_paris

L'AFUP Paris est l'antenne Parisienne de l'Association Française des Utilisateurs de PHP (AFUP). Le fonctionnement de celle-ci est d'alterné les apéros PHP et les rendez-vous.

Le 2 avril 2014, salle Spark (Paris), nous organisations un rendez-vous sous le thème : 'Intéropérabilité des frameworks PHP'.

Le programme de cette soirée :

  • Ouverture des portes à 18h30
  • 1ere présentation : les containers d’injection par David Négrier de The Coding Machine
  • 2ème présentation : Les efforts de FIG par Frédéric Marand de Osinet
  • 3ème présentation : présentation surprise
  • Pot de l’amitié

Alors venez nombreux pour parler de ce sujet et nous voir

J'en profite pour remercier l'ensemble des sites qui ont relayés l'informations : AFUP, AFUP Paris, Toolinux, Linuxfr, Agendadulibre

Bien entendu, vous pouvez toujours vous inscrire à cette soirée à partir du lien suivant : http://afup.org/pages/rendezvous/index.php?id=20

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 hellosct1

AgoraCMS j-30

Dans 30 jours se déroulera AgoraCMS 2014. Cette deuxième édition se déroulera le 25 avril 2014 à Paris à destination de l'ensemble des CMS : Drupal, Wordpress, Typo 3, Joomla, etc...

Ce rendez-vous est ouvert à toutes les personnes qui n’intéresses aux CMS en générales, mais aussi, aux DSI, chefs de projets technique et marketing.

Le thème principal de l'édition 2014 est 'Développez votre audience : du marketing à la technique'.

Le programme vient d'être publié avec 3 salles en parallèle :

  • E-marketing
  • Ergonomie/design
  • Technique

De plus, une salle découverte est en place pour découvrir les possibilités des CMS.

Enfin, les inscriptions sont ouvertes, et il est important de s'inscrire rapidement avant la fermeture du guichet.

Programme de AgoraCMS 2014

Site officiel de AgoraCMS

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 : 

Pages