Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Aide

PluXml - Afficher une alerte quand un billet est trop vieux

Rédigé par dada / 21 août 2015 / 3 commentaires


Lorsqu'on passe un temps fou sur l'internet à lire une quantité dingue d'information, on n'a pas toujours le réflexe de s’inquiéter de la date à laquelle les informations lues ont été publiées. Même un vieux roublard peu se faire avoir.

Cela faisait un bout de temps que je voulais afficher chez moi ce que l'on peut trouver sur la toile, comme chez Philippe Scoffoni, comme là : un message alertant le lecteur que ses yeux se baladent sur du texte de l'air glaciaire.

J'ai donc sorti mes doigts de DevOps pour pondre ces quelques lignes de code, largement inspirées de ce que j'ai trouvé ici.

<?php
    $ndays = 90;
    if(floor((strtotime(date('YmdHi')) - strtotime($plxShow->plxMotor->plxRecord_arts->f('date'))) / (60*60*24)) > $ndays) : ?>      
        <p style="background-color: #ffe17a; text-align:center; vertical-align:middle; color: black; padding:5px;border-radius: 2px;box-shadow;color: #404040; "> Attention, ce billet se traine depuis plus de 3 mois. Les informations qu'il contient ne sont peut-être plus à jour. </p> <br />
<?php endif; ?>
Ce n'est sans doute pas ce qui se fait de plus beau, malgré l'aide de Smol, mais ça fait le taff. Quand un billet affiche plus de 3 mois au compteur, j'annonce la couleur. Trois mois, exemple, dans l'espace temps de l'Internet, c'est frôler l'obsolète.


Ce bout de code est à placer dans la page article.php, fichier à éditer via les paramètres d'affichage, entre header et le premier h1, mais libre à vous de le mettre où vous voulez, avec la couleur que vous voulez, les photos de licorne que vous voulez, et j'en passe.

Passer de ownCloud 8.0.x à OC 8.1.x, des astuces

Rédigé par dada / 17 août 2015 / 11 commentaires





En introduction, j'annonce tout de suite je ne ne souhaitais pas forcément passer à la version supérieure d'OC, de la 8.0.x à là 8.1.x, mais comme le gestionnaire automatique du logiciel me l'a gentiment proposé : j'ai cliqué sur mettre à jour, suivant, valider, confirmer, terminer.

J'y suis allé un peu fort, tête baissée, sans sauvegarde. Ne faites pas ça chez vous ! Des backups, des backups et des backups !
Du coup, j'ai découvert qu'avant de faire cette manipulation, il y avait quand même des trucs à savoir.

Chiffrement

Si vous utilisez le chiffrement, sachez que vous n'aurez pas de souci de mise à jour. OC va avancer comme un grand et télécharger ses nouveaux fichiers. Par contre, il va préventivement désactiver le module de chiffrement et vous demandera de le réactiver à la main.
C'est n'est pas un drame, mais j'ai quand même fait les choses à l'envers : réactiver l'application Default Encryption Module dans le gestionnaire d'application. Ne surtout pas faire ça ! Je me suis retrouvé avec une page blanche. Tout cassé le OC. Il faut d'abord l'activer dans votre panel d'administration, qui ensuite, vous demandera de réactiver le module.
Si vous êtes allés un peu trop vite et que la page blanche vous nargue, voici la solution pour vous en sortir :

Connectez-vous à votre serveur MySQL/MariaDB et sélectionnez votre base de données OC.
mysql> use votredbowncloud;
Affichez les informations relatives à vos applications installées. Ici, la limite est à 60 parce que c'est dans ces eaux là qu'apparaissent les informations sur chiffrement. Changez cette valeur pour coller à votre installation.
mysql> select * from oc_appconfig limit 60;



Voyez ci-dessus une partie du résultat de la commande. La valeur enable est à yes. Pour la desactiver, passons-là à no :
mysql> update oc_appconfig set configvalue="no" WHERE appid="files_encryption" AND configkey="enabled";
C'est tout. Rafraichissez votre page et respirez. Sachez que cette manipulation est valable pour désactiver n'importe qu'elle application. Il suffit de remplacer la valeur de appid par le nom de la cible. Merci les gars.

Les applications ne marchent plus

C'est normal, malheureusement. Pour corriger tout ça, il va vous falloir télécharger les versions à jour de vos bébés sur app.owncloud.com.

Voici une coute liste d'applications à mettre à jour à la main :
  • Documents
  • Calendar
  • (j'écris ce billet après coup, il doit en manquer mais ma mémoire flanche.)

Là aussi, c'est n'est pas très difficile à faire. Tout se passe dans votre installation ownCloud, dans le répertoire apps. Virez l'ancien répertoire portant le nom de l'application à corriger, remplacez-le par celui que vous venez de télécharger, donnez-lui les bons droits pour que le serveur web s'en accommode. Terminé !

Notez que la mise à jour d'une application peut entrainer un changement plus important qu'escompté. OC vous demandera de se mettre à niveau. Lancez-vous dans la manip' sans crainte.

C'est pas déchiffré ?!

Encore un truc bizarre qui peut arriver. Si vous ne pouvez pas lire la totalité de vos fichiers, relancez la commande magique suivante, avec l’utilisateur www-data (ou http si vous êtes sous dérivé de redhat) :
php /chemin/vers/votre/installation/occ upgrade
Maintenant, vous devriez pouvoir vous lancez dans l'aventure, presque sereinement.

Astuces du dimanche #4

Rédigé par dada / 10 mai 2015 / 2 commentaires


Quatrième version des astuces du dimanche ! Je dois avouer que j'aime bien cette formule simple et rapide pour partager des astuces peu révolutionnaires mais qu'il fait bon rappeler de temps en temps.

Au programme de cette semaine : partager des fichiers en réseau sans se prendre la tête et comment créer une archive de sauvegarde (pour un backup, par exemple) et vous l'envoyer alors que vous n'avez pas de place sur le disque dur.

Partager ses fichiers via python

Sans clés USB ou système de partage en réseau, il est bien difficile de partager un fichier avec le PC du voisin. La solution suivante permet de se servir de python pour créer un serveur web simple. Il sera accessible depuis votre adresse IP et le port spécifié.

  • Avec python 2.7 ou plus
# python -m SimpleHTTPServer 80
  • Avec python 3 ou plus
# python -m http.server 80
Lancez l'une de ces commandes depuis un terminal ouvert là où se trouve le ficher à transférer, donnez votre IP et le port à votre pote/collègue et le tour est joué. Attention tout de même à ne pas lancer cette commande depuis votre /home/ sous peine de partager l’intégralité de votre vie privée ;-)

Création et envoie d'archive par le réseau

C'est un truc que je rencontre souvent au boulot : faut faire un gros tar.gz de sauvegarde et le placer bien au chaud sur une autre machine mais pas moyen d'y arriver avec l'espace disque disponible.
Pas de panique, la commande tar associée à ssh, à un pipe et cat permette de faire des miracles.

ssh -n ServeurDistant -p PORT 'tar zcvf - toto.txt' | cat - > toto.tar.gz

Avec ça, depuis votre terminal, vous récupérez le contenu de toto.txt, que vous archivez simplement sur votre disque dur local. Celui du serveur distant n'est plus utilisé : terminé le problème de place !

Bon dimanche ! :)

Ubuntu 14.04 : activer la connexion filaire

Rédigé par dada / 30 avril 2015 / 1 commentaire




Je viens de changer de matériel pour rafraîchir le vieux PC fixe sur lequel je traîne le plus clair de mon temps. Nouveau processeur avec la carte mère qui va bien et un peu plus de mémoire vive.

Je passe donc d'un vieux Intel Q6600 à un AMD FX 8250, de 4 cores à 8 et ça fait du bien. Le support de cette petite merveille est une carte mère Gigabyte 990XA-UD3. Après mise en place, cette CM m'a quand même filé du boulot : pas moyen d'avoir une connexion filaire. C'est assez con quand on est sur un PC fixe. C'est un problème de driver qui ne passe pas correctement.

Pour la retrouver, voici la solution :

sudo apt-get install linux-headers-generic build-essential dkms
wget wget http://ftp.debian.org/debian/pool/main/r/r8168/r8168-dkms_8.039.00-1_all.deb
sudo dpkg -i r8168*.deb
echo "blacklist r8169" | sudo tee -a /etc/modprobe.d/blacklist-r8169.conf
sudo modprobe -rfv r8169
sudo modprobe -v r8168
sudo service network-manager restart
Et hop, c'est tout. La connexion ethernet repart. Maintenant, pour vous, le dernier problème à résoudre est de trouver un moyen d'avoir une connexion internet ou une clé USB pour récupérer les quelques paquets à installer :-). Moi, je suis passé par un vieux dongle wifi qui traînait dans un carton.

Installer Sonerezh sur Debian Wheezy

Rédigé par dada / 22 avril 2015 / 5 commentaires


Je me rends compte que les gens rencontrent des difficultés à installer le lecteur de musique en ligne Sonerezh alors voici un rapide tutoriel pour s'en sortir.

Vous trouverez ci-dessous de quoi installer la branche master, celle qui marche directement tout en contenant quelques petits bugs peu gênants.

Je passe sur l'installation de LAMP, vous trouverez les infos qu'il vous faut par ici.

Récupérer les sources

git clone https://github.com/Sonerezh/sonerezh.git -b master

Configurer les droits

chown -R www-data: sonerezh/
chmod -R 775 sonerezh/

Vérifier les modules Apache2 nécessaires

Voici la liste des modules pour Apache2 que j'utilise actuellement. Cette liste en contient surement qui ne sont pas utiles à Sonerezh mais je pars du principe que si cette liste marche chez moi, ça marchera chez vous ;)
  •  core_module (static)
  •  log_config_module (static)
  •  logio_module (static)
  •  version_module (static)
  •  mpm_event_module (static)
  •  http_module (static)
  •  so_module (static)
  •  actions_module (shared)
  •  alias_module (shared)
  •  auth_basic_module (shared)
  •  authn_file_module (shared)
  •  authz_default_module (shared)
  •  authz_groupfile_module (shared)
  •  authz_host_module (shared)
  •  authz_user_module (shared)
  •  autoindex_module (shared)
  •  cgi_module (shared)
  •  cgid_module (shared)
  •  deflate_module (shared)
  •  dir_module (shared)
  •  env_module (shared)
  •  fastcgi_module (shared)
  •  headers_module (shared)
  •  mime_module (shared)
  •  negotiation_module (shared)
  •  proxy_module (shared)
  •  proxy_balancer_module (shared)
  •  proxy_http_module (shared)
  •  reqtimeout_module (shared)
  •  rewrite_module (shared)
  •  setenvif_module (shared)
  •  ssl_module (shared)
  •  status_module (shared)

S'il vous en manque, un a2enmod nondumodule vous permettra de l'activer.

Vérification des dépendances pour PHP5

  • libapache2-mod-php5
  • php5
  • php5-cgi
  • php5-cli
  • php5-common
  • php5-curl
  • php5-fpm
  • php5-gd
  • php5-imagick
  • php5-mcrypt
  • php5-mysql
  • php-acp

Il en manque ? apt-get install nomdupaquet pour l'installer.

Configuration du virtualhost

Adaptez ce virtualhost à votre installation.

<VirtualHost *:80>
        ServerAdmin admin@monserv.tld
        ServerName www.monserv.tld
        DocumentRoot /var/www/sonerezh
        <Directory /var/www/sonerezh>
                Options -Indexes
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>
    CustomLog   /var/log/apache2/demo.sonerezh.bzh-access.log "Combined"
    ErrorLog    /var/log/apache2/demo.sonerezh.bzh-error.log
</VirtualHost>

Redémarrez apache2 pour que tout soit bien chargé et certifié sans erreur.

Configurer MySQL

C'est par ici que ça se passe, la documentation officielle est très claire.



Nous y voilà, c'est la fin ! Vous pouvez maintenant vous connecter à votre instance Sonerezh et suivre la procédure d'installation automatique !