Comment afficher les poids des dossiers à l’intérieur d’un répertoire sous linux en bash

Voici un bash simple qui vous permet de lister les dossiers d’un répertoire, et de connaitre le poids de chacun de ces dossier.

vi poids-dossier.sh
Tapez

#!/bin/bash

for db in *
do
 du -h $db | tail -n 1
 #echo trouvé $db
done
chmod +x poids-dossier.sh
./poids-dossier.sh
Publié dans bash, Ubuntu, Unix | Laisser un commentaire

Comment gérer la pagination dans le header de la page avec rel=“next” and rel=“prev” avec le KnpPaginatorBundle

Si vous travaillez sur un projet avec Symfony2.3 et que vous désirez faire une liste paginée SEO friendly avec le bundle KnpPaginatorBundle, voici la marche à suivre !

Comme expliqué sur l’excellent article de Google Webmaster Central, la pagination doit bien se gérer au niveau des headers  de votre page.

Cela permet de lutter contre le contenu dupliqué, et il s’agit d’un moyen simple d’expliquer au robots d’indexation que cette page contient une liste paginée.

Avec symfony et le bundle KnpPaginatorBundle voici comment j’ai résolu ce probleme :

Dans mon controller j’ai rajouté ces lignes

 $paginator = $this->get('knp_paginator');
 $target = range('a', 'u');
 $slice = $paginator->paginate($target, $this->get('request')->query->get('pages', 1), 3);

puis je passe la variable $slice à twig :

 return $this->render('McwCmsBundle:Default:search.html.twig', array(
 'listResultat' => $listResultat,
  ...
 'slice' => $slice,
 ));

J’ai ensuite créé un template qui contient le code HTML à insérer dans le head de ma page :

{# metatag.htm.twig#}
{% if pageCount > 1 %}
 {% if first is defined and current != first %}
 <link rel="first" href="{{ url(route, query|merge({(pageParameterName): first})) }}" />
{% endif %}

{% if previous is defined %}
<link rel="prev" href="{{ url(route, query|merge({(pageParameterName): previous})) }}" />
{% endif %}

{% if next is defined %}
    <link rel="next" href="{{ url(route, query|merge({(pageParameterName): next})) }}" />
 {% endif %}
{% if last is defined and current != last %}
     <link rel="last" href="{{ url(route, query|merge({(pageParameterName): last})) }}" />
 {% endif %}
{% endif %}

Dans mon layout.html.twig j’ai placé dans le header ce code là :

  {% if slice is defined %}
 {{ knp_pagination_render(slice, 'TonBundle:TonDossier:metatag.htm.twig')|raw }}
 {% endif %}
Publié dans Uncategorized | Tagué , | Laisser un commentaire

Que faire lorsque wordpress affiche « Indisponibilité temporaire pour cause de maintenance. Veuillez revenir dans un instant. »

Si comme moi à l’instant vous voyez que votre site internet wordpress affiche une page blanche avec le message d’erreur suivant « Indisponibilité temporaire pour cause de maintenance. Veuillez revenir dans un instant. »  sachez qu’il existe une méthode simple pour rétablir le site sans fracas.

Cela se produit parfois lorsqu’une mise à jour d’extension échoue et ne parvient pas jusqu’a la fin du processus.

Comment retirer cette indisponibilité temporaire sur WordPress ?

Allez simplement retirer le fichier « .maintenance » qui se trouve à la racine de votre site.

maintenance

Publié dans wordpress | Laisser un commentaire

Comment dumper une entité doctrine

Doctrine est très pratique, il s’agit d’un ORM qui permet de manipuler des données dans rellement avoir besoin d’utiliser du SQL.

Cependant, lors du développement de votre projet, il peut etre utile de dumper une entité, un retour de requete… Pour cela je faisais un print_r, ou un var_dump.

Et là c’est le drame

La taille considérable de l’entité à dumper fait à chaque fois planter mon navigateur et mon serveur web.

La solution pour dumper une entité doctrine proprement

Voici un exemple de code php qui permet de dumper une entité :

print « \<pre\> »;
\Doctrine\Common\Util\Debug::dump($entity);
print « \</pre\> »;

Publié dans doctrine, symfony | Laisser un commentaire

Sécuriser un répertoire Web via .htaccess

Lors d’un développement web client depuis mon serveur de développement, afin d’éviter tout risque de contenu dupliqué, je rajoute toujours un formulaire d’identification via .htaccess. Voici comment je procède : Depuis la racine du site sur le serveur, je tape ce code en ligne de commande :

htpasswd -c .fichiermdp username

puis j’édite le fichier .htaccess pour écrire celà:

AuthType Basic AuthName « Restricted Files » AuthUserFile //var/www/site/.fichiermdp Require valid-user

Ainsi, lorsque je me connecte à l’url du site de mon client, ou lorsque le robot d’indexation Google viendra se connecter, l’écran d’identification permettra de bloquer l’affichage du site.

identification-htaccess

Publié dans Unix | Laisser un commentaire

Comment remettre les bordures de tableaux disparues depuis la mise à jour de libre office

Suite à la mise à jour 14.4 d’Ubuntu, les tableaux dans libre office ont pour certains disparus!

Enfin, plus exactement les bordures ont disparu.

tableau-sans-bordures

 

Pour remettre les bordures : rendez-vous dans le menu « Tableau » puis sélectionner l’option « Délimitations du tableau »

delimiteur

 

 

 

Comme vous pouvez le constater, les bordures sont de retour!


bordure-tableau

Publié dans libre office, Ubuntu | Laisser un commentaire

Eviter le contenu dupliqué entre site desktop et site mobile

Une question récurrente dans la problématique du référencement naturel pour site mobile. Tout le monde connait aujourd’hui les problèmes liés aux contenus dupliqués, mais comment mettre en place à la fois un site desktop et un site pour mobile sans dupliquer ses contenus!

Bien entendu cette question ne se pose pas pour un site responsive, car les URLS des pages sont identiques pour les différents terminaux.

Dans ce cas précis, nous avons par exemple un site à cette adresse : monsite.com et le site mobile à cette adresse : m.monsite.com

Pour éviter les contenus dupliqué, il est préférable d’utiliser la balise meta canonical pour tous les contenus aussi bien mobile que desktop.

<link rel= »canonical » href= »[url] » />

Si vous utilisez des liens pour accéder aux versions mobiles ou desktop, utiliser l’attribut « rel » pour désigner la version alternative de la version originale :

<a href= »m.[url] » rel= »alternate »>Version Mobile</a>

et

<a href= »[url] » rel= »canonical »>Version Desktop</a>

Notez également que sur les pages profondes, vous devrez faire le lien vers la page correspondante à l’autre version, et éviter de faire à chaque fois un lien vers l’accueil.

 

Publié dans SEO | 1 commentaire