Archives 2020
#
Rendre un thème Wordpress responsive
Pour qu'un thème Wordpress soit responsive, il faut éviter que les tailles ne soit définies en dur : au lieu de :
#content{ width:700px; }
préferer :
#content{ max-width: 700px; width: 100%; }
On peut également inclure des requêtes média, pour modifier l'affichage selon la taille de l'écran. Exemple pour blog.linuxine.net :
/*Responsive media queries*/ @media screen and ( max-width: 800px ) { #header { width: 100%; } #logos { clear: both; display: block; float: left; margin-left: 20px width: 100%; } #social_icons { display:none; } #content { clear: both; display: block; width: 100%; } #sidebar{ display:none; } }
/! Ne pas oublier d'inclure dans le header
Sinon les media queries ne sont pas executées ; le initial-scale est indispensable pour un affichage correct sous Opera mobile.
#
Mémo sur les xpath
Lien contenant une classe :
//a[@class='classe_exacte'] //a[contains(@class,'select2-choice')]
Div contenant du texte :
//div[text()="Collection"] //div[contains(text(),'collection')]
Classe et texte :
xpath="//div[@class='alert alert-danger alert-dismissable']/ul/li[contains(text(),'collection: collection is required')]
Trouver une balise
//*[local-name='circle']
Trouver le parent :
//div[@id=1]/parent::*
Deux conditions combinées, pour trouver ce lien :
A //a[@data-event='scenario:view' and contains(text(),'A')]
Le 3e td apres ce lui, qui contient le texte "editing"
//td/a[@data-event='scenario:view' and contains(text(),'A')]/../following-sibling::td[3][contains(text(),'Editing')]
#
iotop
Une petite commande bien pratique pour savoir quels process utilisent des I/O : iotop ! Avec l’option -o, il n’affiche que ceux utilisant effectivement des I/O. Et l’option -a permet d’avoir un cumul depuis le lancement de la commande, ce qui évite que les process disparaissent et réapparaissent super rapidement s’ils font des I/O par intermittence.
# iotop -a -o Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 7.75 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 1436 be/3 root 0.00 B 160.00 K 0.00 % 0.46 % [jbd2/dm-9-8] 2903 be/4 root 0.00 B 8.00 K 0.00 % 0.00 % nmbd -D 2219 be/4 root 0.00 B 4.00 K 0.00 % 0.00 % rsyslogd ~ain Q:Reg] 4376 be/4 aline 0.00 B 8.00 K 0.00 % 0.00 % psi-plus 8865 be/4 aline 0.00 B 4.00 K 0.00 % 0.00 % iceweasel~ache2 I/O] 8884 be/4 aline 0.00 B 504.00 K 0.00 % 0.00 % iceweasel~torage #1] 8890 be/4 aline 0.00 B 120.00 K 0.00 % 0.00 % iceweasel~OM Worker] 1295 be/4 aline 0.00 B 8.00 K 0.00 % 0.00 % iceweasel~ache2 I/O]
#
Smem
Pour avoir une idée de la conso mémoire d’un programme, sous Linux, j’utilise smem. Sa particularité, outre de présenter les résultats sous forme bien sympa si on utilise les bons arguments, est de proposer plusieurs indicateurs : la consommation mémoire standard, RSS ou resident set size, mais aussi une mesure tenant compte des zones mémoires partagées par plusieurs applications, et donc moins surestimée : la proportional set size (PSS).
Une fois installé via yum ou apt, on peut le lancer directement sans argument, pour avoir la liste des process consommant de la mémoire pour l’utilisateur. Si on rajoute l’option -t, on a une ligne avec le total. L’option -k permet d’ajouter l’unité (Mb ou Gb). On peut aussi lui demander la conso mémoire d’un process en particulier, avec -P (on met un crochet sur la 1ere lettre pour éviter de voir apparaitre la commande smem dans la liste :
$ smem -t -k -P [i]ceweasel PID User Command Swap USS PSS RSS 24263 aline /usr/lib/iceweasel/plugin-c 0 102.4M 106.2M 116.9M 21283 aline iceweasel -P -no-remote 0 435.1M 439.2M 455.0M 28465 aline iceweasel -P -no-remote 0 812.6M 815.3M 831.3M ------------------------------------------------------------------------------- 154 1 0 1.3G 1.3G 1.4G
J’aime bien cet affichage, car il est lisible et permet d’avoir d’un coup d’œil la somme de la mémoire consommée par tous les process liés à une application… et en unités compréhensibles, en plus ! Si on est fan de graphiques, smem permet aussi de représenter la consommation mémoire sous forme de pie chart, ou de barres. Par exemple, le consommation de tous les processus de l’utilisateur, par nom :
$ smem --pie=name
Donnera l’image suivante :
Un graphique en barre de la consommation mémoire sur les processus de Chrome donnera :
$ smem -P [c]hrome --bar=name
Et pour finir, un petit camenbert sur la consommation de Iceweasel :
$ smem -P [i]ceweasel --pie=name
Ce n’est pas super sexy, mais c’est tout de même très lisible, je trouve, et bien plus parlant qu’un tableau avec des unités en octets ! :p
#
Install PHP 5.6 on CentOS 7
Par défaut, CentOS est fourni avec une version PHP 5.4, un peu trop vieille pour la plupart des applications type LAMP (la 5.4 date tout de même de 2013).
Après avoir tenté et raté l'installation via le repo webtatic, j'ai découvert que CentOS déconseille officiellement ce repo, et conseille plutôt les repos de Rémi Collet. J'ai donc utilisé son tutoriel, sur son site http://rpms.remirepo.net/wizard/.
Command to install the EPEL repository configuration package: # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Command to install the Remi repository configuration package: # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm Command to install the yum-utils package (for the yum-config-manager command): # yum install yum-utils You want a single version which means replacing base packages from the distribution Packages have the same name than the base repository, ie php-* PHP version 5.6 packages are available for CentOS 7 in remi-php56 repository Command to enable the repository: # yum-config-manager --enable remi-php56 Command to upgrade (the repository only provides PHP): # yum update Command to install additional packages: # yum install php-xxx Command to check the installed version and available extensions: # php --version # php --modules