Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Rechercher

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: https://faq.infomaniak.com/471


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: https://faq.infomaniak.com/481


Cette FAQ a été utile?

Ce guide explique comment rediriger le trafic d'un nom de domaine alias (synonyme) vers votre domaine principal, ou forcer l'affichage du domaine principal dans la barre d'adresse du navigateur.

 

Prévenir le contenu dupliqué (duplicate content)

Imaginons que votre site web soit hébergé sous le domaine principal example.com et que vous ayez configuré un domaine alias tel que example-alias.com.

Par défaut, lorsqu'un visiteur saisit l'une ou l'autre de ces adresses dans son navigateur, l'URL tapée reste affichée. Cela peut générer du contenu dupliqué (duplicate content), ce qui nuit au référencement naturel (SEO).

Pour éviter cela, vous pouvez forcer la redirection : si un visiteur tape example-alias.com, il sera automatiquement redirigé vers example.com.

Cette configuration s'effectue dans le fichier .htaccess situé à la racine de votre hébergement (généralement dans le dossier /web via votre accès FTP). Si ce fichier n'existe pas encore, vous devez le créer.

Insérez ensuite les directives suivantes dans le fichier :

RewriteEngine On

# Force HTTPS and canonical domain redirection
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

Adaptez le code ci-dessus selon vos besoins :

  • Remplacez example.com par votre nom de domaine principal et son extension (.com, .org, .ch, etc.). Ajoutez www. devant votre domaine si vous prĂ©fĂ©rez forcer l'affichage du sous-domaine www.
  • Si une boucle de redirection survient, vous pouvez remplacer la condition de protocole par RewriteCond %{HTTPS} off (notamment si votre hĂ©bergement n'utilise pas de proxy inverse / reverse proxy).

Pour en savoir plus, consultez la documentation relative aux redirections automatiques vers HTTPS.

Lien vers cette FAQ: https://faq.infomaniak.com/482


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_zone contient 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Ăą :
    • dt est la date/heure Ă  convertir.
    • from_tz est le fuseau horaire source.
    • to_tz est 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: https://faq.infomaniak.com/487


Cette FAQ a été utile?

Ce guide permet de résoudre une erreur de type "Invalid query: MySQL server has gone away".

 

Préambule

 

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: https://faq.infomaniak.com/499


Cette FAQ a été utile?

Ce guide présente le rôle du fichier browscap.ini, utilisé par PHP pour identifier certaines caractéristiques d'un navigateur web (nom, version, système d'exploitation et capacités) à partir de son en-tête HTTP User-Agent.

L'utilisation de browscap.ini est aujourd'hui principalement destinée à assurer la compatibilité avec des applications existantes. Pour les nouveaux développements, des méthodes plus modernes sont généralement privilégiées.

 

Utilisation avec la fonction get_browser()

La fonction native PHP get_browser() nécessite l'accès à un fichier browscap.ini à jour afin d'identifier les caractéristiques du navigateur ayant effectué la requête.

Sur les HĂ©bergements Web Infomaniak, ce fichier est gĂ©nĂ©ralement disponible Ă  l'emplacement suivant :

/opt/php/lib/php/browscap.ini

Si nĂ©cessaire, vous pouvez vĂ©rifier son contenu Ă  l'aide du script suivant :

<?php
header('Content-Type: text/plain');

$file = '/opt/php/lib/php/browscap.ini';

if (file_exists($file)) {
    echo file_get_contents($file);
} else {
    echo 'File not found.';
}

En raison de sa taille et du coût de son chargement, l'utilisation de browscap.ini peut avoir un impact sur les performances des applications qui s'appuient sur get_browser().

 

Alternatives recommandées

Pour les nouveaux projets, il est gĂ©nĂ©ralement prĂ©fĂ©rable d'utiliser des solutions plus adaptĂ©es aux pratiques actuelles du dĂ©veloppement web :

  • Bibliothèques PHP installĂ©es avec Composer, telles que matomo/device-detector ou whichbrowser/parser, qui proposent une dĂ©tection rĂ©gulièrement mise Ă  jour et plus complète des navigateurs et appareils.
  • User-Agent Client Hints (UA-CH), lorsque le navigateur les prend en charge, afin d'obtenir des informations structurĂ©es via les mĂ©canismes prĂ©vus par les standards HTTP actuels.
  • DĂ©tection de fonctionnalitĂ©s (Feature Detection), en vĂ©rifiant directement la disponibilitĂ© d'une fonctionnalitĂ© (par exemple en JavaScript ou avec la règle CSS @supports) plutĂ´t qu'en dĂ©duisant le comportement Ă  partir du navigateur utilisĂ©.

Lien vers cette FAQ: https://faq.infomaniak.com/505


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.
  • Connaissances de base:
    • Une familiaritĂ© avec l'interface en ligne de commande (CLI) sous Linux et la gestion des environnements virtuels Python (comme venv).

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.

  1. Connectez-vous Ă  votre serveur VPS en SSH.
  2. Créez et activez un environnement virtuel dédié à votre projet afin d'isoler vos dépendances (ex: python3 -m venv my_environnement puis source my_environnement/bin/activate).
  3. Procédez à l'installation du framework via le gestionnaire de paquets : pip install django.
  4. 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: https://faq.infomaniak.com/516


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

  1. Depuis une application de type Terminal (interface en ligne de commande, CLI /Command Line Interface) sur votre appareil, exécutez la commande curl ifconfig.me et appuyez sur entrée.
  2. 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: https://faq.infomaniak.com/528


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.

  1. Téléchargez PHPMailer depuis son dépôt officiel ou installez-la avec Composer si votre projet l'utilise.
  2. Copiez les fichiers de PHPMailer dans un répertoire de votre site Web par FTP.
  3. 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() failed
  • Could not authenticate
  • stream_socket_enable_crypto()
  • une erreur d'authentification alors que le mot de passe est correct

Dans ce cas, vérifiez les points suivants:

  1. la version de PHP utilisée par le site Web;
  2. la version d'OpenSSL utilisée par PHP;
  3. la version de PHPMailer utilisée par votre projet;
  4. 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:

 

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: https://faq.infomaniak.com/576


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 :

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: https://faq.infomaniak.com/591


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 configuration et le fichier configuration.php se trouvent Ă  la racine de votre site et que vous tentez d'atteindre l'adresse domain.xyz/configuration, l'option MultiViews doit ĂŞtre activĂ©e pour que le serveur puisse deviner que vous souhaitez accĂ©der au fichier configuration.php.
  • 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 :

  1. Ouvrez ou créez le fichier .htaccess qui se trouve à la racine du site concerné.
  2. Ajoutez la directive suivante:

    Options +MultiViews
  3. Sauvegardez les modifications.

Lien vers cette FAQ: https://faq.infomaniak.com/605


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: https://faq.infomaniak.com/607


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:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre hĂ©bergement sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez sur le menu d'action â‹® situĂ© Ă  droite de l'hĂ©bergement concernĂ©.
  3. Cliquez sur Modifier l'offre:
  4. Augmentez les valeurs que vous souhaitez modifier.
  5. 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: https://faq.infomaniak.com/626


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: https://faq.infomaniak.com/631


Cette FAQ a été utile?

Ce guide explique comment limiter le hotlinking sur les fichiers hébergés par votre Hébergement Web Infomaniak.

 

Préambule

  • Le hotlinking consiste pour un site tiers Ă  afficher directement des images, vidĂ©os ou autres fichiers hĂ©bergĂ©s sur votre serveur en utilisant leur URL publique, sans les hĂ©berger lui-mĂŞme.
  • Cette pratique utilise les ressources de votre hĂ©bergement (bande passante, connexions HTTP et ressources serveur) sans votre autorisation. Elle peut Ă©galement porter atteinte Ă  vos droits d'auteur ou Ă  la maĂ®trise de la diffusion de vos contenus.
  • MĂŞme si les capacitĂ©s rĂ©seau actuelles rendent l'impact sur la bande passante gĂ©nĂ©ralement moins critique qu'auparavant, il reste recommandĂ© de limiter le hotlinking afin d'Ă©viter une consommation inutile des ressources de votre hĂ©bergement.

 

EmpĂŞcher le hotlinking avec un fichier .htaccess

Si votre site utilise le serveur web Apache et le module mod_rewrite, vous pouvez restreindre l'accès direct à certains fichiers en ajoutant des règles dans le fichier .htaccess situé à la racine de votre site.

L'exemple ci-dessous protège les principaux formats d'image, y compris les formats modernes WebP et AVIF :

RewriteEngine On

# Allow requests without a Referer header
RewriteCond %{HTTP_REFERER} !^$

# Allow requests from your own domain (replace with your domain)
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?votre-domaine\.com [NC]

# Allow major search engines
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?bing\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yahoo\. [NC]

# Block hotlinking for image files
RewriteRule \.(jpg|jpeg|png|gif|svg|webp|avif)$ - [F,NC,L]

Ă€ adapter avant utilisation :

  • Remplacez votre-domaine\.com par votre propre nom de domaine.
  • Les requĂŞtes ne comportant pas d'en-tĂŞte HTTP Referer sont autorisĂ©es afin de prĂ©server la compatibilitĂ© avec certains navigateurs, applications ou mĂ©canismes de protection de la vie privĂ©e qui ne transmettent pas cet en-tĂŞte.
  • Les règles autorisant les principaux moteurs de recherche permettent Ă  leurs robots d'accĂ©der aux images afin qu'elles puissent ĂŞtre indexĂ©es. Les supprimer empĂŞchera l'indexation de ces images.
  • La règle utilise l'option [F], qui renvoie une rĂ©ponse HTTP 403 Forbidden. Cette mĂ©thode bloque immĂ©diatement la requĂŞte sans servir de contenu supplĂ©mentaire, ce qui limite la consommation des ressources du serveur.

Si vous utilisez Cloudflare comme CDN devant votre hébergement Infomaniak, vous pouvez également activer la fonctionnalité Hotlink Protection depuis son interface d'administration afin de bloquer ce type d'accès avant qu'il n'atteigne votre hébergement.

Lien vers cette FAQ: https://faq.infomaniak.com/678


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

  1. Recherchez Utilitaire de réseau.
  2. Rendez-vous sous l'onglet Ping, Lookup ou Traceroute selon ce que vous souhaitez tester.
  3. 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.

  1. Utilisez une application de type Terminal (interface en ligne de commande, CLI /Command Line Interface) sur votre appareil, par exemple en tapant Exécuter puis cmd.
  2. 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

  1. Utilisez l'application Simple Telnet Client qui permet de tester très simplement via 2 champs à remplir (par exemple mail.infomaniak.com et le port 143 ou 993)…

 

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 Infomaniak.

Lien vers cette FAQ: https://faq.infomaniak.com/727


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 client entraine des erreurs de type No compatible key exchange algorithms found ou Unable to exchange encryption keys dans sa derniere version disponible.
  • Phpseclib permet :
    • 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: https://faq.infomaniak.com/767


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: https://faq.infomaniak.com/793


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 exist

 

Pour é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.sql

 

Une 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: https://faq.infomaniak.com/821


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:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au produit concernĂ©.
  3. Cliquez sur Bases de données dans le menu latéral gauche.
  4. Cliquez sur l'onglet Utilisateurs.
  5. Cliquez sur le menu d'action â‹® situĂ© Ă  droite de l'Ă©lĂ©ment concernĂ©.
  6. Cliquez sur Modifier:
  7. Cliquez sur Modifier le mot de passe.
  8. Entrez le nouveau mot de passe désiré.
  9. Cliquez sur le bouton Enregistrer:
  10. 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: https://faq.infomaniak.com/846


Cette FAQ a été utile?