Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide explique comment afficher l'adresse IP d'un site sur votre Hébergement Web.
Préambule
- L'adresse IPv4 est en principe la même pour chacun des sites sur l'hébergement (sauf si vous avez acquis une IP dédiée).
Afficher l'adresse IP de votre site
L'adresse IP est spécifiée sur la page de gestion de l'hébergement (Starter ou contenant plusieurs sites) :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez ensuite sur le chevron ‍ pour développer la partie Informations de cet hébergement.
- L'adresse IPv4 est affichée sur la page:
- L'adresse IPv6 est également affichée dans le cas des hébergements payants:
Ce guide explique comment désactiver sur un Hébergement Web l'ensemble des extensions installées sur votre WordPress.
Préambule
- Si vous rencontrez un souci avec votre site Web, désactiver les extensions WordPress permet d'identifier rapidement si l'une de celles-ci serait en cause et d'en tirer ainsi les conclusions qui s'imposent afin de réparer votre site.
- Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Désactiver rapidement des extensions WP
Pour désactiver l'ensemble des extensions WordPress:
- Connectez-vous sur le serveur en FTP (besoin d'aide ?).
- Rendez-vous Ă l'emplacement du site (dossier correspondant Ă votre site WordPress).
- Renommez
/wp-content/plugins
en/wp-content/_plugins
p.ex- Pour désactiver une extension spécifique, renommez
/wp-content/plugins/PluginName
en/wp-content/plugins/_PluginName
par exemple.
- Pour désactiver une extension spécifique, renommez
Ce guide explique le principe de réécriture d'URL à la volée.
Préambule
- La réécriture d'URL à la volée est une technique permettant de modifier l'apparence des URLs d'une page web sans changer réellement le chemin de la ressource.
- Ce procédé se fait par redirections virtuelles, transformant une URL visible en une autre plus esthétique, tout en conservant la destination initiale invisible aux visiteurs.
- Cette méthode est souvent utilisée pour rendre les URLs plus simples et lisibles, en masquant les paramètres des pages dynamiques.
- En plus d'améliorer l'esthétique pour les visiteurs, elle est bénéfique pour le référencement, car les moteurs de recherche préfèrent généralement les URLs sans paramètres complexes.
Exemple de réécriture d'URL
Prenez l'exemple de l'URL : article.php?id=25&categorie=4&page=3
. Elle peut être réécrite en : article-25-4-3.html
ou titre-article-25-4-3.html
. Voici comment configurer cela dans un fichier .htaccess
si article.php
se trouve dans le répertoire web/admin/
:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /admin/
RewriteRule ^article-([0-9]*)-([0-9]*)-([0-9]*).html$ article.php?id=$1&categorie=$2&page=$3 [L]
- Options +FollowSymlinks : autorise l’utilisation des liens symboliques
- RewriteEngine on : active le module de réécriture d’URL d’Apache
- RewriteBase /admin/ : indique le répertoire de travail
- RewriteRule : définie la règle de réécriture
Avec cette configuration, lorsqu'un utilisateur accède à article-25-4-3.html
, il est redirigé vers article.php?id=25&categorie=4&page=3
sans que cela soit visible.
Même si la réécriture d'URL est en place, l'ancienne URL reste fonctionnelle. Il est donc crucial de mettre à jour tous les liens internes de votre site pour adopter le nouveau format d'URL.
Rediriger vers un autre domaine
Si vous possédez plusieurs domaines pointant vers un même site, vous pouvez rediriger toutes les requêtes vers un domaine principal. P.ex si www.domaine.xyz
et www.mon-domaine.xyz
mènent au même site, mais que www.mon-domaine.xyz
est votre domaine principal, utiliser cette règle dans le .htaccess
de www.domaine.xyz
:
RewriteEngine On
RewriteRule ^(.*)$ http://www.mon-domaine.xyz/$1 [R=301]
Cela redirigera toutes les pages de www.domaine.xyz
vers www.mon-domaine.xyz
de manière transparente, avec une redirection permanente (R=301
).
Prenez également connaissance de cet autre guide à ce sujet.
Ce guide explique comment déplacer un site Web existant au sein d'un Hébergement Web Infomaniak sur un autre hébergement Web Infomaniak.
Préambule
- Il n'y a pas beaucoup de solutions clé-en-main pour déplacer un site Web.
- De façon générale peu d'hébergeurs proposent l'exportation ou l'importation d'un site complet avec ses bases de données ; cela vient notamment du fait qu'il existe une multitude de façon de construire un site et tout autant de langages plutôt incompatibles entre eux.
- Si toutefois le site à transférer est construit avec WordPress, prenez connaissance de cet autre guide illustrant une solution simplifiée.
- Il est également possible de déplacer un hébergement Web complet (lire plus bas).
- Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Solution manuelle: exemple de transfert de site
Pour le faire manuellement, il est nécessaire de:
- récupérer les données Web ainsi que les bases de données associées,
- republier cela sur un site créé sur l'hébergement Web de destination,
- et si le nom de domaine associé est identique, il faudra que le premier site soit effacé ou renommé.
Pour le reste, voici un exemple de marche Ă suivre :
- Commandez l'autre hébergement Web / Serveur Cloud si vous ne l'avez pas encore.
- Créez un «faux site» sur ce nouvel hébergement (par exemple dev.domain.xyz - lire plus bas).
- Copiez manuellement vos données en FTP et MySQL (export / import).
- Adaptez votre site si nécessaire (adresse de la base de données, etc.).
- Une fois que vous êtes satisfait du «nouveau site», supprimer l’ancien.
- Changez le nom du nouveau site pour lui donner son vrai nom.
Une alternative consiste, au point 2 ci-dessus, de travailler avec l'alias www.
que vous pouvez détacher au préalable de votre site actuel. En effet, l'alias www(.domain.xyz) est souvent installé en tant qu'alias de votre site, et il suffit de le détacher, ce qui permet la création d'un site sur l'autre hébergement avec le nom www.domain.xyz (n'oubliez pas, au point 6, d'ajouter votre alias de type "domain.xyz" sans les www à ce nouveau site).
Déplacements d'hébergements Web entiers
Il existe une façon automatisée de déplacer un hébergement Web Infomaniak vers:
- un Serveur Cloud Infomaniak (si l'hébergement est actuellement mutualisé ou si l'hébergement est déjà sur Serveur Cloud)
- une autre Organisation Infomaniak
Un hébergement Starter ne peut être déplacé mais il peut être converti.
Ce guide détaille la compatibilité des hébergements Web Infomaniak avec les IPv4 et IPv6.
Préambule
- Infomaniak prend en charge à la fois IPv4 et IPv6, permettant ainsi une connectivité optimale pour tous les utilisateurs.
- Seuls les hébergements Starter (gratuits) et les anciennes formules d'hébergement ne sont pas compatibles: mettre à niveau un Serveur Cloud ou hébergement mutualisé.
- La compatibilité avec IPv4 et IPv6 signifie que le service d'hébergement Infomaniak permet aux sites Web d'être accessible à la fois par les utilisateurs utilisant des adresses IPv4 et IPv6.
- Cela garantit que votre site peut être visité par tous les types d'appareils et de réseaux, offrant une expérience optimale à vos utilisateurs, quel que soit le protocole qu'ils utilisent pour se connecter à Internet.
IPv4, ou Internet Protocol version 4
C'est la première version du protocole Internet largement utilisée depuis les années 1980. Il utilise des adresses IP de 32 bits, ce qui permet d'identifier et de localiser les appareils connectés à Internet. Cependant, avec l'épuisement des adresses IPv4, il est devenu nécessaire de développer une nouvelle version (lire plus bas):
- Exemple d'adresse IPv4 : 192.168.0.1
- Dans cet exemple, l'adresse IPv4 est composée de quatre groupes de nombres séparés par des points…
- Chaque groupe peut contenir un nombre de 0 Ă 255.
- L'adresse 192.168.0.1 est souvent utilisée pour représenter une adresse IP locale dans un réseau privé.
- Trouver l'IP de votre site Web: prenez connaissance de cet autre guide…
- Obtenir l'IP publique de votre connexion Internet actuelle: https://chk.me/ip
IPv6, ou Internet Protocol version 6
C'est la dernière version du protocole Internet introduite pour résoudre le problème de l'épuisement des adresses IPv4. IPv6 utilise des adresses IP de 128 bits, offrant un espace d'adressage pratiquement illimité. Il offre également des fonctionnalités améliorées telles que la sécurité, la qualité de service et la configuration automatique d'adresse:
- Exemple d'adresse IPv6 : 2001:0db8:85a3:0000:0000:8a2e:0370:7334
- Dans cet exemple, l'adresse IPv6 est composée de huit groupes de nombres et de lettres séparés par des deux-points…
- Chaque groupe peut contenir un nombre hexadécimal de 0 à FFFF.
- L'adresse IPv6 est beaucoup plus longue que l'adresse IPv4, offrant ainsi un espace d'adressage beaucoup plus vaste.
Ce guide détaille l'utilisation de scripts Perl ou Python sur Hébergements Web Infomaniak.
Préambule
- Les scripts Perl et Python sont souvent utilisés avec le module CGID d'Apache pour générer des contenus dynamiques sur les serveurs Web.
- Ce module permet à Apache de traiter les requêtes utilisant des scripts écrits en Perl ou Python via le protocole CGI (Common Gateway Interface), offrant ainsi la possibilité de créer des pages web interactives et réactives en fonction des interactions des utilisateurs avec le site.
- Cependant, pour des considérations de sécurité, Infomaniak a choisi de désactiver la capacité à exécuter des scripts écrits en Perl ou Python via ce module spécifique (CGID) d'Apache sur ses offres d'hébergement mutualisées.
- Par conséquent, il faut envisager de changer d'offre pour une offre de Serveur Cloud si vous êtes actuellement sur un hébergement Web mutualisé.
Utilisation des scripts
Voici des informations pratiques:
- L'emplacement (path) de l'interpréteur de python est
/usr/bin/python
. mod_python
n'est pas supporté.- L'exécution de scripts sans l'extension
pl
oucgi
n'est pas possible cependant un fichier.pl
peut exister et être appelé via une URL sans l'extension.
Si vous obtenez le message d'erreur suivant:
CGIWrap Error: Execution of this script not permitted
Execution of that script is not permitted for the following reason:
(1) Script file not found.
Request Data:Extra Path Info: /dossier/wwwdata/collection/vignettes/blabla.PL.12.34.56.gif
alors que le fichier chargé est une simple image GIF avec un nom de fichier de type "blabla.PL.12.34.56.gif
" cela vient du nom des fichiers en question. Pour contourner le problème, renommez simplement vos fichiers.
Ce guide concerne les permissions de trafic entrant et sortant entre différents supports d'hébergement au niveau des bases de données.
Accéder aux bases de données d'un autre hébergement…
... depuis un hébergement mutualisé
A partir d'un hébergement mutualisé (sauf ancienne formule v1 - 60 Go), il est possible de se connecter aux bases de données…
- … d’un autre hébergement mutualisé
- … d'un hébergement sur Serveur Cloud
Vous pouvez donc partager une base et établir une connexion distante, voire un accès croisé.
... depuis un Serveur Cloud
A partir d'un Serveur Cloud, il est possible de se connecter aux bases de données…
- … d'un autre Serveur Cloud (il faut ouvrir le port
3306
en TCP / entrée dans le pare-feu)
mais il n'est pas possible de se connecter aux bases d'un hébergement mutualisé.
… depuis un autre hébergeur
Concernant l'accès aux bases MySQL depuis un autre hébergeur qu'Infomaniak ‍prenez connaissance de cet autre guide.
Ce guide explique comment afficher les chemins absolus Infomaniak pour certaines applications Web qui ont besoin de les connaître.
Obtenir le chemin absolu…
… d'un hébergement Web
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez ensuite sur le chevron ‍ pour développer la partie Informations de cet hébergement.
- L'indication mise en évidence ci-dessous est l'emplacement du site d'exemple:
… d'un site Web
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez ensuite sur le chevron ‍ pour développer la partie Informations de ce site.
- L'indication mise en évidence ci-dessous est l'emplacement du site d'exemple:
Ce guide vous concerne si vous rencontrez des problèmes d'encodage de pages et des caractères anormaux qui apparaissent sur vos pages.
Encodage universel
Si vous rencontrez des problèmes d'encodage de pages, il est important de vérifier que l'encodage de votre page est bien défini en UTF-8. UTF-8 est un encodage universel qui prend en charge la plupart des caractères utilisés dans le monde. Il peut arriver que certains fichiers contiennent des caractères incompatibles avec l'encodage UTF-8. Dans ce cas, vous devez les convertir en UTF-8 à l'aide d'un éditeur de texte approprié.
Si le codage de la page HTML est par exemple en UTF-8 alors que la base de données est en latin-1 les accents ne vont pas être interprétés correctement par MySQL. Si les pages contiennent des caractères spéciaux (textes arabes, chinois, accents) ils peuvent s'affichent correctement sur votre site Web mais pas dans phpMyAdmin, ou inversement...
Utiliser un éditeur de texte capable d'enregistrer vos fichiers en UTF-8. Si vous importez des fichiers texte avec du code SQL à l'intérieur, il faut les éditer avec un logiciel qui enregistre en UTF-8.
UTF-8 en PHP
Pour forcer les headers du site en UTF-8 en utilisant PHP, vous pouvez utiliser la fonction header()
avec le paramètre Content-Type
. Voici un exemple de code qui permet de forcer l'encodage des caractères en UTF-8:
<?php
header('Content-Type: text/html; charset=utf-8');
?>
UTF-8 via .htaccess
Pour forcer l'encodage des caractères en UTF-8 via le fichier .htaccess de votre site, pour du contenu HTML ajouter:
AddDefaultCharset utf-8
Header set Content-Type "text/html; charset=utf-8"
et pour du contenu PHP ajouter:
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8
UTF-8 en HTML
Pour spécifier l'encodage des caractères en UTF-8 dans le code HTML, vous pouvez utiliser la balise meta charset
:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Titre de la page</title>
</head>
<body>
<!-- Contenu de la page -->
</body>
</html>
Assurez-vous également que tous les fichiers utilisés sur votre site Web, tels que les fichiers de style CSS et les scripts JavaScript, sont également encodés en UTF-8. Cela garantit que tous les caractères sur votre site Web seront affichés correctement.
UTF8 en base de données
Pour (re)déclarer l'encodage des bases de données et des tables en UTF-8 dans phpMyAdmin, vous pouvez suivre les étapes suivantes:
- Connectez-vous Ă votre panneau de contrĂ´le phpMyAdmin.
- Cliquez sur l'onglet "Opérations" en haut.
- Dans la section "Options de la table", recherchez la ligne "Collation" et cliquer sur le bouton déroulant.
- Séelctionnez une option de collation qui utilise l'encodage UTF-8, par exemple
utf8_general_ci
. - Cliquez sur le bouton "Exécuter" en bas de la page pour enregistrer les modifications.
Ajoutez la fonction PHP mysql_set_charset
à la connexion créée par mysql_connect afin de déterminer l'encodage de cette connexion (si vous ne la spécifiez pas, la valeur par défaut de ce paramètre peut varier d'un serveur à l'autre):
$connection = mysql_connect($server, $username, $password);
mysql_set_charset('utf8', $connection);
Vous pouvez également modifier ce paramètre par défaut sur tout votre hébergement en suivant cette documentation.
Une fois la connexion MySQL établie depuis un script PHP, vous pouvez aussi spécifier le type de charset UTF8 avec ces commandes:
mysql_query("SET NAMES 'utf8';");
mysql_query("SET CHARACTER SET 'utf8';");
Accents / Caractères spéciaux
Lorsque vous récupérez une sauvegarde de votre base de données MySQL (appelée "dump") et que vous l'importez dans votre propre base de données, il se peut que les accents (comme é, à , ô) apparaissent sous forme de symboles étranges, comme des points d'interrogation (par exemple "?" à la place d’un accent).
Cela arrive parce que les sauvegardes MySQL sont généralement créées en utilisant un format spécial appelé UTF-8
. Dans ce format, les lettres avec des accents utilisent plus d'espace (elles sont codées sur deux octets, un peu comme deux "unités" de données par caractère). Sur les serveurs, cela fonctionne bien, mais si vous travaillez sur votre ordinateur personnel, vous devrez peut-être ajuster certaines configurations pour que l'importation se fasse correctement en utilisant UTF-8
. Le problème des caractères étranges survient généralement lorsqu'il y a un désalignement d'encodage entre le fichier de sauvegarde et l'importation. Cela peut se produire si le fichier est encodé dans un format (par exemple UTF-8
) mais que MySQL s'attend Ă un autre encodage (par exemple latin1
).
Voici quelques solutions :
- Convertir le fichier : Vous pouvez convertir le fichier de sauvegarde de
UTF-8
vers un autre format, appelélatin1
, avant de l'importer dans votre base de données. Cela peut éviter que les accents soient mal interprétés mais cela comporte des limitations. Si le fichier contient des caractères qui ne peuvent pas être représentés enlatin1
(comme certains caractères spéciaux ou non européens), vous risquez de perdre ces caractères lors de la conversion. C’est donc une solution à utiliser avec précaution, et elle dépend du type de données présentes dans votre fichier SQL. - Spécifier le bon format lors de l'importation : Si vous n’avez pas converti le fichier, vous pouvez indiquer, lors de l’importation, que le fichier est au format
iso-latin1
(lors de l'importation d'un fichier SQL, vous pouvez indiquer explicitement que le fichier est en ISO-8859-1, aussi appelé latin1). Cela permet d'aligner l'encodage du fichier avec celui attendu par MySQL, ce qui résout généralement le problème des caractères mal affichés.
Si vous voyez des points d'interrogation Ă la place des accents, cela signifie probablement que le fichier de sauvegarde est dans un format autre que UTF-8
, mais que votre logiciel tente de l’importer comme s’il était en UTF-8
. Pour éviter cela, sous Linux, vous pouvez utiliser une commande appelée iconv
pour convertir le fichier en UTF-8 avant l'importation. Cela permet de s'assurer que l'encodage est cohérent avec les attentes de MySQL.
Ce guide indique comment modifier la directive error_reporting()
sur votre site Web.
Activer le rapport d'erreurs
Indiquez les 2 informations suivantes dans votre fichier .user.ini
:
display_errors=on
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT
Si votre navigateur n'affiche ni erreur ni avertissement c'est qu'il n'y en a pas.
Désactiver l'affichage d'erreurs PHP
Pour WordPress, éditez le fichier wp-config.php
et remplacez la ligne:
define('WP_DEBUG', false);
par :
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
Sinon, vous pouvez ajouter le code suivant dans le fichier .user.ini
:
display_errors=off