Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide détaille les restrictions relatives au nombre de connexions simultanées autorisées sur les bases de données MySQL des hébergements Web.
Seuils de connexions MySQL simultanées
Afin de préserver la stabilité, la sécurité et la réactivité du serveur pour l'ensemble des utilisateurs, des limites de connexions simultanées sont appliquées par le système.
Pour chaque utilisateur de base de données chez Infomaniak, le plafond est fixé à 38 connexions MySQL simultanées.
Ce quota prévient toute saturation des ressources partagées. Si ce seuil est franchi, l'accès est momentanément bloqué et des erreurs de type User has already more than 'max_user_connections' active connections ou Too many connections peuvent s'afficher.
En pratique, ce seuil est rarement atteint. Si nécessaire, il est tout à fait possible de répartir la charge en créant des utilisateurs MySQL distincts pour les différents scripts ou services de votre site.
Aucun quota de connexions horaires
Infomaniak n'impose aucune restriction sur le volume de requêtes par heure. Les paramètres tels que MAX_QUERIES_PER_HOUR ou MAX_CONNECTIONS_PER_HOUR ne sont pas activés.
À l'inverse de certaines offres concurrentes, vous ne rencontrerez pas d'erreur de dépassement de ressources de type SQL Error : 1226 liée à un volume d'activité horaire.
En savoir plus
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide technique détaille les limites de ressources sur les hébergements Web Infomaniak ; il est essentiel de distinguer le temps réel (horloge) du temps de calcul (processeur) pour comprendre l'origine des interruptions de scripts.
1. Temps de connexion MySQL (I/O)
Limite : 30 secondes réelles
Cette limite correspond au temps absolu écoulé "montre en main". Elle concerne la communication entre PHP et le serveur de base de données (MySQL/MariaDB).
Dès qu'une connexion est ouverte, le serveur de base de données alloue 30 secondes maximum pour recevoir la requête, l'exécuter et renvoyer les résultats. Si ce délai est dépassé (souvent à cause d'une requête SQL mal optimisée), le serveur MySQL coupe brutalement la connexion. Cela génère généralement l'erreur MySQL server has gone away.
2. Temps de traitement PHP (CPU)
Limite : 10 secondes CPU
Cette limite concerne exclusivement la puissance de calcul consommée par le serveur Web pour exécuter le code PHP.
Il est crucial de noter que le temps d'attente ne compte pas. Lorsque PHP attend une réponse de la base de données, il est en pause et ne consomme quasiment pas de temps CPU. Par conséquent, un script sera interrompu par le serveur Web uniquement s'il effectue des calculs intensifs (boucles complexes, cryptographie, traitement de fichiers) pendant plus de 10 secondes cumulées.
Interaction des deux limites
Pour garantir la stabilité de l'application, chaque opération doit respecter simultanément ces deux contraintes distinctes :
- L'application dispose de 30 secondes de temps total pour interagir avec la base de données (latence réseau + exécution SQL).
- L'application dispose de 10 secondes de temps de calcul pur pour traiter les données reçues.
Exemple de fonctionnement valide : un script qui attend 25 secondes une réponse complexe de MySQL (I/O) puis traite le résultat pendant 2 secondes (CPU) fonctionnera parfaitement, car il n'a dépassé aucun des deux quotas individuels, même si le temps total est de 27 secondes.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide explique comment forcer l'affichage du nom de l'hébergement Web dans la barre d'adresse du navigateur vers l'un des noms de domaine installés en alias/synonyme ou comment afficher dans la barre d'adresse le domaine principal au lieu de l'alias.
Limiter le "duplicate content" ou contenu Ă double
Imaginez que vous ayez l'hébergement votre-domaine.com chez Infomaniak et que comme nom de domaine synonyme vous avez installé www.domainesyno.xyz.
Par défaut, lorsque vous taperez l'un ou l'autre des noms de domaine (votre-domaine.com ou domainesyno.xyz) dans la barre d'adresse de votre navigateur, c'est celui que vous aurez tapé qui s'affichera dans la barre d'adresse.
Vous avez donc la possibilité de forcer l'affichage d'une autre adresse que celle qui a été tapé. Ainsi si quelqu'un tape domainesyno.xyz , alors c'est votre-domaine.com qui s'affichera automatiquement dans la barre d'adresse.
Un code est à inscrire dans un fichier appelé .htaccess qui doit se trouver à la racine de votre hébergement (dans le dossier /web de votre FTP). Si ce fichier n'existe pas encore, vous devez le créer sur le serveur.
Insérez ensuite ces directives dans le fichier:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://votre-domaine.com/$1 [R=301,L]Adaptez le code ci-dessus selon ces indications:
- Remplacer
votre-domaine.compar votre nom de domaine avec l'extension adéquate (.com, .fr, .ch, etc.) que vous souhaitez voir s'afficher dans la barre d'adresse du navigateur du visiteur. Ajouterwww.avant votre-domaine.com si nécessaire. - Remplacer la deuxième ligne du code ci-dessus par "
RewriteCond %{HTTPS} off‍" si une erreur de boucle survient, cela veut dire que le HTTP/2 est actif pour ce site
Prenez également connaissance des redirections automatiques vers httpS.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide concerne la synchronisation des serveurs via le protocole NTP (Network Time Protocol) et la configuration de la timezone sur les serveurs d'Infomaniak.
Synchronisation précise des serveurs via NTP
Les serveurs d'Infomaniak sont tous synchronisés via le protocole NTP. La société met à disposition ses propres serveurs NTP stratum-1 accessibles au public pour une utilisation flexible.
Pour intégrer ces serveurs dans vos paramètres, utiliser l'enregistrement suivant: pool.ntp.infomaniak.ch.
La configuration par défaut de la timezone est en UTC. Cependant, les fonctions PHP sont conçues pour prendre en compte différentes timezones en fonction des besoins spécifiques.
Pour ajuster la timezone dans vos scripts PHP, utiliser la fonction date_default_timezone_set('UTC').
MySQL: spécificités temporelles
L'infrastructure Infomaniak prend en charge les fonctionnalités permettant de travailler avec des données temporelles de manière précise et efficace, en tenant compte des fuseaux horaires, ce qui est crucial pour de nombreuses applications modernes:
- MySQL utilise une base de données de fuseaux horaires pour stocker et gérer les informations sur les fuseaux horaires.
- La table
mysql.time_zonecontient les données des fuseaux horaires, y compris les informations sur les décalages de temps, les noms de fuseaux horaires, etc. - La fonction CONVERT_TZ est utilisée pour convertir une heure d'un fuseau horaire à un autre dans MySQL avec la syntaxe suivante :
CONVERT_TZ(dt, from_tz, to_tz), oĂą :dtest la date/heure Ă convertir.from_tzest le fuseau horaire source.to_tzest le fuseau horaire cible.
- Exemple:
CONVERT_TZ('2024-05-14 12:00:00', 'UTC', 'America/New_York')convertira le temps 12:00:00 UTC en temps local Ă New York.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide permet de résoudre une erreur de type "Invalid query: MySQL server has gone away".
Préambule
- Ce type d'erreur a souvent comme origine le fait de garder une connexion MySQL ouverte sans soumettre de requĂŞtes pendant un intervalle de temps au-delĂ duquel la connexion est close: http://dev.mysql.com/doc/refman/5.7/en/gone-away.html
- Les variables
wait_timeoutetinteractive_timeoutqui contrôlent cette déconnexion sont à 30 secondes: http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
Solutions
Pour éviter l'erreur "MySQL server has gone away", voici plusieurs approches possibles:
Vérification et reconnexion automatique
Avant d'exécuter une requête, il est recommandé de tester si la connexion MySQL est toujours active. Si la connexion a été fermée, vous pouvez la rétablir automatiquement avant de poursuivre avec votre requête. Voici un exemple en PHP :
if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}La fonction mysqli_ping() vérifie si la connexion est toujours valide. Si elle ne l'est pas, le script ferme la connexion et en ouvre une nouvelle.
Envoi de "Ping" régulier
Un autre moyen consiste à exécuter un script qui envoie régulièrement un "ping" à la base de données pour maintenir la connexion active. Par exemple vous pourriez créer une tâche planifiée (cron job) qui envoie une requête légère, comme SELECT 1; à intervalles réguliers.
Ajustement des paramètres MySQL (Serveur Cloud)
Avec un Serveur Cloud, vous pouvez augmenter les valeurs des variables wait_timeout et interactive_timeout depuis le menu MySQL de votre serveur pour prolonger la durée de la connexion avant qu'elle ne soit fermée.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide traite de "browscap.ini", un fichier de configuration historique utilisé par PHP pour identifier les caractéristiques des navigateurs web (nom, version, capacités, OS) à partir de leur chaîne User-Agent.
L'utilisation de browscap.ini est aujourd'hui considérée comme obsolète pour les nouveaux projets en raison de son impact négatif sur les performances et de l'évolution des standards du web.
Informations sur le fichier et usage legacy
Pour que la fonction native PHP get_browser() fonctionne, elle doit pointer vers un fichier browscap.ini à jour. Le chemin par défaut sur les serveurs est généralement :
/opt/php/lib/php/browscap.iniBien que déconseillé pour la production à cause de la taille du fichier (plusieurs Mo à charger en mémoire), vous pouvez consulter son contenu via ce script :
<?php
header("Content-type: text/plain");
if (file_exists("/opt/php/lib/php/browscap.ini")) {
echo file_get_contents("/opt/php/lib/php/browscap.ini");
} else {
echo "Fichier introuvable.";
}
?>Alternatives modernes recommandées
Pour les projets actuels, les développeurs privilégient les solutions suivantes :
- Bibliothèques via Composer : des outils comme
matomo/device-detectorouwhichbrowser/parsersont plus précis, plus rapides et se mettent à jour facilement via les dépendances du projet. - User-Agent Client Hints (UA-CH) : la nouvelle norme HTTP permettant d'obtenir des informations structurées et fiables directement du navigateur.
- Détection de fonctionnalités (Feature Detection) : utiliser le JavaScript (ou les requêtes
@supportsen CSS) pour vérifier si une fonction existe, plutôt que de deviner le nom du navigateur.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide concerne Django, un framework open-source de développement Web en Python, particulièrement réputé pour sa robustesse et sa rapidité de développement.
Installation de Django
Prérequis
- Un hébergement adapté:
- Le déploiement d'une application Python nécessitant un serveur d'applications fonctionnant en continu, un hébergement Web mutualisé standard n'est pas indiqué.
- Un accès complet au serveur via SSH est requis.
- Environnement technique:
- Python 3 installé sur le serveur, ainsi que le gestionnaire de paquets
pip.
- Python 3 installé sur le serveur, ainsi que le gestionnaire de paquets
- Connaissances de base:
- Une familiarité avec l'interface en ligne de commande (CLI) sous Linux et la gestion des environnements virtuels Python (comme
venv).
- Une familiarité avec l'interface en ligne de commande (CLI) sous Linux et la gestion des environnements virtuels Python (comme
Voici les étapes générales pour initialiser votre environnement sur votre serveur :
Il est nécessaire d'installer Django sur des offres Web garantissant un contrôle total sur l'environnement d'exécution, telles que les VPS Cloud / VPS Lite : découvrir les différents hébergements Web d'Infomaniak.
- Connectez-vous Ă votre serveur VPS en SSH.
- Créez et activez un environnement virtuel dédié à votre projet afin d'isoler vos dépendances (ex:
python3 -m venv my_environnementpuissource my_environnement/bin/activate). - Procédez à l'installation du framework via le gestionnaire de paquets :
pip install django. - Initialisez votre nouveau projet avec la commande :
django-admin startproject name_of_project.
Mise en production
Attention, le serveur de développement intégré à Django (lancé via runserver) n'est pas conçu pour un environnement de production. Pour exposer votre site sur Internet en toute sécurité sur votre VPS Infomaniak, il sera nécessaire de configurer un serveur d'applications (comme Gunicorn ou uWSGI) derrière un proxy inverse (Reverse Proxy) tel que Nginx ou Apache.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide permet de trouver l'adresse IP publique de votre équipement, ce qui peut être utile lors de certaines demandes de support notamment.
Afficher l'adresse IP publique sur l'appareil connecté
Cliquez ici afin d'obtenir l'adresse IP publique de votre appareil au format IPv4 et IPv6.
Méthodes alternatives
Visitez ipinfo.io ou ifconfig.me.
… sur macOS
- Depuis une application de type
Terminal(interface en ligne de commande,CLI /Command Line Interface) sur votre appareil, exécutez la commandecurl ifconfig.meet appuyez sur entrée. - L'adresse affichée est l'adresse IP publique de l'ordinateur.
N'oubliez pas que cette adresse peut changer périodiquement, surtout si le routeur redémarre ou si le fournisseur d'accès internet utilise une attribution dynamique des adresses IP.
Pour automatiser la recherche de l'adresse IP publique, utilisez des commandes ou des scripts qui interrogent des services tels que api.ipify.org ...
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide explique comment utiliser PHPMailer avec les hébergements Web Infomaniak pour envoyer des e-mails depuis un site Web.
⚠ATTENTION ⚠‍
Infomaniak garantit la conformité de ses services aux protocoles standards (IMAP, S3, etc.) mais ne fournit pas d'aide supplémentaire pour les services ou logiciels externes, car leur configuration peut changer selon le fournisseur ou l'éditeur. Ce guide est donc fourni à titre indicatif et sa mise en place reste sous votre responsabilité (réf.: Politique de support / Art. 11.9 des CGU). Si besoin, une personne qualifiée peut vous accompagner.
Préambule
- PHPMailer est une librairie PHP permettant de créer et d'envoyer des e-mails depuis un site Web, notamment via SMTP.
- Elle permet notamment d'envoyer des messages au format HTML, d'ajouter une version texte alternative, de gérer les pièces jointes et d'utiliser une authentification SMTP.
- Pour un envoi authentifié via SMTP, l'environnement PHP utilisé par le site doit être compatible avec une connexion chiffrée récente, notamment TLS 1.2 ou supérieur.
- Une version trop ancienne de PHP ou de la librairie OpenSSL utilisée par PHP peut provoquer une erreur de connexion ou d'authentification, même si l'adresse mail et le mot de passe sont corrects.
- N'utilisez pas PHP 5.3/5.4 pour ce type d'envoi ; utilisez une version de PHP récente et maintenue.
- Avec l'envoi SMTP authentifié, l'adresse utilisée comme expéditeur doit correspondre à l'adresse mail utilisée pour l'authentification SMTP.
Installer PHPMailer
Pour utiliser PHPMailer, installez la librairie dans les fichiers de votre site Web.
- Téléchargez PHPMailer depuis son dépôt officiel ou installez-la avec Composer si votre projet l'utilise.
- Copiez les fichiers de PHPMailer dans un répertoire de votre site Web par FTP.
Chargez les fichiers nécessaires dans votre script PHP, en adaptant le chemin selon l'emplacement choisi:
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require **DIR** . '/PHPMailer/src/Exception.php'; require **DIR** . '/PHPMailer/src/PHPMailer.php'; require **DIR** . '/PHPMailer/src/SMTP.php';
Configurer l'envoi SMTP avec Infomaniak
Utilisez les paramètres SMTP authentifiés suivants:
- Serveur SMTP:
mail.infomaniak.com - Port:
465 - Chiffrement:
SMTPS/ SSL-TLS - Authentification: obligatoire
- Nom d'utilisateur: l'adresse mail complète
- Mot de passe: le mot de passe de l'adresse mail utilisée
Exemple de configuration complète:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require **DIR** . '/PHPMailer/src/Exception.php';
require **DIR** . '/PHPMailer/src/PHPMailer.php';
require **DIR** . '/PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
try {
// Configuration SMTP
$mail->isSMTP();
$mail->Host = 'mail.infomaniak.com';
$mail->SMTPAuth = true;
$mail->Username = '[sender@domain.xyz](mailto:sender@domain.xyz)';
$mail->Password = 'mot_de_passe_de_l_adresse_mail';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
```
// Expéditeur
// L'adresse doit correspondre à celle utilisée pour l'authentification SMTP.
$mail->setFrom('sender@domain.xyz', 'Nom du site');
// Destinataire
$mail->addAddress('recipient@example.com');
// Adresse de réponse facultative
$mail->addReplyTo('sender@domain.xyz', 'Nom du site');
// Contenu du message
$mail->isHTML(true);
$mail->Subject = 'Message envoyé depuis le site';
$mail->Body = '<p>Contenu HTML du message.</p>';
$mail->AltBody = 'Contenu texte du message.';
$mail->send();
echo 'Message envoyé';
```
} catch (Exception $e) {
echo 'Le message n’a pas pu être envoyé. Erreur: ' . htmlspecialchars($mail->ErrorInfo);
}Si votre application impose l'utilisation du port 587, utilisez STARTTLS:
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
Vérifier la version de PHP et la compatibilité TLS
L'envoi SMTP authentifié nécessite une connexion chiffrée récente. Si le site utilise une version trop ancienne de PHP, par exemple PHP 5.3, ou une librairie OpenSSL trop ancienne, PHPMailer peut échouer avant ou pendant l'authentification. Les erreurs peuvent alors être trompeuses, par exemple:
SMTP connect() failedCould not authenticatestream_socket_enable_crypto()- une erreur d'authentification alors que le mot de passe est correct
Dans ce cas, vérifiez les points suivants:
- la version de PHP utilisée par le site Web;
- la version d'OpenSSL utilisée par PHP;
- la version de PHPMailer utilisée par votre projet;
- la correspondance entre le port SMTP et le chiffrement choisi.
Pour une configuration fiable, utilisez une version récente de PHP, compatible avec TLS 1.2 ou supérieur, ainsi qu'une version actuelle de PHPMailer. Prenez connaissance de ces guides si nécessaire:
- Modifier la version de PHP d'un site Web
- Résoudre un problème PHP lié à une version obsolète
- Afficher les informations techniques du site
Résoudre une erreur Sender mismatch
L'erreur Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 peut se produire lorsque l'adresse utilisée comme expéditeur ne correspond pas à l'adresse mail utilisée pour l'authentification SMTP. Exemple à éviter:
$mail->Username = 'sender@domain.xyz';
$mail->setFrom('another-address@domain.xyz', 'Nom du site');Dans cet exemple, le script s'authentifie avec sender@domain.xyz, mais tente d'envoyer le message avec une autre adresse d'expéditeur.
Utilisez la même adresse mail pour l'authentification SMTP et pour l'expéditeur:
$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Nom du site');Le nom d'expéditeur peut être personnalisé, mais l'adresse mail doit rester cohérente avec le compte SMTP utilisé.
Cas d'un formulaire de contact
Si un visiteur renseigne son adresse mail dans un formulaire, ne l'utilisez pas comme adresse d'expéditeur du message. Utilisez l'adresse mail authentifiée comme expéditeur, puis ajoutez l'adresse du visiteur comme adresse de réponse.
Exemple:
$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Formulaire du site');
$mail->addReplyTo($email_visiteur);Cette configuration permet de répondre au visiteur depuis votre logiciel de messagerie sans envoyer le message avec une adresse d'expéditeur non autorisée.
Activer le mode debug temporairement
En cas d'erreur, activez temporairement le mode debug de PHPMailer afin d'obtenir plus de détails sur la connexion SMTP:
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';Désactivez ce mode après vos tests afin de ne pas afficher d'informations techniques aux visiteurs du site.
En savoir plus
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide concerne l'utilisation de la technologie Java qui, notamment en termes de consommation de mémoire RAM, est incompatible avec les contraintes des offres d'hébergement mutualisé Infomaniak. Les applications Java sont souvent gourmandes en ressources, ce qui peut affecter les performances et la stabilité des serveurs partagés entre plusieurs utilisateurs.
Support limité aux applets côté client
Seules les applets Java côté client, c'est-à -dire exécutées dans le navigateur Web de l'utilisateur, sont supportées par les serveurs mutualisés. Ces applets ne requièrent pas de ressources serveurs importantes et ne posent donc pas les mêmes problèmes que les applications Java côté serveur. Par conséquent, aucun produit utilisant la technologie Java côté serveur n'est pris en charge.
Produits et technologies non supportés
Voici une liste non exhaustive des produits et technologies spécifiques qui ne sont pas supportés sur les serveurs mutualisés :
- Apache OFBiz
- Greenstone
- Opentaps
- Compiere (qui nécessite Tomcat)
- Play!
- Solr
- Resin
- Jboss
- Scala
- jftp
- Jakarta EE (anciennement Java 2 Platform, Enterprise Edition, ou J2EE puis Java Platform, Enterprise Edition ou Java EE)
Cette politique permet de garantir des performances optimales et une utilisation équitable des ressources pour tous les utilisateurs des serveurs mutualisés.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide explique comment activer l'option MultiViews via un fichier .htaccess sur les sites hébergés par Infomaniak.
Préambule
- Dans certains cas, l'option MultiViews doit être activée afin de gérer des problèmes de redirection et de réécriture d'URL.
- Cette option permet au serveur de deviner quel fichier l'utilisateur cherche. Exemple :
- Si le dossier
configurationet le fichierconfiguration.phpse trouvent à la racine de votre site et que vous tentez d'atteindre l'adressedomain.xyz/configuration, l'option MultiViews doit être activée pour que le serveur puisse deviner que vous souhaitez accéder au fichierconfiguration.php.
- Si le dossier
- L'option MultiViews peut parfois entrer en conflit avec des règles de réécriture d'URL plus complexes définies par
mod_rewrite(utilisées par de nombreux CMS).
Activer l'option MultiViews
Pour cela :
- Ouvrez ou créez le fichier
.htaccessqui se trouve à la racine du site concerné. Ajoutez la directive suivante:
Options +MultiViews- Sauvegardez les modifications.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide traite de l’exécution du langage C# et du framework .NET via l’implémentation Mono sur les hébergements Infomaniak.
Technologies pour le développement logiciel
Pour utiliser le langage C# et le framework .NET avec l’implémentation Mono, afin de développer des applications logicielles déployables et exécutables sur plusieurs plateformes, en dehors de l’environnement Windows, il est recommandé d’opter pour des solutions telles que :
La souplesse et la portabilité offertes par ces environnements multiplateformes signifient qu’un hébergement Web mutualisé ne permet pas l’exécution de projets basés sur C#, .NET ou Mono.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide explique comment modifier une offre d'Hébergement Web existante afin de par exemple pouvoir y héberger des sites Web supplémentaires si le quota de sites maximum est atteint, ou obtenir une solution d'hébergement plus récente pour bénéficier des dernières versions de PHP & MySQL.
Modifier l'offre d'hébergement Web afin de…
… commander des sites, de l'espace disque ou des IP supplémentaires
Pour accéder au configurateur de l'hébergement Web:
- Cliquez ici afin d'accéder à la gestion de votre hébergement sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le menu d'action ⋮ situé à droite de l'hébergement concerné.
- Cliquez sur Modifier l'offre:

- Augmentez les valeurs que vous souhaitez modifier.
- Cliquez sur le bouton Suivant pour accéder au paiement des modifications apportées à l'hébergement:

… passer sur un serveur le plus récent
Pour obtenir une solution d'hébergement sur un serveur plus récent et ainsi bénéficier entre autre des dernières versions de PHP & MySQL, vous pouvez soit…
- … prendre connaissance de cet autre guide en suivant la procédure qui y est indiquée jusqu'au bout:

- … prendre connaissance de cet autre guide en suivant la procédure qui y est indiquée jusqu'au point 4 puis cliquez sur le bouton pour mettre à jour:

Si aucun bandeau d'information n'est affiché, c'est que vous bénéficiez déjà d'une offre d'hébergement récente.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide détaille l'intégration de l'environnement ASP / ASP.NET au sein de l'écosystème Infomaniak.
Compatibilité & Infrastructure
Les solutions d'Hébergement Web et Serveurs Cloud managés sont optimisées pour des environnements Linux/Apache. Par conséquent, le module Apache::ASP n'est pas supporté nativement sur ces offres mutualisées.
Alternatives & solutions Cloud
Pour déployer vos applications ASP en toute fluidité, plusieurs options s'offrent à vous :
- VPS Cloud : installez et configurez votre propre stack ASP/IIS ou utilisez Mono/Core sur une distribution de votre choix.
- Jelastic Cloud (PaaS) : déployez vos applications ASP.NET Core via des conteneurs Docker en quelques clics avec un scaling horizontal automatique.
- Public Cloud : pour les infrastructures à haute disponibilité utilisant OpenStack, idéal pour les architectures micro-services.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide vous permet de protéger vos ressources contre le hotlinking sur vos Hébergements Web Infomaniak.
Préambule
- Le hotlinking se produit lorsqu'un site tiers affiche vos images, vidéos ou musiques en utilisant directement l'URL de votre serveur ; le site distant utilise vos ressources et votre puissance serveur à vos frais, souvent sans citer la source.
- Bien que la bande passante soit plus généreuse aujourd'hui, le hotlinking reste un problème pour la protection de vos droits d'auteur et pour éviter la surcharge inutile de votre serveur.
EmpĂŞcher le hotlinking via .htaccess
Vous pouvez bloquer ces accès non autorisés en ajoutant des règles dans le fichier .htaccess à la racine de votre site. Voici une version optimisée incluant les formats d'image modernes (WebP, AVIF) :
RewriteEngine on
# 1. Autoriser les requêtes avec un Referer vide (certains navigateurs pour la vie privée)
RewriteCond %{HTTP_REFERER} !^$
# 2. Autoriser votre propre site (remplacez par votre domaine)
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?votre-domaine\.com [NC]
# 3. AUTORISER LES MOTEURS DE RECHERCHE (Indispensable pour votre SEO)
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing\. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo\. [NC]
# 4. Bloquer le hotlinking (renvoie une erreur 403 Forbidden)
RewriteRule \.(jpg|jpeg|png|gif|svg|webp|avif)$ - [F,NC,L]Recommandations :
- Remplacer : changez
votre-domaine\.compar votre nom de domaine réel. - SEO : ne retirez les lignes Google/Bing que si vous souhaitez volontairement que vos images n'apparaissent jamais dans les résultats de recherche.
- Alternative 403 : la règle ci-dessus utilise
[F](Forbidden). C'est plus écologique et performant que de charger une image de remplacement qui consomme encore de la bande passante.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide présente des commandes qui peuvent être exécutées dans un but de tester une connexion ou un réseau et ainsi préciser davantage la source d'erreur éventuelle.
Effectuer un Telnet…
TELNET permet de tester la connexion à un serveur sans tenir compte de tout les réglages supplémentaires d'une application mail ou FTP afin de déterminer l'origine d'un problème. Si la connexion ne passe pas sur un serveur SMTP, il vous faudra par exemple regarder si votre pare-feu ne bloque pas le port 587 ou 465.
… sur macOS
- Recherchez Utilitaire de réseau.
- Rendez-vous sous l'onglet
Ping,LookupouTracerouteselon ce que vous souhaitez tester. - Vous pouvez également utiliser une application de type
Terminal(interface en ligne de commande,CLI /Command Line Interface) sur votre appareil et, selon ce que vous souhaitez tester, entrez:traceroute [server]nc [server] [port]
Remplacez[server]par le nom du serveur ou son adresse IP, idem pour[port]…
… sur Windows
Activez Telnet au préalable si nécessaire.
- Utilisez une application de type
Terminal(interface en ligne de commande,CLI /Command Line Interface) sur votre appareil, par exemple en tapant Exécuter puiscmd. - Dans la fenêtre qui s'ouvre, selon ce que vous souhaitez tester, tapez:
tracert [server]telnet [server] [port]
Exemple:telnet mail.infomaniak.com 587(permet de tester le port SMTP si votre logiciel/client de messagerie ne permet pas l'envoi d'e-mail)…
… sur Android
- Utilisez l'application Simple Telnet Client qui permet de tester très simplement via 2 champs à remplir (par exemple
mail.infomaniak.comet le port143ou993)…
Effectuer un PING
PING permet de savoir si une machine est accessible par Internet. Vous pouvez aussi contrĂ´ler avec cet outil si vous vous adressez bien Ă la bonne machine, lors d'un changement de DNS par exemple, en regardant l'adresse IP obtenue. Il est possible d'effectuer un ping sur un nom de domaine, un hostname ou une adresse IP.
PING est définitivement bloqué sur les hébergements mutualisés.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide explique comment travailler sans le module PECL SSH2 client indisponible sur les hébergements Web et Serveurs Cloud Infomaniak, en utilisant plutôt la bibliothèque phpseclib, qui fonctionne en PHP natif sans nécessiter d’extension spécifique.
Préambule
- L’utilisation de
PECL SSH2 cliententraine des erreurs de typeNo compatible key exchange algorithms foundouUnable to exchange encryption keysdans sa derniere version disponible. Phpseclibpermet :- L'authentification SSH par mot de passe ou clé privée.
- L'exécution de commandes à distance.
- Le transfert de fichiers sécurisés (SFTP).
- La gestion des clés SSH.
Utiliser phpseclib
Pour intégrer une connexion SSH dans un script PHP, utilisez phpseclib comme suit :
use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;
$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));
if (!$ssh->login('utilisateur', $key)) {
exit('Authentication Failed');
}
echo $ssh->exec('ls -la');Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide détaille les actions à effectuer en priorité si vous ne voyez pas de différence entre votre site Web après un changement que vous auriez effectué dessus, et sa version avant le changement. Ces conseils sont également valables si vous rencontrez des soucis lors de l'utilisation de l'interface de produits Infomaniak.
Préambule
- Pendant votre navigation, un navigateur Web sauvegarde dans un espace réservé les données consultées, ceci afin d'éviter de demander une nouvelle fois au serveur les données déjà consultées, pour gagner du temps et des ressources.
- Votre cache peut contenir énormément de données et parfois le navigateur s’emmêle les pinceaux. Les sites peuvent alors mal s’afficher ou afficher une version obsolète.
- Effacer le cache permet d'être sûr d'avoir la toute dernière version en date de la page ou du dossier consulté.
Effacer le cache du navigateur Web …
… sur Safari
Choisissez votre version macOS afin de prendre connaissance de l'aide Apple correspondante.
… sur les outils Google (Chrome, Android, etc.)
Prenez connaissance de l'aide de Google.
… sur Firefox
Prenez connaissance de l'aide Mozilla.
… sur Edge / Internet Explorer
Prenez connaissance de l'aide Microsoft.
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide détaille les fonctionnalités disponibles en matière de gestion des bases de données relationnelles sur les hébergements Infomaniak.
Utilisation de Vues, Triggers, Procedures stockées et Routines
En ce qui concerne la gestion des bases de données relationnelles, la fonctionnalité des vues ("views") est disponible par défaut, permettant ainsi aux utilisateurs de créer des vues pour simplifier la gestion et la présentation des données.
Cependant, certaines fonctionnalités avancées permettant une manipulation plus fine et plus complexe des données, telles que…
- “triggers” (déclencheurs)
- procédures stockées ("stored procedures")
- routines
- et la création de fonctions
… ne sont disponibles que sur Serveurs Cloud.
Elles ne sont pas autorisées sur les serveurs mutualisés.
Cette restriction est principalement due aux risques potentiels pour la stabilité de l’infrastructure. Une mauvaise configuration ou une utilisation excessive de ces fonctionnalités pourrait créer des boucles infinies ou des surcharges importantes, affectant non seulement les performances du serveur concerné, mais aussi l’expérience de tous les clients hébergés sur la même infrastructure.
Résoudre un problème d'importation de dump MySQL/MariaDB
Lors de l’exportation puis de la réimportation d’une base de données MySQL ou MariaDB via l’interface d’hébergement Infomaniak, il peut arriver que l’opération échoue en raison d’erreurs liées aux DEFINER des triggers ou des views. Ce cas survient lorsque les objets de la base ont été créés avec un utilisateur spécifique (appelé definer) qui n’existe plus au moment de l’importation.
Concrètement, le processus d’exportation et d’importation met en œuvre un utilisateur temporaire, utilisé uniquement pendant ces opérations. Après suppression de cet utilisateur, les vues ou triggers définis avec ce compte comme DEFINER deviennent invalides, provoquant des erreurs du type :
General error: 1449 The user specified as a definer ('xxxx_temp_1'@'%') does not existPour éviter ce problème, il est possible de corriger le fichier de sauvegarde (dump.sql ou dump.sql.gz) avant son importation en remplaçant les définitions de definer par CURRENT_USER. Cela permet de rattacher automatiquement les triggers et vues à l’utilisateur en cours au moment de l’import.
Voici un exemple de commande permettant de modifier le dump avant importation :
sed -E 's/DEFINER=`[^`][^`]*`@`[^`][^`][^`]*`/DEFINER=CURRENT_USER/g' dump.sql > dump-corrected.sqlUne fois ce remplacement effectué, le fichier corrigé peut être importé normalement via le Manager Infomaniak. Ce comportement est connu et lié au fonctionnement des utilisateurs temporaires lors du dump/restore. Aucune modification du processus d’export/import n’est prévue à court terme, mais le sujet reste en évaluation côté infrastructure.
Pour plus d’informations sur la variable CURRENT_USER, prenez connaissance de la documentation officielle de :
Lien vers cette FAQ:
Cette FAQ a été utile?
Ce guide explique comment modifier le mot de passe d'une base de données MySQL / MariaDB d'un Hébergement Web.
Préambule
- Prenez connaissance de cet autre guide si vous recherchez des informations au sujet de la mise à jour des informations de connexion (scripts, sites...) relative à un changement de mot de passe de base de données.
- Un utilisateur de base de données créé suite à l'installation d'une Application Web (proposée par Infomaniak) ne pourra être modifié (un cadenas s'affiche à côté de celui-ci, cf point 5 ci-dessous).
- Pour accéder à la base de données à laquelle il est rattaché, il faut créer un nouvel utilisateur de base de données avec le mot de passe de votre choix puis lui attribuer les droits sur la base de données désirée.
Changer le mot de passe MySQL MariaDB etc.
Pour cela il est nécessaire d'intervenir sur l'utilisateur rattaché à la base de données en question, et de lui changer le mot de passe (sans avoir à fournir l'ancien) depuis le Manager Infomaniak:
- 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 sur Bases de données dans le menu latéral gauche.
- Cliquez sur l'onglet Utilisateurs.
- Cliquez sur le menu d'action ⋮ situé à droite de l'élément concerné.
- Cliquez sur Modifier:

- Cliquez sur Modifier le mot de passe.
- Entrez le nouveau mot de passe désiré.
- Cliquez sur le bouton Enregistrer:

- Si nécessaire, vous pouvez configurer les nouveaux droits éventuels (lecture / écriture / administration) de l'utilisateur pour l'accès aux bases de données existantes sur l'hébergement.
Lien vers cette FAQ:
Cette FAQ a été utile?