juin 27

Installation de base de Joomla

Préparation

envoie de joomla sur le serveur = 20min
Remplacer le prefix « jos_ » par un autre (pour éviter la visibilité des tables Joomla)

déploiement de joomla = 5
copier le .htacces de base (pour forcer le PHP5) sous peine d’erreur avec des composants ou plugs

La position de module debug

Cette position est souvent oubliée dans la conception des templates. Elle permet d’insérer du code comme celui de Google analytics par exemple.

A insérer juste avant la fermeture du body :
<jdoc:include type="modules" name="debug" />

La position pour les messages système

Joomla! renvoit des messages importants aux utilisateurs comme lors d’une erreur de connexion.
Ces messages sont souvents affichés juste avant l’appel au composant :

<jdoc:include type="message"/>

Les styles globaux

Certains syles généraux pour l’affichages des messages d’erreur et d’autres styles par défaut sont inclus dans les fichiers ‘general.css’ et ‘system.css’.
N’oubliez pas de les inclure :

1 <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
2 <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />


SECURITE

Changer le super-administrateur par défaut! (L’ID par défaut pour l’utilisateur admin dans Joomla est toujours 62.)
Créer un nouveau super-admin et supprimer l’ancien.

plugin Sentinelle (anti-hack)

ou
JhackGuard
Pour le rendre valid W3C:
Editer plugins/system/jhackguard.php, ligne 74, virer les balises CENTER

Logging options

  • Fichier journal – Ici vous pouvez entrer le nom du fichier où les billes sur les activités plugin sera conservé. Log file – Here you can enter the file name where the logs about the plugin activities will be kept. Le nom de fichier par défaut est jHackGuard-log.php. The default file name is jHackGuard-log.php. Il est stocké dans le cadre du dossier logs. It is stored under the logs folder.
  • Activer la journalisation – Vous pouvez décider si les activités plugin sera connecté Enable Logging – You can decide whether the plugin activities will be logged
  • Les flux de données Data Streams
  • Filtrer $ _POST – Filtres variables provenant de la méthode POST HTTP. Filter $_POST – Filters variables coming from the HTTP POST method.
  • Filtrer $ _GET – Filtres variables passées au script par le biais de paramètres d’URL. Filter $_GET – Filters variables passed to the script through URL parameters.
  • Filtrer $ _COOKIE – Filtres variables provenant de cookies HTTP. Filter $_COOKIE – Filters variables coming from HTTP Cookies.

Filtrage des paramètres Filtering parameters

  • eval Filter () – Filtres le résultat de l’évaluation d’une chaîne comme un script PHP. Filter eval() – Filters the result of the evaluation of a string as PHP code.
  • Filtrer base64_decode – Filtres le résultat de la base64 de décodage de données codées. Filter base64_decode – Filters the result of the base64 encoded data decoding.
  • Filtrer les commandes SQL – Filtres l’exécution de commandes SQL. Filter SQL commands – Filters the execution of SQL commands. Cette solution empêche les attaques par injection SQL. This solution prevents SQL injection attacks.

Paramètres avancés Advanced Parameters

  • Allow_url_fopen – Désactive l’option de récupérer des fichiers sur serveur FTP ou Web. Allow_url_fopen – Disables the option to retrieve files from remote FTP or Web server. Cette solution protège votre site web contre les injections de code. This solution protects your web site against code injections.
  • Allow_url_include – Désactive la possibilité d’inclure des URL dans les demandes de PHP. Allow_url_include – Disables the option to include URLs in PHP requests. De cette façon, votre site web seront protégés contre les attaques à distance l’inclusion URL. In this way your web site will be protected against Remote URL Inclusion attacks.

plugin Jsecure (modification du lien vers le dossier admin)

indiquer dans « key » un mot/chiffre
qui modifiera l’url de l’admin « ? » à rajouter dans le lien:
adresse_du_site/administrator/?mot-de-passe
diriger vers l’URL: plugins/system/404.html

Pour ne pas que la balise meta-generator indique que le site a été fait avec Joomla:

Dans le fichier index.php du template, entre les balises php du début, insérer « $this->setGenerator(null); »

composant AkeebaBackUp (sauvegarde du site)

Créer un dossier ,si possible au dessus de www avec des droits 777 pour les sauvegardes, Copier un « .htacces » et un « index.html » dedans.
Les problèmes de sauvegarde qui échoues viennent souvent d’un .htacces mal paramètré.

Composant Jupdate (mise à jour auto de Joomla)

SEO

Pour que Google « voit » les images du site:

Editer le fichier robot.txt et supprimer « Disallow: /images/ »

Plugin Google Analytics

Composant Xmap

ne pas inclure le titre des liens

les paramètres de la liste sont modifiable (http://www.w3schools.com/css/css_list.asp)

Installer le plugin (via Xmap et l’activer via les plugins Joomla) qui rajoute un bouton dans l’éditeur permettant de lié un mot vers un des liens des menus

pour insére un liens qui n’est pas dans un menu:

Créer un menu nommé « divers » ou « caché », ajouter le lien

ajouter le menu dans Xmap

Configurer l’adresse du fichier XML dans Google:

https://www.google.com/webmasters/tools/sitemaps/

EDITEUR

composant JCEeditor

dans config/formatage:
style fenetre = personnel
CSS du template = non

groupes/defaut/parametres editeur:

largeur, indiquer la largeur du contenu des pages + 25px+marge dans contenu (si présent)

chemin des images, images

autoriser CSS, PHP, JAVA

couleurs personnalisées, les couleurs du site

dans groupe/defaut/parametre editeur:
indiquer le chemin des images
autoriser PHP CSS XHTML

dans groupe/defaut/parametre des plugins:
coller spécial = autoriser

Pour la validation CSS:

plugins/system/jceutilities/css/

remplacer « overflow-y » par

#jcepopup-ajax {
overflow: auto;

configurer l’éditeur JCE

Configuration, si CSS du template = NON et CSS perso = chemin du CSS (dans le dossier CSS du template) spécialement dédié à l’éditeur.
Ne tient compte que des classes sans balise ajoutée

Paramètres éditeurs/options éditeurs:
format « bloc de texte » = indiquer les éléments utilisables dans l’éditeurs

installé plug_jce_utilities
pour avoir les popups activés
class: jcepopup ou jcetooltip (infos bulle de la descrption)

dans config/groupes/paramètres:
indiquer le chemin vers un dossier « mes-images » pour l’utilisateur (créé dans le dossier « images » de joomla)

plugin JCEeditor (pour le rajout de plugins)

plugin MediaBox (popup et lightBox)

CONTENU

Plugin MavikThumbails

dans plugins, changer répértoires des miniatures
placer les images (précédent, suivant, fermer) dans le dossier:
plugins/content/mavik/slimbox/css
modifier le CSS avec nom et tailles des nouvelles images

Pour modifier le CSS des miniatures:

plugins/mavikthumbails/style.php
a.with-zoomin-img

Pour séparer par un trait le texte du bas de la photo:

#lbCenter, #lbBottomContainer

padding-top: 5px;
border-top: solid thin #06c;

modifier le JS (ligne 16) = showCounter: false (pour ne pas afficher « 2 of 5 »)
plugins/content/mavik/slimbox/js

plugin AllVideo (poup de différents contenues)

composant Qcontact (formulaire de contact avec captcha)

insérer dans le CSS du site:
.qcontacts_email #captcha_code {/*entourer le champ captcha*/
border: solid 4px #0066CC;
}
.qcontacts_email .required {/*enlever le rouge des champs requies*/
color: #000 !important;
}

#qcontacts .marker {/*pour souligner et espacer les textes devant les infos*/
text-decoration: underline;
font-weight: bold;
width: 20%;

Pour modifier le message de réponse:
éditer dans language/fr/com_qcontacts.ini

CONFIRMATION_TITLE=Thank you!
CONFIRMATION_MESSAGE=Your message has been sent. Thanks for contacting us.
GO BACK=Go Back

janvier 25

Installation de base de WordPress

Création du thème

Le choix des couleurs

Le site CSSdrive dispose d’un outils permettant de récupérer les couleurs et leurs code HTML d’une image, pratique pour faire une charte graphique à partir du logo du client.
Le tout peut être exporté et conservé en tant que fichier HTML, dans le dossier de construction du site par exemple.

Police de caractère

Afin de pouvoir insérer un titre avec une police différente et ludique SANS avoir besoin que chaque PC des internautes l’est installée ou de transformer le titre en image), utiliser une des 500 GoogleWebFonts mis à disposition par Google himself :

Choisir la police, cliquer sur « quick use »

En bas de la page, copier le lien fourni entre les balise « <head> » du site.

Editer le fichier « style.css » du thème en cours et modifier la balise souhaitez avec le sélecteur « font-family » et la police choisie.

Ou installer et utiliser l’extension MyCustomCSS » qui permet d’intégrer du code CSS comment à tous les thèmes.

PS: les extension que j’ai pu tester ne m’ont pas satistaites, soit toutes les polices Google ne sont pas dispo, soit elle s’applique seulement à une balise…

Installation de WordPress

Télécharger la dernière version de WordPress,  décompresser le zip
Editer le fichier « wp-config-sample.php« , indiquer les infos de la base de donnée :

  • Renseigner nom, passe, hote, serveur SQL
  • Modifier le préfix des tables (WP_ par défaut) par autre chose
  • Générer et remplacer les clé de cryptage par défaut (voir plus bas))

enregistrer le fichier sous « wp-config.php« .

Optimisation

Editer le fichier wp-config.php :

Limiter le nombre de révisions des articles.
define(‘WP_POST_REVISIONS’, 2);

Vider la corbeille tous les 3 jours.

define(‘EMPTY_TRASH_DAYS’, 3 );

Editer le fichier « htaccess.txt » et ajouter au minimum le déclaration PHP5 (SetEnv PHP_VER 5) souvent indispensable pour l’installation et/ou la mise à jour de wordpress.

Envoyer les fichiers sur le serveur
Allez sur « wp-admin/install.php«  et commencer l’installation

Un fois installé, supprimer les fichiers « readme.txt » et  « wp-config-sample.php ».

Mise en test

Il est bien de pouvoir développer le site en ligne, afin que le client puisse le voir aussi MAIS tout en le cachant au yeux des internautes qui aurait déjà l’adresse du site.
On doit donc soit installer au départ les fichiers WordPress dans un dossier du site par exemple « test » ainsi, il sera accessible via l’adresse du site suivie de /test.

On prendra soin de mettre à la racine du site, un fichier index.html qui contiendra un message du style « le site Web de ************* est en construction, soyez patient ! »
On peut personnaliser en créant un dossier « image-construction » et qui contient le logo du futur site et le rajouter sur la page de construction par exemple.

Déplacer le site

Une fois le site fini et validé, on peut le déplacer à la racine du site.

Allez dans « réglages/options générale » et renseigner :

Adresse web du site
Adresse web du serveur

WordPress fera automatiquement le lien

Du local au serveur

l’ extension Duplicator permet de faire un pack complet d’un site et de ses extensions afin de les installer par la suite sur le serveur via un installateur dédié

Création des comptes utilisateurs

  • Modifier les options d’affichage (en haut de l’écran d’admin) pour afficher le minimum pour le client
  • Supprimer l’article de test
  • Créer un compte ADMIN, se loguer avec et supprimer le compte ADMIN de départ
  • Créer un utilisateur « editeur » pour le client

Voila l’interface qu’un « editeur » aura :

Compte dédié au client

Pour adapter parfaitement l’admin qui sera accessible à l’utilisateur non-admin, l’extension AdminMenuEditor permet de ajouter/retirer les boutons vers différentes parties de l’admin.

Sécurisation

LE plugin à avoir pour sécuriser WordPress est Better WP Security, en Français et qui permet en autre :

  • Changer le ID de l’admin
  • Changer le préfix des tables
  • Changer le lien vers l’admin
  • Changer le dossier « content »
  • limiter le nombres d’accès à l’admin
  • Passer en SSL
  • Détecter un grands nombres d’erreurs 404
  • Sauvegarder sa base de données automatiquement

 

Clés de cryptage

Supprimer le fichier readme.txt et le dossier install du serveur.

Créer des clés unique , via api.wordpress ou api.wordpress et les coller dans le fichier wp-config.php.

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

 Protéger l’accès à l’administration

L’extension Limit Login Attempts permet de limiter le nombres de tentatives de connexion à l’admin.

Protéger des spam bot et injection de code malicieux

L’extension Bad Behavior, pour les spam.

L’extension Block Bad Queries, pour les injections diverses.

Créer une URL personnalisé pour allez sur l’admin

par défaut, le lien de l’admin de tout les sites wordpress est « adresse-du-site/wp-admin », un peu facile pour les hackers.
Une astuce permet de modifier cette URL et aussi, de placer un lien masquer en bas à droite du site qui amènera sur l’admin.

Rajouter ces 2 lignes dans le fichier .htacess :

RewriteEngine On
RewriteRule ^terme$ http://nom-de-domaine.fr/wp-login.php [NC,L]

L’accès à l’admin du site se fera donc via l’URL http://www.nom-de-domaine.fr/terme

Créer un lien masqué pour allez sur l’admin

Pour éviter d’avoir à mémoriser cette adresse, on peut dissimuler un lien invisible au seins de la page d’accueil du site.
insérer à la fin du code (just avant la fermeture de body) de footer.php :

<div style="float: right; height: 50px; width: 50px;">
<a href="<?php bloginfo ('url'); ?>/loulou" style="border: none;"><img src="<?php bloginfo ('template_directory'); ?>/images/admin-transparent.png" /></a>
</div>

Placer dans le dossier « images » du thème l’image PNG (un carré transparent) admin-transparent.png
une fois fait, sur la page d’accueil, il suffira de placer la souris en bas à droite de la page pour faire apparaitre un lien invisible.

Autre solution, avec le plugin CodeInsertManager qui permet de rajouter du code en différent endroit du site.
En choisissant « pied de page » et en collant ce code :

<a href="<?php bloginfo ('url'); ?>/wp-admin" style="border: none;"><img style="height: 50px; width: 50px;" src="<?php bloginfo ('template_directory'); ?>/admin-transparent.png" /></a>

Modifications diverses

Un peu de « hack » rajouté dans « functions.php » peuvent s’avérer parfois bien utile,
Le site WP-SnipPets en proposent légion.

Modifier l’interface LOGIN

Par defaut, la page de LOGIN affiche le logo de WordPress, avec un texte au survol « propulsé par Worpress » et un lien vers le site WordPress, que des trucs qu’un client n’a pas à voir.
Pour rajouter son logo (l’image devra se trouver dans le dossier « images » du template en cours et ne nommer « logo-login.png »), un texte qui affiche le mail de l’admin du site (je suppose que c’est aussi le créateur du site) et un lien vers le site du créateur, il faut rajouter dans functions.php :

<?php
function my_custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/logo-login.png) !important; }
    </style>';
}
add_action('login_head', 'my_custom_login_logo');

add_action( 'login_headerurl', 'my_login_logo_url' );
function my_login_logo_url() {
return 'http://www.d1-clic.com';
}
add_filter( 'login_headertitle', 'my_login_title');
function my_login_title(){
return get_bloginfo('admin_email', 'display' );
}
?>

Google Analytics

Créer un compte Google sans Créer d’adresse Gmail mais lié à l’adresse mail du site Web (ex: contact@mon-site.com).
Le site Web aura son propre compte Analytics et le client sera libre d’agir sur les paramètres de statistiques.

Sur google Analytics, suivre les indications pour ajouter un site web.

analytics - enregistrement

Si on ne veut pas forcement lié le site à une personne morale, on peut indiquer dans  le champ « nom du compte » simplement PROPRIETAIRE.

penser à ajouter son adresse IP (public) et si possible celle du client, dans admin/filtres, histoire de ne pas compter ses propres visites.

analytics - filtre-IP

Dans admin/informations de suivi, copier le code de tracking et le coller juste avant la fermeture de la balise HEAD du code source du site.

On peut utiliser ce hack, à insérer dans le fichier functions.php du thème.

/* ajouter le code Google Analytics (après "fonction ga"* )*/
add_action('wp_head', 'ga');
function ga() { ?>

***** code du tracking ici *****

<?php 
}

Paramétrage de WordPress

Mettre le serveur à l’heure

générale/fuseaux horaire

Ce site indique le décalage par rapport à l’heure UTC

Désactiver les commentaires (si WordPress est utilisé en tant de site)
si non, dans réglages/permaliens, indiquer : mois et titre

Indiquer la page d’accueil

réglages/options générales

Agrandir l’éditeur de texte

taille du champ de saisie : mettre 50 pour avoir plus de place dans l’éditeur de texte

réglages/options d’écriture

Indiquer la taille des miniatures et de la taille maxi des photos
décocher « recadrer les images… » sous peine d’avoir des miniatures qui ne représente qu’une partie de l’image.

réglages/réglages des medias

Sauvegarde

Dans wordpress, il y à 2 choses à sauvegarder :

  1. la base de données – elle contient tout le contenu des articles, pages, les liens, les catégories… la liste et les réglages des plugins et des thèmes… bref, c’est la mémoire du site. Elle se sauvegarde d’un fichier de petite taille (pour un site classique) .sql, qui peut être facilement envoyé par mail par exemple.
  2. Les fichiers du site – c’est à dire tous les fichiers qui construisent WordPress ET tout le contenu de la bibliothèque de Medias (images, vidéos, zip…).

Certains plugin de sauvegarde sauvegarde les deux ensembles, d’autres se contente d’envoyer la base de données du site par mail toute les semaine par exemple.

 

Extensions utiles

WordFence (sécurité)

WPS HideLogin (modifier le lien vers admin)

Adminer (gestion de la base de donnée)

wp-admin-ui-customize (personnalisation de l’admin)

WP PHPinfo (voir les infos PHP)

CodeInsertManager (insertion de code HTML/PHP)

Dashboard Site Notes (mettre des notes, en widget sur l’admin)

source01

Catégorie : Best, WORDPRESS | Commenter
novembre 19

Copier un site Joomla en local (avec Uwamp)

Installer le serveur Web (portable) UwAmp

Faire une sauvegarde du site avec Akeeba backup et downloder le .jpa par FTP sur le PC dans le dossier racine du site
(www de UwAmp/dossier du site)

Lancer le PHPmyAdmin de UwAmp et créer une base de donnée, de préférence de même nom de la base du site distance,
indiquer un mot de passe l’utilisateur » root » (joomla l’impose)

installer les fichiers de KickStart (akkeba) dans le dossier du site

lancer le kickstart.php en indiquant le fichier de sauvegarde Akeeba (.jpa)

serveur= »localhost ou 127.0.0.1″ utilisateur= »root » , mot de passe=rien ou celui indique dans phpmyadmin/sql/privilèges/root, nom de la base=celle créé dans phpmyadmin

IMPORTANT
En cas de code erreur #1045 (acces denied) PHPmyAdmin, éditer le fichier /UwAmp/apache/phpmyadmin/config.inc.php
Indiquer le mot de passe choisi:
$cfg[‘Servers’][$i][‘password’] = ‘admin’;

Dans les paramètres « infos site » cochez « corrigez les chemins temp et log »

Une fois l’installe faite, copier en local le fichier .htaccess du site distant.
Supprimer le dossier « install » de Joomla, les fichier de KickStart et le fichier .jpa de la sauvegarde.

Catégorie : Joomla - Astuces | Commenter