Planète

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

Makina Corpus à la DrupalCon de Londres !

Makina Corpus confirme son fidèle engagement à Drupal et sponsorise la prochaine DrupalCon qui se tiendra à Londres du 22 au 26 août

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

Makina Corpus recrute !

Afin d'accompagner sa croissance, Makina Corpus recrute et propose encore plus de postes en CDI dans ses agences de France et de Tunisie

Par darkjeff

De Joomla à Drupal : Les modules deviennent des blocs

Passer de Joomla à Drupal

     J'ai proposé à une personne du forum drupalfr.org de l'aider à réaliser son passage de Joomla! vers Drupal en rédigent des articles répondant à ces questions.

Voici la première :

Existe-t-il la possibilité de créer des modules personnalisé avec soit du code HTML, soit du code Php ?

Par Alexeo
Alexeo
Je suis diplômé du Master MONE (E-Business) d'Amiens, ma première expérience dans le web a été dans le SEO, depuis c'est devenu mon expertise. J'ai découvert dans un premier temps Wordpress, puis je suis passé à Joomla et désormais je veux m'attaquer à Drupal.

Référencement site Ham

Faites confiance à Alexeo, le spécialiste du referencement naturel à Ham (80400) dans la Somme (Picardie –FR).

Par vincent59
Vincent Liefooghe

Créer un type de contenu et y attacher des champs

Il est possible via l'IHM de créer un nouveau type de contenu et d'y ajouter des champs. Tout ceci peut également se faire de manière programmatique, par un simple module.

Le module va comporter au moins 2 fichiers : le .info qui décrit le module, et le .module qui comprend le code.

Pour notre démonstration, nous allons créer un module qui permettra de créer des contenus qui seront repris par Views Slideshow par la suite.

Le fichier monslideshow.info est simple :

name = Mon Slideshow
description = [slideshow] Custom Slideshow based on Views Slideshow
package = Custom modules
core = 7.x
version = 7.x-dev-0.7
dependencies[] = views
dependencies[] = link
stylesheets[all][] = vcmslideshow.css

Le type de contenu et les champs seront créés dans le fichier monslideshow.install :

function monslideshow_install () {

// Add Node Type mon_carrousel if it does not exist
 if (!in_array('mon_carrousel', node_type_get_names())) {
    $type = array(
      'type' => 'mon_carrousel',
      'name' => st('Custom Carrousel Accueil'),
      'base' => 'node_content',
      'description' => st('Utiliser Custom Carrousel pour les articles mis en évidence.'),
      'custom' => 1,
      'modified' => 1,
      'locked' => 0 
  	);

    $type = node_type_set_defaults($type);
    node_type_save($type);
    node_add_body_field($type);

// Turn off comments
  variable_set('comment_mon_carrousel', '1');
  variable_set('node_submitted_mon_carrousel', 0);  
  }

// Ajout d'un champ de type Link (apporté par le module link)

  $field = array(
    'field_name' => 'field_lien',
    'type' => 'link_field',
    'cardinality' => 1,
    'locked' => FALSE,
    'indexes' => array(),
    'settings' => array(
        'attributes' => array(
          'class' => '',
          'rel' => '',
          'target' => 'default',
        ),
        'display' => array(
          'url_cutoff' => 80,
        ),
        'enable_tokens' => 1,
        'title' => 'optional',
        'title_maxlength' => 128,
        'title_value' => '',
        'url' => 0,    ),
    'storage' => array(
      'type' => 'field_sql_storage',
      'settings' => array(),
    ),
  );
  field_create_field($field);
 
// On attache ensuite au type de contenu mon_carrousel

  $instance = array (
    'field_name' => 'field_lien',
    'entity_type' => 'node',
    'label' => 'Lien',
    'bundle' => 'mon_carrousel',
    'description' => st('Lien vers la page.'),
    'required' => FALSE,
    'settings' => array(
        'attributes' => array(
          'class' => '',
          'configurable_title' => 0,
          'rel' => '',
          'target' => 'default',
          'title' => '',
        ),
        'display' => array(
          'url_cutoff' => '80',
        ),
        'enable_tokens' => 1,
        'title' => 'optional',
        'title_maxlength' => '128',
        'title_value' => '',
        'url' => 0,
        'user_register_form' => FALSE,
        'validate_url' => 1,
      ),
      'widget' => array(
        'active' => 0,
        'module' => 'link',
        'settings' => array(),
        'type' => 'link_field',
        'weight' => '32',
      )
      
  );
 
  field_create_instance($instance);



}

Catégorie: 


Tag: 

Par vincent59
Vincent Liefooghe

Développement de modules

L'une des grandes force de Drupal est d'être un mélange entre le CMS pur souche et la plate-forme de construction (CMF = Content Management Framework).

Il a été conçu de base pour être étendu, via ses mécanismes de <em>hooks</em>, et ses nombreuses API documentées (cf . http://api.drupal.org/api/drupal).

De plus il dispose d'une base importante de modules "contribués", qui permettent d'étendre les fonctionnalités. Mais parfois, les besoins d'un projet sont tellement spécifiques qu'il est nécessaire de développer un module. Dans ce cas, il est important, pour permettre une intégration optimale, de respecter certaines règles : utilisation des API (encore elles), des fonctions Drupal (notamment pour les accès à la base de données), et des bonnes pratiques de codage.

On peut se reposer sur une documentation bien fournie, que ce soit en ligne (https://drupal.org/documentation/develop), ou via des livres, par exemple chez Apress http://www.drupalbook.com/ ou Packt publishing : http://www.packtpub.com/drupal-7-module-development/book.

Depuis la V7, les Entities permettent d'ajouter des champs à tout contenu spécifique ce qui étend encore un peu plus les possibilités.

Bref, il y a pas mal de choses à faire...

Catégorie: 


Tag: 

Par vincent59
Vincent Liefooghe

Performances Drupal

Drupal est généralement basé sur une plate-forme LAMP (Linux / Apache / MySQL / PHP), même si on peut au final changer la majorité des couches, sauf le PHP.

Plusieurs options sont donc possibles pour améliorer les performances, qui peuvent parfois être calamiteuses sur un serveur mal dimensionné :

  • O.S. (méme si c'est souvent en dernier recours qu'on va faire le tuning à ce niveau)
  • Serveur http : Apache n'est pas le plus rapide, mais il est le plus courant
  • Base de données : l'optimisation de la base MySQL est l'un des gros facteurs de gains
  • PHP : le mode de fonctionnement et l'ajout d'un OpCode permettent de gagner encore.

 

Catégorie: 


Tag: 

Par admin

Drupal Lyon - jeudi 21 février : REX déploiement de sites et travail en équipe

Jeudi 21février, notre réunion-conférence Drupal portera sur le sujet suivant :

  • "Retour d'expérience sur le déploiement de sites et le travail en équipe" par Nicolas

  • REX par Laetitia et ceux qui voudront en parler

Vous pourrez aussi intervenir pendant les échanges de questions et expériences.

Lieu : Ecole Epitech, 86 Bd Vivier Merle, 96003 Lyon (8 minutes à pied de la gare de la Part-Dieu).

Heure ; 19 h. Arrivez bien à l'heure pour que les élèves puissent vous guider. Merci.

Pour la bonne organisation de la réunion, inscrivez-vous svp sur http://www.meetup.com/drupal-france-francophonie/events/102990082/ !

Réunions suivantes :

  • 21 mars : Optimisation des performances par Aurélien
  • Avril : Altération du comportement du Core par David + Atelier Dépannage
  • Mai : Applications mobiles et Drupal par Stéphane
  • Juin : Drupal 8 par Léon
Par Alexeo
Alexeo
Je suis diplômé du Master MONE (E-Business) d'Amiens, ma première expérience dans le web a été dans le SEO, depuis c'est devenu mon expertise. J'ai découvert dans un premier temps Wordpress, puis je suis passé à Joomla et désormais je veux m'attaquer à Drupal.

Référencement site Guise

Découvrez comment améliorer le positionnement de votre site web avec Alexeo, le spécialiste du référencement naturel à Guise (02100 - Aisne) en Picardie.

Par bisonbleu

Views | Comment additionner toutes les valeurs pour un champ entier

Voici un petit truc fort sympathique et que je considère être des plus utiles.

Le cas d'usage - J'ai un type de contenu (tdc) que j'ai personnalisé pour des garderies. Grâce à ce tdc, les proprios peuvent entre autres choses annoncer le nombre de places disponibles dans leur établissement. La création d'une liste de garderies affichant leurs disponibilités est relativement aisée. Mais qu'en est-il de la possibilité d'afficher le nombre total des places disponibles pour l'ensemble des garderies apparaissant dans la liste? Autrement dit, comment faire pour additionner les valeurs d'un champ 'places disponibles' et présenter le résultat dans un bloc?

Share page with AddThis
Par bisonbleu

Views | Comment additionner toutes les valeurs pour un champ entier

Voici un petit truc fort sympathique et que je considère être des plus utiles.

Le cas d'usage - J'ai un type de contenu (tdc) que j'ai personnalisé pour des garderies. Grâce à ce tdc, les proprios peuvent entre autres choses annoncer le nombre de places disponibles dans leur établissement. La création d'une liste de garderies affichant leurs disponibilités est relativement aisée. Mais qu'en est-il de la possibilité d'afficher le nombre total des places disponibles pour l'ensemble des garderies apparaissant dans la liste? Autrement dit, comment faire pour additionner les valeurs d'un champ 'places disponibles' et présenter le résultat dans un bloc?

Share page with AddThis
Par bisonbleu

Views | Comment additionner toutes les valeurs pour un champ entier

Voici un petit truc fort sympathique et que je considère être des plus utiles.

Le cas d'usage - J'ai un type de contenu (tdc) que j'ai personnalisé pour des garderies. Grâce à ce tdc, les proprios peuvent entre autres choses annoncer le nombre de places disponibles dans leur établissement. La création d'une liste de garderies affichant leurs disponibilités est relativement aisée. Mais qu'en est-il de la possibilité d'afficher le nombre total des places disponibles pour l'ensemble des garderies apparaissant dans la liste? Autrement dit, comment faire pour additionner les valeurs d'un champ 'places disponibles' et présenter le résultat dans un bloc?

Par bisonbleu

How to count or add all values for an integer field in Views

Views | Comment additionner toutes les valeurs pour un champ entier

Voici un petit truc fort sympathique et que je considère être des plus utiles.

Le cas d'usage - J'ai un type de contenu (tdc) que j'ai personnalisé pour des garderies. Grâce à ce tdc, les proprios peuvent entre autres choses annoncer le nombre de places disponibles dans leur établissement. La création d'une liste de garderies affichant leurs disponibilités est relativement aisée. Mais qu'en est-il de la possibilité d'afficher le nombre total des places disponibles pour l'ensemble des garderies apparaissant dans la liste? Autrement dit, comment faire pour additionner les valeurs d'un champ 'places disponibles' et présenter le résultat dans un bloc?

ren.admin
mar 29/01/2013 - 08:49

Par Alexeo
Alexeo
Je suis diplômé du Master MONE (E-Business) d'Amiens, ma première expérience dans le web a été dans le SEO, depuis c'est devenu mon expertise. J'ai découvert dans un premier temps Wordpress, puis je suis passé à Joomla et désormais je veux m'attaquer à Drupal.

Creation site web

Découvrez comment créer simplement et rapidement un site web avec Alexeo, votre spécialiste du web à Saint-Quentin (02100).

Par darkjeff

Modules indispensable pour l'administration

Simpliez l'administration de Drupal

     Notre beau CMS Drupal n'a pas d'interface d'administration indépendante de site qui est présenté aux visiteurs. Voici quelques modules qui vont vous rendre l'interface plus utilisable. 

Pages