Lesbazeilles.com http://www.lesbazeilles.com Drupal et autres joyeusetés Fri, 17 Oct 2014 16:03:11 +0000 fr-FR hourly 1 https://wordpress.org/?v=4.9.8 Apache Solr sur Drupal : Ajouter un champ (field) dans l’index http://www.lesbazeilles.com/2011/05/apachesolrajouter-un-champ-dynamique/ Mon, 30 May 2011 15:23:27 +0000 http://www.lesbazeilles.com/?p=287 Apache SolrApache Solr avec le module de Apache Solr Search Integration sous Drupal permet à votre site d’avoir un moteur de recherche ultra-performant (le moteur de recherche par défaut de Drupal utilise massivement la base de données, ce qui nuit à la performance du site).

Vous pouvez accéder à Solr avec vos modules customs afin d’affiner vos recherches ou intégrer des filtres provenant de données externe à Drupal (exemple : une table extérieure au schéma de Drupal).

Cas pratique : sur chaque node indexées, vous voulez rajouter les champs xxx et yyy

Il faut d’abord indiquer à Solr que de nouveau champs sont ajoutés.

Pour cela nous allons les ajouter lorsque Drupal met à jour l’index (via le cron).
Voilà les champs que j’ai voulu ajouter : le champ xxx qui ne peut contenir une seule valeur boolean : True ou False
et yyy qui a plusieurs valeurs (de type string : « un », « deux »….).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function exemple_apachesolr_update_index(&$documentoSolr, $node) {
//Ajout du champs xxx
//code pour determiner la valeur de xxx
$valeur_xxx='true'; //ou false
//...
$documentoSolr->setField('bs_xxx', 'true');
 
//Ajout du champ yyy
//code pour determiner les valeur de yyy
$valeurs_yyy=array("un","deux","trois");
//...
//pour lire le tableau rajouter un for ou while
$documentoSolr->addField('sm_yyy',  $valeurs_yyy[0]);
$documentoSolr->addField('sm_yyy',  $valeurs_yyy[1]);
$documentoSolr->addField('sm_yyy',  $valeurs_yyy[2]);
}

N’oubliez pas de re-indexer votre contenu via l’interface d’Apache Solr Search Integration

Vous remarquerez qu’on ne peut pas écrire les noms des champ librement : xxx devient bs_xxx et yyy devient sm_yyy

Les champs doivent obéir à la définition que l’on trouve dans le fichier schema.xml :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<dynamicField name="is_*" type="integer" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="im_*" type="integer" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="sis_*" type="sint" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="sim_*" type="sint" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="sm_*" type="string" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="tm_*" type="text" indexed="true" stored="true" multiValued="true" termVectors="true"/>
<dynamicField name="ss_*" type="string" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="ts_*" type="text" indexed="true" stored="true" multiValued="false" termVectors="true"/>
<dynamicField name="tsen2k_*" type="edge_n2_kw_text" indexed="true" stored="true" multiValued="false" omitNorms="true" omitTermFreqAndPositions="true"/>
<dynamicField name="ds_*" type="date" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="dm_*" type="date" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="tds_*" type="tdate" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="tdm_*" type="tdate" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="bm_*" type="boolean" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="bs_*" type="boolean" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="fs_*" type="sfloat" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="fm_*" type="sfloat" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="ps_*" type="sdouble" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="pm_*" type="sdouble" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="tis_*" type="tint" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="tim_*" type="tint" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="tls_*" type="tlong" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="tlm_*" type="tlong" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="tfs_*" type="tfloat" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="tfm_*" type="tfloat" indexed="true" stored="true" multiValued="true"/>
<dynamicField name="tps_*" type="tdouble" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="tpm_*" type="tdouble" indexed="true" stored="true" multiValued="true"/> 
<dynamicField name="sort_ss_*" type="sortString" indexed="true" stored="false"/><copyField source="ss_*" dest="sort_ss_*"/> 
<dynamicField name="random_*" type="rand" indexed="true" stored="true"/> 
<dynamicField name="nodeaccess*" type="integer" indexed="true" stored="false" multiValued="true"/>

Pas très pratique….
Heureusement la fonction apachesolr_index_key est là pour vous aider à trouver le bon nom des variables :

1
2
3
4
5
6
7
8
9
10
11
$var_xxx = apachesolr_index_key (array(
'name' =>'xxx',
'multiple' => FALSE,
'index_type' => 'boolean',
));  //retourne 'bs_xxx
 
$var_yyy = apachesolr_index_key (array(
'name' => 'yyy',
'multiple' => TRUE,
'index_type' =>'string',
)); //retourne sm_yyy

La fonction devient :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function exemple_apachesolr_update_index(&$documentoSolr, $node) {
//Ajout du champs xxx
//code pour determiner la valeur de xxx
$valeur_xxx='true'; //ou false
//Détermine le nom de la variable a donner 
//Bonne pratique :  ces lignes doivent être sortie de la fonction 
$var_xxx = apachesolr_index_key (array(
'name' => 'xxx',
'multiple' => FALSE,
'index_type' => 'boolean',
));  //retourne 'bs_xxx
 
$documentoSolr->setField($var_xxx, 'true');
 
//Ajout du champ yyy
//code pour determiner les valeur de yyy
$valeurs_yyy=array("un","deux","trois");
//Détermine le nom de la variable a donner 
//Bonne pratique :  ces lignes doivent être sortie de la fonction 
//...
$var_yyy = apachesolr_index_key (array(
'name' => 'yyy',
'multiple' => TRUE,
'index_type' => 'string',
)); //retourne sm_yyy
//pour lire le tableau rajouter un for ou while
$documentoSolr->addField($var_yyy,  $valeurs_yyy[0]);
$documentoSolr->addField($var_yyy,  $valeurs_yyy[1]);
$documentoSolr->addField($var_yyy,  $valeurs_yyy[2]);
}

Voilà les 2 champs bs_xxx et sm_yyy viennent d’être ajouté dans l’index de Solr.

Maintenant il y a des plusieurs de façons d’exploiter ces champs dans le resultat de recherche :

Exemple 1 :

Vous ne voulez afficher que les résulats dont bs_xxx est à True (autrement dit : jamais afficher les bs_xxx dont la valeur est False).

Pour cela on va ajouter modifier la requete envoyé a apache :

1
2
3
 function exemple_apachesolr_modify_query(&$query, &$params, $caller) {
   $query->add_filter('bs_xxx','true');
}

Exemple 2 :
Vous voulez que sur l’interface de recherche les gens puissse trier les résultats par bs_xxxx.

1
2
3
4
5
6
7
function exemple_apachesolr_prepare_query(&$query, &$params) {
  $query->set_available_sort('bs_xxx', array(
    'title' => t('Le nom que vous voulez'),
    'default' => 'asc',  
  ));
 
}

Dans un prochain billet j’expliquerais comment faire un bloc de filtre (facet) avec le champ yyy.

]]>
Drupal 7 sur Online et les erreurs 500 http://www.lesbazeilles.com/2010/12/drupal-7-sur-online-et-les-erreurs-500/ http://www.lesbazeilles.com/2010/12/drupal-7-sur-online-et-les-erreurs-500/#comments Fri, 03 Dec 2010 09:38:21 +0000 http://www.lesbazeilles.com/?p=275 Hello gens,

Drupal 7 vient de sortir en RC  (RC = release candidate, cela veut dire que c’est finalisé mais on lance un pré-version pour les  tests les dernières minutes)

Téléchargement sur drupal.org
La traduction est sur le serveur de traduction ( renommer le fichier de la traduction en fr.po et placez le dans le répertoire /profiles/standard/translations)

Évidement Online va nous poser des problèmes avec les  .htaccess
J’ai fait des articles pour installer Drupal 6 sur online , je ne vais pas re-expliquer ici tout les problème que cela pose, mais pour résumer Online a déactivé des directives dans Apache, ce qui peut poser des erreurs avec Drupal.

voici mon fichier .htaccess pour Drupal 7 :

?View Code APACHE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#
# Apache/PHP/Drupal settings:
#
#Ajout de PHP5 pour les serveurs Online.net
#important
#PHP5
AddType application/x-httpd-php5 .php
 
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
  Order allow,deny
</FilesMatch>
 
# Don't show directory listings for URLs which map to a directory.
# Directive non supporté par Online.net
# Options -Indexes
IndexOptions -Indexes
 
# Follow symbolic links in this directory.
# Directive non supporté par Online.net
#Options +FollowSymLinks
 
# Multiviews creates problems with aliased URLs and is not needed for Drupal.
# Directive non supporté par Online.net
# Options -Multiviews
 
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
 
# Force simple error message for requests for non-existent favicon.ico.
<Files favicon.ico>
  # There is no end quote below, for compatibility with Apache 1.3.
  ErrorDocument 404 "The requested file favicon.ico was not found."
</Files>
 
# Set the default handler.
DirectoryIndex index.php index.html index.htm
 
# Override PHP settings that cannot be changed at runtime. See
# sites/default/default.settings.php and drupal_initialize_variables() in
# includes/bootstrap.inc for settings that can be changed at runtime.
 
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_flag magic_quotes_gpc                 off
  php_flag magic_quotes_sybase              off
  php_flag register_globals                 off
  php_flag session.auto_start               off
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_flag mbstring.encoding_translation    off
</IfModule>
 
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
  # Enable expirations.
  ExpiresActive On
 
  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600
 
  <FilesMatch \.php$>
    # Do not allow PHP scripts to be cached unless they explicitly send cache
    # headers themselves. Otherwise all scripts would have to overwrite the
    # headers set by mod_expires if they want another caching behavior. This may
    # fail if an error occurs early in the bootstrap process, and it may cause
    # problems if a non-Drupal PHP file is installed in a subdirectory.
    ExpiresActive Off
  </FilesMatch>
</IfModule>
 
# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on
 
  # Block access to "hidden" directories whose names begin with a period. This
  # includes directories used by version control systems such as Subversion or
  # Git to store control files. Files whose names begin with a period, as well
  # as the control files used by CVS, are protected by the FilesMatch directive
  # above.
  #
  # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is
  # not possible to block access to entire directories from .htaccess, because
  # <DirectoryMatch> is not allowed here.
  #
  # If you do not have mod_rewrite installed, you should remove these
  # directories from your webroot or otherwise protect them from being
  # downloaded.
  RewriteRule "(^|/)\." - [F]
 
  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_HOST} !^www\. [NC]
  # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
 
  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /
 
  # Pass all requests not referring directly to files in the filesystem to
  # index.php. Clean URLs are handled in drupal_environment_initialize().
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L]
 
  # Rules to correctly serve gzip compressed CSS and JS files.
  # Requires both mod_rewrite and mod_headers to be enabled.
  <IfModule mod_headers.c>
    # Serve gzip compressed CSS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
 
    # Serve gzip compressed JS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
 
    # Serve correct content types, and prevent mod_deflate double gzip.
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
 
    <FilesMatch "(\.js\.gz|\.css\.gz)$">
      # Serve correct encoding type.
      Header append Content-Encoding gzip
      # Force proxies to cache gzipped & non-gzipped css/js files separately.
      Header append Vary Accept-Encoding
    </FilesMatch>
  </IfModule>
</IfModule>
 
# $Id: .htaccess,v 1.111 2010/11/23 02:59:05 dries Exp $

Ps : j’ai eu des pb à l’installation : au moment de l’installation des traductions, le process s’est arrêté, un petit F5 et c’est reparti

]]>
http://www.lesbazeilles.com/2010/12/drupal-7-sur-online-et-les-erreurs-500/feed/ 2
Google décide de mieux classer les pages rapides http://www.lesbazeilles.com/2010/04/google-decide-de-mieux-classer-les-pages-rapides/ http://www.lesbazeilles.com/2010/04/google-decide-de-mieux-classer-les-pages-rapides/#comments Mon, 12 Apr 2010 14:13:54 +0000 http://www.lesbazeilles.com/?p=263 vu sur le blog officiel de google : Using site speed in web search ranking :

Google favorise  les pages internet qui s’affichent rapidement.(ie : plus votre page est rapide, mieux votre pageRank se portera)

Cela ne concerne actuellement que google.com et moins de 1% des requêtes .

Jetez un coup d’œil au slider ci-dessous (conférence Paris Web 2008 ) qui vous démontre pourquoi les sites web DOIVENT être performants, surtout que parfois il y a des solutions très simple a mettre en oeuvre pour améliorer grandement la vitesse d’affichage de vos pages : compression Gzip, Javascript en bas de page, optimisation des images… plus d’infos sir le site de Yahoo : Best Practices for Speeding Up Your Web

Sous Drupal 6 les pages ne sont pas parfaitement au point(voir Improving Drupal’s page loading performance) .

]]>
http://www.lesbazeilles.com/2010/04/google-decide-de-mieux-classer-les-pages-rapides/feed/ 3
Installer Drupal sur Online : nouveau fichier htaccess après la mise à jour vers la version 6.16 http://www.lesbazeilles.com/2010/04/installer-drupal-sur-online-nouveau-fichier-htaccess-suite-a-la-mise-a-jour-vers-la-version-6-16/ Fri, 09 Apr 2010 11:00:31 +0000 http://www.lesbazeilles.com/?p=248 logo de Drupla

La mise à jour de Drupal 6.x vers 6.16 modifie le fichier htaccess, en particulier la section « # Protect files and directories from prying eyes. » qui cache les repertoires/fichiers des curieux.
Il faut le récrire pour pouvoir l’utiliser sur Online (voir  mon article sur l’installation de Drupal sur Online).

Voici le nouveau fichier :

?View Code APACHE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#PHP5
AddType application/x-httpd-php5 .php
 
 
#
# Apache/PHP/Drupal settings:
#
 
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
  Order allow,deny
</FilesMatch>
 
# Don't show directory listings for URLs which map to a directory.
# Options -Indexes
IndexOptions -Indexes
 
# Follow symbolic links in this directory.
#Options +FollowSymLinks
 
 
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
 
 
 
# Set the default handler.
DirectoryIndex index.php
 
 
 
 
 
<IfModule mod_gzip.c>
		mod_gzip_on Yes
		mod_gzip_minimum_file_size 300            /* taille minimum des fichiers à encoder - en octet */
		mod_gzip_maximum_file_size 500000     /* taille maximum des fichiers à encoder - en octet */
		mod_gzip_maximum_inmem_size 100000
		mod_gzip_item_include file \.htm$
		mod_gzip_item_include file \.html$
		mod_gzip_item_include file \.shtml$
		mod_gzip_item_include file \.shtm$
		mod_gzip_item_include file \.jsp$
		mod_gzip_item_include file \.php$
		mod_gzip_item_include file \.pl$
		mod_gzip_item_include file \.cgi$
		mod_gzip_item_include file .css$
		mod_gzip_item_include file .js$
		mod_gzip_item_include mime text/.*
		mod_gzip_item_include mime ^application/x-httpd-php
		mod_gzip_item_include mime httpd/unix-directory
		mod_gzip_item_include handler ^perl-script$
		mod_gzip_item_include handler ^server-status$
		mod_gzip_item_include handler ^server-info$
		mod_gzip_dechunk yes
		mod_gzip_keep_workfiles No
		mod_gzip_can_negotiate yes
		mod_gzip_send_vary Off
		mod_gzip_item_exclude mime ^image/.$
		mod_gzip_item_exclude mime ^image/
		mod_gzip_item_exclude rspheader Content-Type:image/*
</IfModule>
 
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
 
# PHP 4, Apache 1.
<IfModule mod_php4.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>
 
# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>
 
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>
 
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
  # Enable expirations.
  ExpiresActive On
 
  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600
 
  # Do not cache dynamically generated pages.
  ExpiresByType text/html A1
</IfModule>
 
# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on
 
  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # adapt and uncomment the following:
  # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
  # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment and adapt the following:
  # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
  # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
 
  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /
 
  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
 
# $Id: .htaccess,v 1.90.2.5 2010/02/02 07:25:22 dries Exp $

Bonne mise à jour

]]>
N’utilisez pas Internet explorer ! http://www.lesbazeilles.com/2010/01/nutilisez-pas-internet-explorer/ Sat, 16 Jan 2010 15:14:06 +0000 http://www.lesbazeilles.com/?p=240 Update : patch disponible, en mise à jour automatique  ou sur le site de Microsoft

Suite a une grosse faille 0days, et le piratage de google par les chinois, n’utilisez par Internet Explorer

Vous êtes prévenu : « Le CERTA recommande l’utilisation d’un navigateur alternatif »

(Attendez au moins le patch de Microsoft)

edit :
L’Allemagne déconseille l’utilisation d’Internet Explorer

explication de la faille sur 01net

Switchez !

Spread Firefox Affiliate Button

]]>
Mano solo est mort http://www.lesbazeilles.com/2010/01/mano-solo-est-mort/ http://www.lesbazeilles.com/2010/01/mano-solo-est-mort/#comments Sun, 10 Jan 2010 17:47:35 +0000 http://www.lesbazeilles.com/?p=235 Zut premier billet de l’année pour dire que  Mano Solo est mort du Sida.

annonce de sa mort par sa mère

Site officiel de Mano solo (sous Drupal !)

]]>
http://www.lesbazeilles.com/2010/01/mano-solo-est-mort/feed/ 1
Extension Autopager sous Firefox http://www.lesbazeilles.com/2009/11/extension-autopager-sous-firefox/ Sun, 22 Nov 2009 16:32:18 +0000 http://www.lesbazeilles.com/?p=225 Je veux juste faire un peu de pub pour cette extension pour Firefox que j’utilise au quotidien  : Autopager

Cette extension permet de voir plusieurs pages un site en une seule fois, typiquement les pages ayant un lien ‘suivant’ .

Par exemple : google, les commentaires de sites, les dossiers sur plusieurs pages etc…

indispensable !

A télécharger ici  https://addons.mozilla.org/fr/firefox/addon/4925

Site officiel : http://www.teesoft.info/autopager

]]>
Problème de librairie GD sous Ubuntu/debian : recompiler PHP5-gd http://www.lesbazeilles.com/2009/11/probleme-de-librairie-gd-sous-ubuntudebian-recompiler-php5-gd/ http://www.lesbazeilles.com/2009/11/probleme-de-librairie-gd-sous-ubuntudebian-recompiler-php5-gd/#comments Sun, 22 Nov 2009 16:10:31 +0000 http://www.lesbazeilles.com/?p=213 ubuntulogoSi vous utilisez comme moi Ubuntu 9.10 (ou debian) et que  Drupal   indique que votre version de GD n’est pas bonne (« GD Image Rotation Low Quality / Poor Performance »), il faut recompiler GD. Cette opération n’est pas très compliquée mais peut prendre du temps.
GD est une librairie graphique utilisé sous PHP permettant de faire des opérations sur les images (redimensionnement, rotation…)

Testé avec PHP version 5.2.10

D’abord installer tout les paquets utiles à la compilation (si ce n’est pas déjà fait)
apt-get install build-essential debhelper fakeroot

Récupérer les sources (dans le répertoire /usr/src)
cd /usr/src
apt-get source php5

Maintenant il faut aller changer les paramètres de compilation pour le fichier GD.

cd php5-5.2.10.dfsg.1
cd debian
sudo vi rules

changez la ligne
–with-gd=shared,/usr –enable-gd-native-ttf \
par
–with-gd=shared –enable-gd-native-ttf \
Recompilez :

dpkg-buildpackage -rfakeroot

Une fois la recompilation effectuez l’installation du nouveau php5-gd

cd ..
dpkg -i php5-gd_mettre_ici_le_nom_du_package.deb

Relancez Apache et voyez le résultat dans le tableau de bord de Drupal.

]]>
http://www.lesbazeilles.com/2009/11/probleme-de-librairie-gd-sous-ubuntudebian-recompiler-php5-gd/feed/ 1
Quand Nadine Morano joue à GTA IV http://www.lesbazeilles.com/2009/10/nadine-morano-jouant-a-gta-iv/ Fri, 02 Oct 2009 12:03:43 +0000 http://www.lesbazeilles.com/?p=195 Beau lièvre levé par @rrêt sur images : Nadine Morano jouant a GTA IVNadine Jouant à GTA IV
Apparemment c’est pour expliquer à ses enfants que GTA c’est le mal. J’y crois à fond.

Voir l’article sur @rret sur images

Update :
Voici les questions sans réponses :

-Va-t-elle mettre un porno (via un commentaire de PCinpact)
-Vont-t-ils fumer un joint parce que c’est encore le mal ?  (via Rue89)
-Pourquoi GTA est en 4:3 sur une télé HDready (via encore un com sur PCinpact)

]]>
Google ne prend plus en compte (officiellement) la balise Meta Keywords http://www.lesbazeilles.com/2009/09/google-ne-prend-plus-en-compte-la-balise-meta-keywords/ Wed, 30 Sep 2009 16:20:35 +0000 http://www.lesbazeilles.com/?p=183 Ce que je sais depuis 2 ou 3 ans vient d’être officiel par google :

Le résumé de ce que dit Google Guy sur GoogleWebmasterCentral (traduction libre) :

Google utilise-t-il la balise Meta Keywords ?
Non, cela n’a aucune influence sur votre positionnement.

Pourquoi ?
Il y a 10 ans,  le référencement n’était pas au point. Maintenant cette balise est devenue inutile à cause des abus et de son mauvaise utilisation.

Google ignore t’il tout les balises Meta ?
Non voir ici.

Google  réutilisera cette balise ?
On ne sait pas,cela fait des années que cette balise est ignorée et on s’en porte pas plus mal.

Morale : ignorez cette balise (personnellement je ne la met plus).

PS : cette balise est peut être utilisée par d’autre moteur de recherche, mais apparemment pas par Yahoo ou Bing donc on s’en tape un peu…
PS2 : ca va un peu emmerder les agences de référencement qui vendent que ça (vécu)

]]>
Exploits of a Mom http://www.lesbazeilles.com/2009/09/exploits-of-a-mom/ Fri, 25 Sep 2009 08:08:15 +0000 http://www.lesbazeilles.com/?p=180 Pas mal trouvé :

exploits_of_a_mom

Exploits of a Mom

via http://xkcd.com/

]]>
Le retour de tata ségo http://www.lesbazeilles.com/2009/09/le-retour-de-tata-sego/ Thu, 17 Sep 2009 07:42:59 +0000 http://www.lesbazeilles.com/?p=170 J’arrive pas y croire comment en 2009 on peut encore faire un site pareil :

tatasego

Je demande pardon pour cette bouse (a voir ici http://www.desirsdavenir.org/).

Pendant ce temps-là, le gouvernement fait un putain de site en Drupal nickel chrome.

update : allez voir  ailleurs c’est très drôle : , ici  un générateur de  désir d’avenir
Bon il est temps de passer à autre chose.

]]>
En vrac et court http://www.lesbazeilles.com/2009/09/en-vrac-et-court/ Fri, 11 Sep 2009 07:29:02 +0000 http://www.lesbazeilles.com/?p=164 -Dans ‘le Monde’ d’hier (en parlant de la reforme de l’assurance santé par Obama ) interview de Victor Rodwin est professeur à la New York University :

Les compagnies [d’assurance maladie américaine] ne pourront plus interrompre la couverture parce que cela coûte trop cher ou que l’assuré est malade. lien

]]>
Bien sûr… http://www.lesbazeilles.com/2009/09/christophe-lameignere-ces-gens-la-ils-auraient-vendu-du-beurre-aux-allemands-pendant-la-guerre/ Thu, 10 Sep 2009 08:26:43 +0000 http://www.lesbazeilles.com/?p=155 J’ai tiqué un peu ce matin en lisant « Metro » dans le métro :

« Ces gens-là, ils auraient vendu du beurre aux allemands pendant la guerre ! »

Christophe Lameignère, président du SNEP, à propos des pirates luttant contre Hadopi.

http://www.metrofrance.com/info/la-musique-a-le-blues/miij!7VZW3jZSP9cVY/

(il n’aurait pas vendu de la musique aux allemands pendant la guerre lui ?)

(ok, 1 point Godwin pour moi)

 ____   ____   ____   ____   ____   ____   ____
/  __) (____) (____) (____) (____) (____) (__  \
|_|                                          |_|
 _      _                    _       _        _
| |    / |       _ __   ___ (_)_ __ | |_     | |
| |    | |      | '_ \ / _ \| | '_ \| __|    | |
|_|    | |      | |_) | (_) | | | | | |_     |_|
 _     |_|      | .__/ \___/|_|_| |_|\__|     _
| |             |_|                          | |
| |                                          | |
|_|     ____           _          _          |_|
 _     / ___| ___   __| |_      _(_)_ __      _
| |   | |  _ / _ \ / _` \ \ /\ / / | '_ \    | |
| |   | |_| | (_) | (_| |\ V  V /| | | | |   | |
|_|    \____|\___/ \__,_| \_/\_/ |_|_| |_|   |_|
 _                                            _
| |__   ____   ____   ____   ____   ____   __| |
\____) (____) (____) (____) (____) (____) (____/
« Bravo, vous avez gagné 1 point Godwin.
Vous pouvez aller le découper au burin
sur votre écran... »
]]> Traduc party Drupal le 19/09 http://www.lesbazeilles.com/2009/09/traduc-party-drupal-le-1909/ Thu, 10 Sep 2009 07:38:04 +0000 http://www.lesbazeilles.com/?p=151 Pour ceux qui sont motivé Parinux organise une ‘Traduc party’ Drupal à la Villette le 19 septembre 2009.
But : Traduire le plus possible de module drupal en Français.

inscrivez vous sur :

http://www.parinux.org/content/traduc-party-drupal

]]>
Mon CMS est fantastique : Drupalistic est lancé http://www.lesbazeilles.com/2009/09/commencer-avec-drupal-drupalistic-est-lance/ Wed, 09 Sep 2009 11:00:51 +0000 http://www.lesbazeilles.com/?p=134
logo de Drupla

Si vous ne savez pas par quoi commencer avec Drupal, allez voir ce nouveau site http://www.drupalistic.net/
Vous trouverez plein de conseils pour commencer avec les modules par exemple CCK ou Views.

Bonne lecture

]]>
Installer Drupal sur Online suite : Mettre en route le Cron (tache planifiée) http://www.lesbazeilles.com/2009/09/installer-drupal-sur-online-mettre-en-route-le-cron-tache-planifiee/ Tue, 08 Sep 2009 10:30:56 +0000 http://www.lesbazeilles.com/?p=107 logo de Drupla
Drupal a besoin de se mettre à jour régulièrement. C’est indispensable  pour toutes les modules qui ont besoin d’être mises  à jour régulierement : index du moteur de recherche, logs, Rss du site,etc.

Pour cela il faut lancer régulièrement le fichier cron.php disponible a partir de l’url :  http://votre url/cron.php

Comment faire un Cron avec Online ?

Vous pouvez toujours  faire manuellement un cron via l’interface d’admin  de Drupal (non conseillé) mais il vaut mieux automatiser la tache en  passant par le robot d’online.
Pour cela connectez-vous par l’interface d’administration d’Online et cherchez le lien  Tâches planifiées  dans le menu en bas a gauche :
TachePlanifié_menu

Les  options de la tache planifiée apparaissent :

TachePlanifié_options

Remplissez les options avec les valeurs suivantes :

  • URL : http://Votre_site_drupal/cron.php
  • Login : (laisser vide)
  • Mot de passe : (laisser vide)
  • Heure : * (ou choisir une heure, voir ci-dessous)
  • Jour : *
  • Mois : *
  • Email : Votre@email

Fréquence de la tache planifiée

La documentation de Drupal nous dit :

For a modest personal site, you might set up this cron job to run once a day. For a more active site you might want to run that job more often—perhaps every few hours or every hour. This regular visit will tell Drupal to perform its periodic tasks, and this will help keep your system running smoothly.

Traduction (incorrecte et par mes soins) :

Pour un site modeste faite un cron une fois par jour. Pour un site plus gros le cron doit être effectué plus souvent, peut-être toutes x heures ou toutes les heures. Cette visite régulière [du cron] permet Drupal d’être performant et aide le système a fonctionner en douceur.

Pour ma part je laisse l’option Heure : *, le cron passera toutes les heures.
Pour les ressources :
Faq online sur les taches planifiées

Document Drupal en anglais

]]>
Installer Drupal sur Online : les erreurs 500 http://www.lesbazeilles.com/2009/09/installer-drupal-sur-online/ http://www.lesbazeilles.com/2009/09/installer-drupal-sur-online/#comments Sun, 06 Sep 2009 15:50:13 +0000 http://www.lesbazeilles.com/?p=69 Attention
Suite à la mise a jour de Drupal, j’ai modifié le fichier .htaccess vous le trouverez dans un autre article

logo de Drupla

Si vous rencontrez des erreurs (erreur 500) après l’installation de Drupal sur online.net, voici quelques petites mofications que vous devez effectuer. Je pense que c’est la même chose pour les pages de Free.fr

Modifier le fichier .htaccess de la racine du site Drupal

Ajouter le support PHP5 (Faq sur online :  Activer PHP5):

?View Code APACHE
1
2
#PHP5
AddType application/x-httpd-php5 .php

Commenter la ligne ‘Options -Indexes’ (interdire le listage du répertoiresi index.php n’est pas présent) et ajouter cette ligne ‘IndexOptions -Indexes’
(Faq Online : empecher le listing d’un répertoire)

?View Code APACHE
1
2
3
# Don't show directory listings for URLs which map to a directory.
# Options -Indexes
IndexOptions -Indexes

Commenter la ligne ‘Options +FollowSymLinks’ (suivre les liens symboliques : cette option n’est pas obligatoire et rarement utile dans l’url rewriting, Online ne supporte pas cette option. MAJ : Online ne supporte pas la commande Options….)
extrait de la faq :

La directive FollowSymlinks est activé et ne peut être modifiée, il ne faut donc pas la déclarer, sinon vous auriez une error http 500 .

?View Code APACHE
1
2
# Follow symbolic links in this directory.
#Options +FollowSymLinks

Voici le code du fichier.htaccess complet :

?View Code APACHE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#PHP5
AddType application/x-httpd-php5 .php
 
#
# Apache/PHP/Drupal settings:
#
 
# Protect files and directories from prying eyes.
 
  Order allow,deny
 
# Don't show directory listings for URLs which map to a directory.
# Options -Indexes
IndexOptions -Indexes
 
# Follow symbolic links in this directory.
#Options +FollowSymLinks
 
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
 
# Force simple error message for requests for non-existent favicon.ico.
 
  # There is no end quote below, for compatibility with Apache 1.3.
  ErrorDocument 404 "The requested file favicon.ico was not found."
 
# Set the default handler.
DirectoryIndex index.php
 
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
 
# PHP 4, Apache 1.
 
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
 
# PHP 4, Apache 2.
 
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
 
# PHP 5, Apache 1 and 2.
 
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
 
# Requires mod_expires to be enabled.
 
  # Enable expirations.
  ExpiresActive On
 
  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600
 
  # Do not cache dynamically generated pages.
  ExpiresByType text/html A1
 
# Various rewrite rules.
 
  RewriteEngine on
 
  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # adapt and uncomment the following:
  # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
  # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment and adapt the following:
  # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
  # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
 
  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /
 
  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 
# $Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $

register_globals

En cas de problème avec les register_globals sur Online vous avez deux possibilitées :

  • Si vous avez une offre > M : vous pouvez mettre un php.ini a à la racine (Voir la faq ue le site d’online : configurer php. Mettre register_globals = Off
  • modifier le fichier ‘index.php’ à la racine du site en ajoutant ini_set(‘register_globals’,’0′); au début du fichier.

voici le contenu de mon index.php :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//MAJ ONLINE.NET
ini_set('register_globals','0');
// $Id: index.php,v 1.94 2007/12/26 08:46:48 dries Exp $
 
/**
 * @file
 * The PHP page that serves all page requests on a Drupal installation.
 *
 * The routines here dispatch control to the appropriate handler, which then
 * prints the appropriate page.
 *
 * All Drupal code is released under the GNU General Public License.
 * See COPYRIGHT.txt and LICENSE.txt.
 */
 
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
 
$return = menu_execute_active_handler();
 
// Menu status constants are integers; page content is a string.
if (is_int($return)) {
  switch ($return) {
    case MENU_NOT_FOUND:
      drupal_not_found();
      break;
    case MENU_ACCESS_DENIED:
      drupal_access_denied();
      break;
    case MENU_SITE_OFFLINE:
      drupal_site_offline();
      break;
  }
}
elseif (isset($return)) {
  // Print any value (including an empty string) except NULL or undefined:
  print theme('page', $return);
}
 
drupal_page_footer();

Problèmes avec les images ou les fichiers téléchargés

En cas de problème avec les images ou les fichiers  téléchargés : supprimer le fichier htaccess qui se trouve dans /votre repertoire/sites/votre site/files/.htaccess

]]>
http://www.lesbazeilles.com/2009/09/installer-drupal-sur-online/feed/ 10
Conscience en flagrant délire sur le « Webzine des curiosités ». http://www.lesbazeilles.com/2009/08/conscience-en-flagrant-delire-sur-le-webzine-des-curiosites/ Wed, 05 Aug 2009 09:56:51 +0000 http://www.lesbazeilles.com/?p=63 Quatre articles dans le webzine des curiosités sur la schizophrénie de la conscience.
Episode 1: Jeu de mains, jeu de vilains
Episode 2: En toute sincère mauvaise foi…
Episode 3: très précieuse auto-justification
Epilogue: moi c’est 1984, et vous?

Dès la première ligne cela commence bien :

85% des Français estiment être de bons conducteurs, mais seulement 36% jugent que les autres le sont également.

]]>
Ah cool, la fibre optique arrive http://www.lesbazeilles.com/2009/08/ah-cool-la-fibre-optique-arrive/ http://www.lesbazeilles.com/2009/08/ah-cool-la-fibre-optique-arrive/#comments Mon, 03 Aug 2009 12:38:15 +0000 http://www.lesbazeilles.com/?p=56 fibreoptiqueimmeuble

Mon immeuble va se faire raccorder par la fibre optique et en plus on peut choisir son fournisseur d’accès !

mon mini comparatif :

  • SFR : 100 Méga en réception et 50 Méga en émission : 29.90 € par mois
  • Free : 100 Méga en réception et 50 Méga en émission : 29.90 € par mois
  • DartyBox : 30 à 100 Méga en réception et 5 Méga en émission : 29.90€ + location décodeurs de 3 à €  par mois
  • Orange : 100 Méga en réception et 10 Méga en émission : 44.90 pognons par mois (option 100Méga réception/émission pour 20€/mois)

Bon je vais rester chez free….

]]>
http://www.lesbazeilles.com/2009/08/ah-cool-la-fibre-optique-arrive/feed/ 1