WordPress 5.1 : Un vrai plus sur la securité !

67 x served & 16 x viewed

J’ai donc fait la mise à jours :

La dernière version va surement me permettre de ne plus utiliser WordFence, elle permet de sécuriser le site :

L’interface est vraiment simple à comprendre …

A suivre !

How to import data of WordPress (Feed RSS) to Joplin ?

96 x served & 32 x viewed

Install JOPLIN : https://joplin.cozic.net ,  and start REST API. (Easy)

Step 1 : Put this script in folder.

Step 2 : Edit the script and put your token 

Step 3 : Run the script

The script :

#
# Version 1 
# for Python 3
# 
#   ARIAS Frederic
#   Sorry ... It's difficult for me the python :)
#

import feedparser
from os import listdir
from pathlib import Path
import glob
import csv
import locale
import os
import time
from datetime import datetime
import json
import requests

#Token
ip = "127.0.0.1"
port = "41184"
token = "Put your token here"

nb_import = 0;
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}

url_notes = (
    "http://"+ip+":"+port+"/notes?"
    "token="+token
)
url_folders = (
    "http://"+ip+":"+port+"/folders?"
    "token="+token
)
url_tags = (
    "http://"+ip+":"+port+"/tags?"
    "token="+token
)
url_ressources = (
    "http://"+ip+":"+port+"/ressources?"
    "token="+token
)

#Init
Wordpress_UID = "12345678901234567801234567890123"
UID = {}

payload = {
    "id":Wordpress_UID,
    "title":"Wordpress Import"
}

try:
    resp = requests.post(url_folders, data=json.dumps(payload, separators=(',',':')), headers=headers)
    resp.raise_for_status()
    resp_dict = resp.json()
    print(resp_dict)
    print("My ID")
    print(resp_dict['id'])
    WordPress_UID_real = resp_dict['id']
    save = str(resp_dict['id'])
    UID[Wordpress_UID]= save
except requests.exceptions.HTTPError as e:
    print("Bad HTTP status code:", e)
except requests.exceptions.RequestException as e:
    print("Network error:", e)

feed = feedparser.parse("http://www.cyber-neurones.org/feed/")

feed_title = feed['feed']['title']
feed_entries = feed.entries

numero = -2
nb_entries = 1
nb_metadata_import = 1

while nb_entries > 0 : 
  print ("----- Page ",numero,"-------")
  numero += 2
  url = "http://www.cyber-neurones.org/feed/?paged="+str(numero)
  feed = feedparser.parse(url)
  feed_title = feed['feed']['title']
  feed_entries = feed.entries
  nb_entries = len(feed['entries'])
  for entry in feed.entries:
     nb_metadata_import += 1
     my_title = entry.title
     my_link = entry.link
     article_published_at = entry.published # Unicode string
     article_published_at_parsed = entry.published_parsed # Time object
     article_author = entry.author
     timestamp = time.mktime(entry.published_parsed)*1000
     print("Published at "+article_published_at)
     my_body = entry.description
     payload_note = {
         "parent_id":Wordpress_UID_real,
         "title":my_title,
         "source":"Wordpress",
         "source_url":my_link,
         "order":nb_metadata_import,
         "user_created_time":timestamp,
         "user_updated_time":timestamp,
         "author":article_author,
         "body_html":my_body
         }
     payload_note_put = {
         "source":"Wordpress",
         "order":nb_metadata_import,
         "source_url":my_link,
         "user_created_time":timestamp,
         "user_updated_time":timestamp,
         "author":article_author
         }

     try:
         resp = requests.post(url_notes, json=payload_note)
         resp.raise_for_status()
         resp_dict = resp.json()
         print(resp_dict)
         print(resp_dict['id'])
         myuid= resp_dict['id']
     except requests.exceptions.HTTPError as e:
         print("Bad HTTP status code:", e)
     except requests.exceptions.RequestException as e:
         print("Network error:", e)

     url_notes_put = (
    "http://"+ip+":"+port+"/notes/"+myuid+"?"
    "token="+token
)
     try:
         resp = requests.put(url_notes_put, json=payload_note_put)
         resp.raise_for_status()
         resp_dict = resp.json()
         print(resp_dict)
     except requests.exceptions.HTTPError as e:
         print("Bad HTTP status code:", e)
     except requests.exceptions.RequestException as e:
         print("Network error:", e)

WordPress : Export vers un livre en PDF

133 x served & 42 x viewed

J’ai fait une petite sélection :

J’ai donc fait un test avec celui qui me semble être le meilleur : Blog booker : https://www.blogbooker.com/export_wordpress.php .

La première étape consiste à faire un export en XML :

Le fichier fait 35 Mo pour mon blog complet.

La seconde phase, c’est pas ici :  https://www.blogbooker.com/wordpress.php :

On indique où est le fichier XML et le lien vers le blog … et on patiente.

On se retrouve avec un Livre de 934 pages, à noter qu’il y a beaucoup d’erreur mais il n’est pas possible d’avoir la liste afin de comprendre et corriger. Le PDF fait 12 Mo, donc 1/3 du fichier XML … autant dire qu’il y a du avoir quelques ratés. Normalement j’ai 1123 articles, et il en compte 291 (25%). Mais j’ai utilisé la version Free, donc c’est normal d’avoir une limite. 

L’export des tableaux HTML ne fonctionne pas :

On va dire que c’est un bon début …

A suivre.

 

Raspberry/Munin : Monitor d’un site WordPress distant ( httpresponsetime )

552 x served & 60 x viewed

Installation d’un plugin en python : https://github.com/arthur-debert/munin-httpresponse-plugin/blob/master/httpresponsetime

$ sudo vi /usr/share/munin/plugins/httpresponsetime
 -> Copie du script.
$ sudo ln -s  /usr/share/munin/plugins/httpresponsetime /etc/munin/plugins/httpresponsetime
$ sudo chmod +x  /usr/share/munin/plugins/httpresponsetime /etc/munin/plugins/httpresponsetime
$ sudo apt-get install python-setuptools python-dev build-essential
$ sudo easy_install pip
$ sudo pip install httplib2

Ajout dans le fichier :

$ sudo vi /etc/munin/plugin-conf.d/munin-node
...
[httpresponsetime]
    env.urls http://www.cyber-neurones.org
...

Et on relance :

$ sudo munin-node-configure --shell
$ sudo service munin-node restart

Et voici le résultat :

WordPress & PHPNET.ORG : Quel est le coût ?

182 x served & 28 x viewed

Le lien commercial de PHPNET.ORG : https://www.phpnet.org/hebergement-wordpress.php ( et https://www.phpnet.org/hebergement-mutualise.php ) .

La formule ECO est à 0,99 Euro HT , on va dire 14,26 Euros TTC/an ( Cette offre comprend un domaine offert en .fr ) :

Cela doit faire 6 ans que je fais mon blog :

En 6 ans, j’ai la taille de la base de donnée qui est de 65 Mo, pour 1102 posts :

L’espace disque est de 6 Go.

J’ai donc du payer environ : 6 ans x 15 Euros = 90 Euros ( pour WordPress.org à ne pas confondre avec WordPress.com ) . En fait j’ai payé plus cher car je n’ai pas un nom de domaine en .fr mais en .org . A l’époque le .fr n’était pas encore d’actualité …  ( cyber-neurones.org a été acheté il y a très longtemps chez Gandi.net )

Je préfère payer 90 Euros que d’avoir un site gratuit sur :

Avec ses sites on ne maitrise pas la publicité et on est limité dans l’évolution, rien à voir avec du VRAI WordPress. A mon avis le mieux c’est de rien faire … sinon on génère du trafic pour eux. A limite on doit pouvoir écrire un article contrôle la malbouffe et se retrouver avec une pub pour un fast food.

Sinon il existe aussi une autre fausse bonne idée, se monter un Raspberry Pi 3 Modèle B+ avec WordPress.

  • Quel est le cout du Raspberry ? on va dire 60 Euros pour un pack complet
  • Il va falloir mettre un disque SSD car la carte SD ne va pas tenir plus de 3 ans. Donc +30 Euros.
  • Il va falloir ouvrir les ports 22/tcp, 80/tcp, 443/tcp. On va donc faire un trou de sécurité.
  • Quel est le cout de la consommation électrique sur un an ?
  • Est-ce que la qualité de l’ADSL ou de la fibre permet réellement de faire cela ?
  • Est-ce que c’est onduler ?

L’option Raspberry n’est donc pas rentable et fiable si on fait une analyse …

Misère.