PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Tuxicoman : Nettoyer la base de données de WordPress

vendredi 5 décembre 2014 à 07:36

Après 7 ans de blog, il était temps de faire un peu de nettoyage dans la base de donnée de WordPress.

J’ai trouvé le plugin WP-Optimize pour faire cela et qui m’a diminué ma base de données de moitié.

Une autre source d’embompoint pour la base de données, les tables que les plugins de statistiques ne suppriment pas à leur désinstallation comme « wp_statpress » pour Statpress ou « wp_cn_track_post » pour Post views Stats. Ca peut vitre chiffrer dans les 50Mo.

Au final, ma base de données de WordPress fait désormais 10Mo pour 1000 articles et 3000 commentaires.

J’utilise désormais Piwik pour mes statistiques dans une base de données séparée.

J'aime(0)Ferme-la !(0)

Related Posts:

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Articles similaires

La vache libre : PAMAC est dans les bacs en version 2.0

jeudi 4 décembre 2014 à 21:52

Capture du 2014-12-04 17_09_44

Voilà un billet qui fut long à finaliser, dans la mesure où la dernière mise à jour de Manjaro (GNOME édition) a laissé des traces de boue, du sang, de la sueur et des larmes, sur mon système. Une impossibilité de se loguer post maj et un problème de clés d’authentification, ont bien failli réussir à faire tomber les quelques cheveux traînant encore sur mon vieux crâne, désormais presque lisse. À ce titre pensez toujours à vérifier si votre clavier n’est pas repassé en « qwerty » avant de réinstaller votre système (gné) et à vous rendre sur les forums manjaro.fr pour tout autre problème. De préférence avant de toucher à quoi que ce soit d’ailleurs. Vous y trouverez une communauté vraiment sympa, très réactive et certainement la solution à votre (vos) problème(s). Ceci étant dit tout est réglé maintenant, du moins je pense. Gnome 3.14 ronronne comme un vieux matou en pleine séance de gratouille intensive et j’ai enfin pu profiter du nouveau PAMAC livré il y a quelques jours en version 2.0, qui embarque quelques améliorations intéressantes.

Pour ceux qui ne le savent pas encore PAMAC est un gestionnaire de paquets en mode graphique pour libalpm, développé par la team Manjaro et conçu dans le but de permettre aux utilisateurs de gérer la recherche, l’installation, la mise à jour et la suppression de leur paquets, sans faire de mal à leur hamsters.

Outre les fonctions relatives à la gestion des paquets PAMAC dispose de paramètres avancés pour la recherche, vous permettant entre autres d’utiliser différents filtres et d’avoir accès diverses informations complémentaires.

Bien que je le trouve un peu moins complet qu’Octopi, PAMAC est loin d’être sans intérêt et fait parfaitement le job. C’est un très bon outil.

Capture du 2014-12-04 17_10_37

Parmi les nouveautés présentes dans PAMAC 2.0, on notera l’achèvement du processus de migration vers GTK3, avec lequel il est désormais entièrement compatible. De ce fait l’intégration dans des environnements de bureau tels que GNOME Shell et Cinnamon en a été grandement améliorée.

On notera également l’amélioration des performances rendant les recherches plus rapides, diverses améliorations relatives à l’interface et le support complet pour AUR, avec en prime une meilleure prise en charge des erreurs lors de la construction des paquets.

On notera enfin l’ajout d’une option permettant de désactiver le contrôle des mises à jour pour AUR, ce qui n’est pas du luxe. Cela va nous permettre d’éviter d’être notifié inutilement et de manière récurrente pour une mise à jour que l’on sait vouée à l’échec, quand le repo concerné est dans les choux, ce qui est assez courant avec AUR.

Alors si de prime abord il n’y a rien de spectaculaire dans cette nouvelle version de PAMAC, elle assez intéressante dans le sens où nous pouvons voir que le projet avance, qu’un gros travail d’intégration et de stabilisation a été abattu et que tout cela commence à porter ses fruits.

Si ça vous tente vous pouvez vous brancher sur la page Github du projet pour suivre l’évolution de PAMAC et installer la bête à l’aide de la commande suivante :

sudo pacman -Sy pamac

Pour toujours bénéficier de la dernière version en date, vous pouvez aussi passer par AUR à l’aide de la commande suivante :

yaourt -S pamac-aur

Amusez-vous bien et gaffe aux hamsters.

Gravatar de La vache libre
Original post of La vache libre.Votez pour ce billet sur Planet Libre.

Jaussoin Timothée : Jouons un peu avec l'API interne de Google+

jeudi 4 décembre 2014 à 15:10

Comme toute grande plateforme web qui se respecte, le réseau social Google+ possède une API publique. Tout développeur souhaitant ainsi puiser dans l'énorme base de données offerte par le géant américain de la recherche peut, suite à une authentification, avoir accès à une multitudes d'URLs offrants des informations aussi diverses que les profils des utilisateurs, leurs liens, leurs galeries photo mais aussi, plus simplement, de la liste des billets publiés sur le réseau. Vous pouvez retrouver toutes les informations relatives à l'API officielle à cette adresse.

jeu.png

L'utilisation de cette API se fait suivant de nombreuses contraintes. Tout d'abord une authentification OAuth est nécessaire pour que Google puisse connaitre qui interroge son API, récupère quelles données et dans quel volume. Le quota fixé lorsque vous n'êtes pas authentifié est également volontairement bas (10 000 requêtes/jour) pour vous forcer à renseigner vos informations, suite à ça il passe à 20 000 000 requêtes/jour.

Dans ce billet je ne m'étendrais pas particulièrement sur cette API officielle, mais prendrait plutôt un autre chemin en exploitant l'API interne du projet.

Architecture de fonctionnement du site

Avant de rentrer dans les détails, il est toujours bon de comprendre le fonctionnement général et de savoir comment les pages Google+ sont chargées au sein de votre navigateur. Depuis quelques années déjà Google a tendance à effectuer une partie des calculs de rendu des pages web grâce aux navigateurs des utilisateurs, la génération du HTML étant alors faite en Javascript et non plus coté serveur.

Pour parvenir à ses fins Google charge un ensemble de scripts ayant un rôle similaire au framework AngularJS (framework qui est aujourd'hui également porté par Google). Le navigateur de l'usager va alors interroger le serveur grâce à des requêtes de type Ajax (ou, de façon moins courante, via un WebSocket) afin de recevoir les informations brutes qui seront ensuite analysées par ces scripts. Ceux-ci vont finalement générer le HTML grâce à l'utilisation de modèles prédéfinis.

Ce qui va nous intéresser ici, c'est de comprendre quelles types d'informations sont échangées entre ce script et le serveur, dans notre cas ce sera entre une page d'un utilisateur Google+ et le serveur officiel de Google. La console de développement du navigateur nous permet d'avoir toutes ces informations très facilement.

googleplus.png

Interrogation du SocialGraph interne

Parmi la multitude de requêtes envoyées l'une d'entre elles nous permet de récupérer la liste de contacts du profile interrogé. Ce qui est intéressant ici c'est qu'en récupérant les informations par ce biais nous outrepassons totalement le système de vérification imposé par Google en nous faisant directement passer pour l'application officielle. Nous n'avons également plus de problème de quota. Mais ce qui est aussi bien plus intéressant c'est qu'une très grande partie des informations que nous récupérons par cette API interne ne sont pas directement disponibles par l'API officielle, même après une authentification OAuth. Prenons un petit exemple avec la récupération de la liste de contact d'un utilisateur.

Via l'API officielle, sans authentification

La documentation de l'API nous indique que nous devons interroger l'URL suivante pour avoir la liste des personnes visibles publiquement :

https://www.googleapis.com/plus/v1/people//people/visible

Sans grand succès le serveur nous demande de nous authentifier.

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
}

Via l'API officielle, avec authentification

Si nous nous authentifions, nous apprenons qu'une requête particulière devra être envoyée à l'utilisateur à qui nous souhaitons récupérer sa liste de contact. On comprend alors rapidement que ce type d'autorisation, au cas par cas, va rapidement être extrêmement limitante, malgré le quota de 2 millions de requêtes autorisées par jour.

Via l'API interne

L'analyse des journaux des requêtes faites par le navigateur sur les serveurs de Google+ nous apprend que la récupération de la liste de contact se fait via l'URL suivante.

https://plus.google.com/_/socialgraph/lookup/visible/?o=[null%2Cnull%2C""]

En interrogeant directement cette URL dans votre navigateur celui-ci va vous retourner un fichier response.txt contenant des données ayant une curieuse syntaxe.

)]}'

[["tsg.lac",[]
,[[[,,"110661163553027975344"]
,[]
,["Faisan Mezico",,,,"4e52150f806a1","BmZtIH_2033lLnZhGF-","FI4QDHp402BdDJodFk-",1,"//lh6.googleusercontent.com/-tpAJoURnuw0/AAAAAAAAAAI/AAAAAAAAAFQ/TDfgcRNxObM/photo.jpg",,1,,,,,0,,[]
,,,0,,[]
,,,[]
,[]
,,4,0,,[]
,,[]
,,,,,[]
]
,[]
]
,[[,,"101912980608854649615"]
,[]
,["WebUpd8",,,,"50960cba225a9","KI3fJJRj8-F8","1FGKBHhGGmwZ",1,"//lh4.googleusercontent.com/--zW_IOVlngs/AAAAAAAAAAI/AAAAAAAAHzY/-HFDg2zIa1c/photo.jpg",,1,,,,,0,,[]
,[,"http://www.webupd8.org",,,7]
,,1,"Daily Ubuntu / Linux news and application reviews.",[]
,,,[]
,[]
,,3,0,,[]
,,[]
,,,,,[]
]
,[]

Cette syntaxe semble d'approcher curieusement du JSON, au format tableau avec quelques petits changements.

Avec quelques lignes de PHP nous pouvons très facilement reconstituer une chaîne JSON valide.

Une fois les informations passées à la moulinette nous avons enfin une structure sur laquelle travailler.

array (size=2)
 0 => 
   array (size=3)
     0 => string 'tsg.lac' (length=7)
     1 => 
       array (size=1)
         0 => null
     2 => 
       array (size=66)
         0 => 
           array (size=4)
             ...
         1 => 
           array (size=4)
             ...
         2 => 
           array (size=4)
             ...
         3 => 
           array (size=4)

Je n'ai pas réussit à trouver la signification de l'ensemble des valeurs null mais j'ai réussit à déduire certaines d'entre elles. Nous observons la liste des contacts dans la structure renvoyée (avec mon jeu de donnée le profile interrogé avait ici 66 contacts). En tâtonnant un peu j'ai réussit à récupérer l'identifiant unique, le nom, l'avatar et la description.

 $c[0][2],
            'name' => substr($c[2][0], 0, 63),
            'avatar' => 'http://'. $c[2][8],
            'description' => htmlentities($c[2][21])
        ));
}
?>

Voici le résultat.

array (size=66)
 0 => 
   array (size=4)
     'idfull' => string '110661163553027975344' (length=21)
     'name' => string 'Faisan Mezico' (length=13)
     'avatar' => string 'http:////lh6.googleusercontent.com/-tpAJoURnuw0/AAAAAAAAAAI/AAAAAAAAAFQ/TDfgcRNxObM/photo.jpg' (length=93)
     'description' => string '' (length=0)
 1 => 
   array (size=4)
     'idfull' => string '101912980608854649615' (length=21)
     'name' => string 'WebUpd8' (length=7)
     'avatar' => string 'http:////lh4.googleusercontent.com/--zW_IOVlngs/AAAAAAAAAAI/AAAAAAAAHzY/-HFDg2zIa1c/photo.jpg' (length=93)
     'description' => string 'Daily Ubuntu / Linux news and application reviews.' (length=50)
…

Comme vous pouvez le constater, en quelques lignes de code nous pouvons parfaitement récupérer des informations structurées et compréhensibles à partir de l'API interne du réseau Google+ et cela en outrepassant toutes les limites de quota et d'autorisation imposées par l'entreprise.

J'ai suite à ça complété le script en tentant d'explorer le "graphe" Google+ de façon automatique via un système de saut de profil en profil. J'ai très rapidement récupéré les identifiants et informations de millions de comptes sans que Google ne me dise la moindre chose :)

Le navigateur interroge de très nombreuses URLs lors du chargement d'un profil Google+ avec pour bon nombre d'entre elles des informations structurées de la même façon que notre liste de contact.

Petite précision tout de même, l'ensemble des informations que j'ai ici récupéré sont des informations initialement publiques, que vous pouvez parfaitement avoir en chargeant le profile de la personne depuis un navigateur quelconque. Pour accéder aux données privées des utilisateurs il n'y a pas d'autre moyens (pour le moment) que de passer par l'API officielle et de récupérer, au cas par cas, les données.

Amusez vous bien !

Gravatar de Jaussoin Timothée
Original post of Jaussoin Timothée.Votez pour ce billet sur Planet Libre.

Blogmotion : [7-Zip] Activer tous les coeurs CPU pour compresser

jeudi 4 décembre 2014 à 09:41

La dernière version stable de 7-Zip date de 2010, et pourtant elle tourne toujours aussi bien. 7-Zip est depuis quelques années mon unique outil de compression/décompression, en plus d'être open source.

7-zip_tous-coeurs

Si vous avez un processeur de plus de deux coeurs, vous avez remarqué que 7-Zip n'en utilise que deux dans sa configuration par défaut.

Voici comment activer tous les coeurs pour une compression plus rapide.

LZMA2

Par défaut c'est l'algorithme de protection LZMA qui bride à 2 coeurs maximum :

7-zip_2_of_8

Choisir LZMA2 qui lui permet d'exploiter toute la puissance de votre machine, dans mon exemple je suis niveau ultra mais LZMA2 est disponible pour tous les modes :

7-zip_lzma2

Je dispose d'un CPU Intel Core i7 3770K, il y a donc 8 unités de calculs. Comme chaque unité supporte le multithread, on passe à 16 dans le menu 7-Zip. Et là je peux vous dire que votre CPU va en prendre plein les dents !

Niveau performance c'est aussi bon voir mieux, pas de souci, d'ailleurs 7-Zip est devant les autres outils similaires. Je vous invite à lire ce document pour plus de détails.

Un conseil au passage

J'en profite pour vous parler du menu "taille de bloc solide" fixé à 4 GB par défaut. Si vous comptez sur 7-Zip pour vos sauvegardes de répertoire descendez-le à "non solide". Le cas contraire un seul octet corrompu peut vous faire perdre toute l'archive 7z car cette option de compression compacte concatène tous les fichiers par blocs. Un peu comme sous Windows 95 quand on compressait son HDD pour gagner de la place, au premier défaut on perdait tout.

BM vous parraine en mode Premium chez iGraal.fr : 10 euros offerts à l'inscription :)
Vous devriez me suivre sur Twitter : @xhark

Article original écrit par Mr Xhark publié sur Blogmotion le 04/12/2014 | 11 commentaires |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons

Vous risquez d'être aussi intéressé par :

Gravatar de Blogmotion
Original post of Blogmotion.Votez pour ce billet sur Planet Libre.

Articles similaires

Damien : Google, Facebook : vampires numériques

jeudi 4 décembre 2014 à 08:00

Suite a une interview d’un expert en sécurité qui donne son avis sur le profilage des internautes, je lisais, atterré, certains commentaires regroupant un mélange d’ignorance et de méconnaissance.

« Google peut m’inonder de pubs, je ne m’y attarde pas car lorsque j’ai un achat à faire ce n’est pas la pub qui va diriger mon choix, loin de là. »

« Et que google dissèque mes émails, je m’en fiche mais trouve cela passablement minable comme procédé. »

« Evidemment, un bon antivirus /anti-ad / anti-spyware ne peut qu’ajouter à votre confort. Perso, je navigue tous les jours sur Google et consorts depuis des années et je n’ai jamais eu le moindre souci. »

« Que les entreprises utilisent Google est une chose. Mais Google n’utilise pas réellement la franchise pour se renseigner sur la clientèle des entreprises. »

En clair :

– la publicité, ça ne sert a rien car elle n’a aucune influence
– si Gmail lit mes mails, c’est mal mais je continue à l’utiliser
-les logiciels de sécurité vont me protéger de Google

Certes, j’ai choisi les commentaires les plus gratinés, je l’avoue bien volontiers. Mais j’en lis de cette teneur sur tous les sites d’informations qui abordent le thème de l’influence de la publicité. Les internautes du Point.fr sont donc des costauds qui ne sont pas concernés par les effets de la publicité. On appréciera à leur juste valeur ce genre de commentaires. Et oui, c’est bien connu, on est toujours plus malin que son voisin.

1) si vous pensez vraiment que le publicité n’a pas d’influence sur vous, comment expliquer que des milliards dEuros soient dépensés chaque année par des entreprises dans ce domaine ? Ces sociétés seraient-elles dans le faux car notre esprit serait incorruptible ?

2) pourquoi la mode est-elle à la collecte généralisée de nos données de consommations, de dépenses et de navigation internet ? Est-ce uniquement pour le plaisir de collecter du cookies et du clic ? Là encore, des millions seraient depenser pour rien ?

des éléments de réponse

Certains médicaments sont capables d’éteindre des pensées négatives et des désirs, d’autres stimulent le cerveau ou améliorent la concentration. Le cerveau est une suite de réaction chimique. Les mots, par le biais de la psychothérapie et de  thérapies comportementales, vont également créer ces réactions chimiques et réellement nous  »changer ». Dans l’Histoire, on peut observer des sociétés basées sur l’endoctrinement et l’embrigadement des citoyens par les mots, le discours et les images. Le cerveau humain est donc malléable. La publicité, par son travail permanent sur nos esprits, ça marche.

Ces dernières années, les neurosciences ont pris un essor extraordinaire avec le progrès de la technologie, de l’imagerie médicale et de la puissance de calcul des ordinateurs pour simuler et virtualiser toutes les expériences possibles et imaginables. La cartographie du cerveau avance, nos émotions sont décortiquées et nos pensées sont l’objet de recherches de plus en plus poussées.

Le neuromarketing et la neuroéconomie sont des sciences très récentes. Leur but est simple : connaître le fonctionnement de notre cerveau dans le processus de décision lors de la phase d’achat. C’est-à-dire lorsqu’on décide de sortir la carte de crédit pour acheter.

Imaginez un instant une entreprise capable d’influencer vos décisions d’achat dans 10-15% des cas ?

Comment en apprendre le plus sur le cerveau humain ?

il faut commencer par collecter toutes les données générées par ce même cerveau, ainsi que ces réactions face à divers stimulus : paroles, mots, achats, communication, déplacements, courrier, photos…  En les collectant et en les recoupant.

Le processus le plus simple pour vous connaître sur internet est de vous suivre sur le long terme. Si on peut vous suivre pendant 10 ans via votre courrier privée (Gmail, Yahoo, Apple…), via vos photos (Picasa, Flickr), via votre navigation sur internet (avec les navigateurs Google Chrome, Apple Safari), via votre utilisation des réseaux sociaux avec vos commentaires, vos groupes, vos +1, vos repartage (Google+, Facebook), via votre téléphone mobile (Android, Apple), alors on peut vous connaître mieux que quiconque. Mieux que vos parents ou votre femme.

Imaginez-vous avoir au dessus de votre épaule, depuis 10 ans, quelqu’un qui regarde votre vie silencieusement, prenne des notes sur tout ce que vous dites, sur ce que vous faites, sur ce que vous pensez ?

Au-delà de l’abandon de votre vie privée et de votre intimité, de grandes entreprises privées créent des profils isus leurs millions d’utilisateurs. Elles nous percent à jour, elles nous parcourent. Elles sont maintenant capable d’influencer nos vies.

Cette collecte permanente de nos données permet à ses entreprises de s’enrichir, de créer des monopoles incontournables, d’augmenter leur emprise sur le net et leurs utilisateurs en le traquant toujours plus.

Avec l’apparition des objets connectés, cette collecte va s’amplifier. La moisson de données pour enrichir les travaux des neuromarketeurs ne fait que commencer.

Aun moment, il faudra dire non.

 

_ Damien

partager sur Diaspora*

Gravatar de Damien
Original post of Damien.Votez pour ce billet sur Planet Libre.