Investisseurs

Base de connaissances

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

Rechercher

Ce guide explique comment rediriger un nom de domaine directement vers un autre ou comment envoyer automatiquement les visiteurs de votre site vers une autre adresse de page (URL interne ou externe).

 

Préambule

  • Pour rediriger du trafic, vous devrez agir…
    • … soit sur le nom de domaine lui-mĂŞme (il doit ĂŞtre hĂ©bergĂ© par Infomaniak et ses DNS doivent ĂŞtre ceux d'Infomaniak Ă©galement),
    • … soit sur le code prĂ©sent dans vos pages (page .htaccess, page d'accueil, etc.) si vous avez un site.

 

Agir sur le nom de domaine

via Outil de Redirection Web

L'outil disponible sur le Manager permet d'agir de manière simple sur le nom de domaine (ou sous-domaine) afin de le rediriger vers l'adresse Internet de votre choix.

via modifications DNS ou enregistrement A

Changer les DNS du nom de domaine ou modifier ses enregistrements A/AAAA permet de diriger le trafic Web chez un autre fournisseur.

 

Agir sur le code des pages…

… via code HTML à insérer

Insérez cette ligne de code entre les balises <head> et </head> de votre page d'accueil (en principe nommée index.html):

<meta http-equiv="refresh" content="5;url=INSERT-HERE-NEW-URL">

Remplacez 5 par le temps d'attente en seconde désiré (0 pour que cela se fasse immédiatement).

Le moteur de recherche Google indique qu'il est préférable d'utiliser une redirection de type 301 côté serveur (lire plus bas). Le W3C conseille également de ne pas l'utiliser.

… via code PHP à insérer

Si la page du site possède une extension .php, insérez cet appel de fonction header tout en haut du fichier:

header("refresh: 5; url=INSERT-HERE-NEW-PAGE-URL");

… via fichier .htaccess

Pour rediriger absolument tout le trafic visant votre site (quelle que soit la page appelée) vers une autre adresse, insérez ceci dans le fichier .htacces à la racine de votre site:

RewriteEngine On
RewriteRule ^(.*)$ INSERT-HERE-NEW-URL/$1 [R=301]

Pour cibler la page qui doit être redirigée:

Redirect permanent /ancienne_page.html insérer ici adresse URL de destination

Redirectpermanent, Redirect permanent et Redirect 301 sont des commandes équivalentes.

Ci-après un autre exemple de redirection d'une sous-partie vers la page d'accueil (cette directive à l'avantage de fonctionner avec les "deep link" contrairement à une redirection permanente):

RewriteEngine on
RewriteRule "old/path/url "/" [L]

Prenez connaissance de cet autre guide Ă  ce sujet.

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


Cette FAQ a été utile?

Ce guide donne des pistes afin de réaliser des opérations en lien avec un site WordPress, ce qui permet notamment de…

  • … copier et migrer un site WordPress d'un hĂ©bergeur concurrent vers Infomaniak,
  • … modifier le nom de domaine d'un site WordPress,
  • … sauvegarder un site WordPress en entier…

 

Préambule

  • Selon le contexte, au lieu de faire un transfert WordPress, vous pouvez aussi simplement…
    • … changer l'adresse du site (le nom de domaine associĂ©) très facilement si vous avez installĂ© WordPress via l'installateur Infomaniak,
    • … dupliquer un site WordPress afin de travailler parallèlement dans un environnement de dĂ©veloppement…

 

Transférer un site WordPress…

… avec l'extension All-in-One WP Migration

  • NĂ©cessite d'installer un nouveau WordPress vierge (par exemple via l'installateur automatique Infomaniak) pour importer l'ancien site dessus.

… avec l'extension Duplicator

  • NĂ©cessite de se connecter Ă  l'hĂ©bergement par FTP pour envoyer une archive .zip et un fichier PHP pour rĂ©installer l'ancien site.

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


Cette FAQ a été utile?

Ce guide apporte des précisions importantes concernant le lancement et l'exécution de scripts en ligne de commande (SSH) sur différents types d'hébergements Infomaniak.

 

Exécution de scripts via SSH et gestion des ressources

Contrairement aux scripts exécutés via un navigateur comme Brave, Chrome, Edge, Firefox, Opera, Safari…, il n'y a généralement pas de limite de temps (timeout) stricte pour les commandes lancées en SSH. Votre script peut donc théoriquement tourner aussi longtemps que nécessaire.

 

Temps d'exécution et persistance

Si votre session SSH se ferme (perte de connexion internet ou fermeture du terminal), le script en cours sera immédiatement interrompu.

Pour éviter cela lors de tâches longues, il est recommandé d'exécuter vos scripts en arrière-plan ou dans le cas d'un VPS d'utiliser des outils de multiplexage de terminal (comme screen, tmux ou l'utilitaire nohup). Cela permet au processus de continuer son travail même après votre déconnexion.

 

Limites de ressources (RAM et CPU)

Si le temps n'est pas limité, les ressources matérielles le sont.

L'exécution de vos scripts reste soumise aux capacités de la machine et à sa configuration :

  • MĂ©moire (RAM) : si un processus consomme plus de mĂ©moire que la limite autorisĂ©e (par exemple, la limite memory_limit de PHP ou la RAM physique disponible), il sera tuĂ© par le système pour prĂ©server la stabilitĂ© du serveur.
  • Processeur (CPU) : un usage abusif du processeur sur une longue durĂ©e peut entraĂ®ner un bridage ou une interruption du processus.

 

Il est envisageable d'ajuster ces limites de ressources sur les environnements dédiés (type Serveur Cloud). En revanche, sur les hébergements mutualisés, ces limites sont fixes et non modifiables afin de garantir la performance pour l'ensemble des utilisateurs hébergés sur le même serveur.

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


Cette FAQ a été utile?

Ce guide explique quels sont les protocoles et ports qui peuvent être utilisés avec les services de messagerie Infomaniak (Service Mail notamment).

 

Ports et paramètres recommandés pour la configuration client

Lorsque cela vous est demandé lors d'une configuration de logiciel/client de messagerie (Outlook, Thunderbird, mobile, etc.), privilégiez les paramètres ci-dessous.

 

Paramètres communs à tous les comptes

  • Nom du serveur : mail.infomaniak.com
  • Authentification : obligatoire (nom d'utilisateur = adresse mail complète)
Protocole / UsagePortMécanisme de sécurité
IMAPs – trafic entrant (recommandé)993SSL / TLS (implicite)
SMTP – trafic sortant (option 1 : standard IETF)587STARTTLS (explicite)
SMTPs – trafic sortant (option 2 : chiffrement implicite)465SSL / TLS (implicite)

Note technique : le port 587 avec STARTTLS est la pratique standard IETF pour la soumission sécurisée de courriels. Le port 465 constitue une alternative sécurisée utilisant un chiffrement implicite.

Si vous renseignez d'autres paramètres ou désactivez le chiffrement, des erreurs de messagerie peuvent survenir.

 

Autres ports supportés (non chiffrés ou rétrocompatibilité)

Ports alternatifs :

  • Port 143 : port standard pour la rĂ©ception IMAP (non chiffrĂ©, utiliser le 993).
  • Port 110 : port standard pour la rĂ©ception POP3 (non chiffrĂ©, utiliser le 995).
  • Port 995 : port sĂ©curisĂ© pour la rĂ©ception POP3s (option sĂ©curisĂ©e POP3).
  • Port 25 : port standard pour le transfert de serveur Ă  serveur (peut supporter STARTTLS pour la soumission, mais le port 587 reste la norme pour les clients).

Compatibilité d'authentification et de chiffrement :

  • L'authentification STARTTLS est prise en charge sur les ports non chiffrĂ©s (143, 110, 25) pour activer le chiffrement TLS.
  • L'authentification SMTP est supportĂ©e via les mĂ©thodes LOGIN ou PLAIN.

 

Utilisation de l'API et sécurité des transferts

L'API Infomaniak ne propose aucune connexion directe à la messagerie, car IMAP et SMTP font eux-mêmes office d'interfaces ("API"). Pour interagir avec la messagerie par programmation, utilisez une bibliothèque dédiée (par exemple en Python : email.examples et imaplib).

Exemple pour afficher les e-mails Ă  partir de PHP :
imap_open("{mail.infomaniak.com:993/imap/ssl}", $email, $password);

Le mécanisme MTA-STS n'est pas mis en place ni vérifié, Infomaniak utilisant plutôt DANE (DNS-based Authentication of Named Entities) pour garantir une connexion chiffrée entre serveurs lorsque les conditions suivantes sont remplies :

  • Le client envoie un e-mail Ă  un domaine qui a configurĂ© DANE.
  • Le client reçoit un e-mail de la part d'un serveur SMTP qui utilise DANE.

Dans tous les autres cas (en l'absence de DANE), la connexion chiffrée reste opportuniste.

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


Cette FAQ a été utile?

Ce guide explique ce qu'est un hébergeur Web comme Infomaniak et précise son rôle, son périmètre d'action et les limites de son accompagnement technique.

 

Infomaniak, hébergeur depuis 1996

Selon Wikipédia, un hébergeur Web est une entreprise qui fournit l'hébergement sur Internet de systèmes informatiques à des personnes ou entités qui ne souhaitent pas le faire par leurs propres moyens.

Infomaniak, c'est également :

  • … des dĂ©cennies d'expĂ©rience dans l'hĂ©bergement et les solutions en ligne haute performance.
  • … plus d'un million d'utilisateurs en Suisse et en Europe confiant la gestion de leurs donnĂ©es critiques.
  • … une entreprise certifiĂ©e ISO 27001, 9001, 14001, 50001 et engagĂ©e pour un numĂ©rique durable (âť“: aide).
  • … 100% de savoir-faire technologique "Swiss made" avec des donnĂ©es hĂ©bergĂ©es en Suisse dans ses propres centres de donnĂ©es.
  • … une riche base de connaissances et un support client disponible pour vous guider (âť“: aide).

 

Responsabilités et limites d'intervention

En tant qu'hébergeur, Infomaniak installe, sécurise et maintient à jour l'infrastructure serveur, fait évoluer ses interfaces de gestion (Manager) et accompagne ses clients dans l'utilisation optimale des outils fournis. Infomaniak s'efforce de proposer des solutions accessibles à tous ; toutefois, le support humain pour les produits gratuits est par nature restreint afin de garantir la pérennité de ces services.

Le support s'adresse exclusivement aux administrateurs de l'Organisation. Les clients finaux ou les utilisateurs bénéficiant d'un contrat via un Partenaire revendeur doivent impérativement s'adresser à leur administrateur ou prestataire dédié en priorité. Pour des raisons de sécurité et de confidentialité, aucune assistance ne sera fournie sans une identification formelle de l'interlocuteur.

 

Périmètre du support technique

L'assistance technique n'intervient pas pour :

  • Le dĂ©veloppement et la programmation : dĂ©bogage de sites, correction de code source, scripts personnels (PHP, JS, etc.)
  • L'utilisation et l'intĂ©gration des API.‍
  • La maintenance applicative et le Webmastering : dĂ©pannage, mise Ă  jour ou gestion de contenu pour des applications tierces (ex: CMS comme WordPress, clients mail comme Outlook, etc.).
  • Les interventions locales et sur mesure : prise de contrĂ´le Ă  distance, configuration de votre propre matĂ©riel, installations ou migrations manuelles complexes.

Mais le support vous assistera avec plaisir pour :

  • L'infrastructure et le Manager : rĂ©solution d'incidents liĂ©s au rĂ©seau, au matĂ©riel ou aux interfaces de gestion Infomaniak.
  • L'utilisation des services Infomaniak : clarification des processus de configuration et aide Ă  la prise en main de nos fonctionnalitĂ©s natives.
  • L'orientation documentaire : vous guider vers les ressources et guides techniques adaptĂ©s pour vous rendre autonome.

Une assistance Premium (❓: aide) et un service de migration (❓: aide) sont disponibles pour des besoins plus spécifiques.

 

Trouver de l'aide externe

Pour une aide relative au contenu de votre site, à sa programmation ou à l'organisation avancée de vos messageries, utilisez la plateforme d'appel d'offres d'Infomaniak qui recense plus de 1000 professionnels vérifiés (❓: aide), ou consultez leur annuaire.(❓: aide).

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


Cette FAQ a été utile?

Ce guide vous permet de rapidement utiliser les fonctions essentielles de votre nouveau Serveur Cloud.

 

Installer une application

 

Configurer le serveur

 

Gérer les sites et les domaines

Si votre nom de domaine n'est pas géré par Infomaniak ou que votre hébergement n'est pas géré dans le même compte utilisateur que votre nom de domaine, prenez connaissance de cet autre guide pour configurer les DNS ou les enregistrements afin de lier le nom de domaine à votre hébergement. Mais aussi:

 

En cas de problème, accédez à la base de connaissances avant de contacter le support Infomaniak.

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


Cette FAQ a été utile?

Ce guide explique comment optimiser un site géré sur un Hébergement Web afin de le rendre plus rapide et d'offrir une navigation fluide à tous vos visiteurs, quelle que soit leur vitesse de connexion.

 

Le rôle de l'hébergeur

La vitesse de chargement d'un site dépend de nombreux facteurs : performance du serveur, infrastructure réseau de l'hébergeur, connexion Internet du visiteur et optimisation du site lui-même.

En tant qu'hébergeur, Infomaniak s'efforce de proposer le meilleur de l'hébergement en faisant évoluer en permanence ses produits et son infrastructure :

  1. Tous les hébergements fonctionnent sur des disques SSD de dernière génération.
  2. L'infrastructure bénéficie de plus de 70 Gbit/s d'interconnexion et de redondance avec des partenaires comme Cogent ou Level3.
  3. Pour absorber les pics de fréquentation, les serveurs utilisent des processeurs Intel Xeon 64 bits régulièrement renouvelés. Les serveurs mutualisés n'utilisent en moyenne que 40 % de la puissance de leurs CPU.

Lorsque vous soumettez une demande de support concernant des lenteurs, Infomaniak vérifie les points suivants :

  1. Le serveur de votre hébergement fonctionne normalement et n'a rencontré aucun incident durant les 48 dernières heures.
  2. L'infrastructure réseau n'a subi aucune perturbation sur cette même période.

 

Le rôle du détenteur de site et du webmaster

Infomaniak n'intervient pas sur le contenu des serveurs ni sur le développement des sites. La création et la maintenance d'un site sont des métiers distincts, bien qu'ils utilisent les outils et services mis à disposition par l'hébergeur.

 

Analyser la cause des lenteurs

Voici les actions Ă  entreprendre si vous constatez des lenteurs sur votre site :

  1. Appliquez les recommandations de Google PageSpeed Insights. Ces points concernent la conception du site et non la configuration du serveur. Prenez connaissance de cet autre guide si le test recommande d'autoriser la compression des ressources.
  2. En cas de lenteurs constatées depuis l'étranger, activez le DNS Fast Anycast.
  3. Installez un système de cache pour réduire les accès redondants aux bases de données et accélérer l'affichage.
  4. Envisagez l'utilisation d'un CDN.
  5. Testez le temps de réponse du serveur ou TTFB.
  6. Scannez votre hébergement pour détecter d'éventuels virus.
  7. Purgez régulièrement vos bases de données en supprimant les entrées inutiles.
  8. Utilisez la dernière version de PHP compatible avec votre site ou CMS.
  9. Évitez les images, compteurs ou médias hébergés sur des serveurs externes : s'ils sont inatteignables, votre site paraîtra lent.
  10. Désactivez les extensions WordPress superflues ou trop gourmandes en ressources.
  11. Maintenez vos CMS et applications Web à jour régulièrement.
  12. Limitez l'impact des robots d'indexation trop agressifs en configurant un Crawl-delay.
  13. Analysez les error-logs : corriger les erreurs générées par votre site améliore ses performances.
  14. Prenez connaissance des slowlogs pour identifier les requêtes SQL prenant plus de 5 secondes à s'exécuter et optimisez-les (exemples d'optimisation).
  15. Ajoutez un moteur de cache serveur comme Memcached (disponible sur serveur Cloud uniquement).
  16. Augmentez la valeur max_children (uniquement sur serveur Cloud).

 

Si le problème persiste

Si vous ou votre webmaster ne trouvez pas l'origine des lenteurs, contactez le support Infomaniak par écrit en fournissant les informations suivantes :

  1. Nom du site hébergé.
  2. Dates et heures précises des lenteurs.
  3. Nom de la base de données ou du compte FTP éventuellement concerné.
  4. Votre adresse IP publique lors des tests (visible sur https://www.infomaniak.com/ip).
  5. Type de lenteur (affichage, transferts FTP, etc.).
  6. Indiquez si vous accédez normalement au site d'Infomaniak durant ces épisodes.
  7. Résultat complet d'un traceroute vers 84.16.66.66.
  8. Résultat d'un test de débit sur speedtest.net en sélectionnant Infomaniak comme serveur de destination.

 

Si vos besoins évoluent

Si l'hébergement mutualisé ne suffit plus, étudiez le passage à un Serveur Cloud. Votre site pourra y être migré facilement pour bénéficier de ressources dédiées et de technologies de cache avancées.

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


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

 

âš  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, 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.

  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 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;
  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 explique comment accéder à phpMyAdmin avec un Hébergement Web.

 

Préambule

  • phpMyAdmin est un outil d'administration open-source conçu pour gĂ©rer vos bases de donnĂ©es MySQL et MariaDB via une interface web intuitive.
    • Il permet d'effectuer des opĂ©rations complexes telles que l'exĂ©cution de requĂŞtes SQL, la crĂ©ation de tables ou l'importation et l'exportation de donnĂ©es sans avoir Ă  utiliser la ligne de commande.
  • phpMyAdmin est Ă©galement disponible parmi les Applications Web Ă  installer (âť“: aide) sur vos hĂ©bergements.

 

Accéder à phpMyAdmin

Afin d'accéder à l'hébergement Web sur la partie Bases de données :

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom de l'hĂ©bergement concernĂ©.
  3. Cliquez sur le chevron ‍ à droite de Bases de données dans le menu latéral gauche.
  4. Cliquez sur Bases de données dans le menu latéral gauche.
  5. Cliquez sur Se connecter Ă  phpMyAdmin:
    • Le serveur cible et un utilisateur temporaire sont automatiquement prĂ©-remplis.

 

Vous pouvez Ă©galement cliquer sur le menu d'action â‹® situĂ© Ă  droite d'un utilisateur de base de donnĂ©es:

  • Le serveur cible est automatiquement prĂ©-rempli.
  • Le mot de passe Ă  saisir correspond Ă  l'utilisateur de la base de donnĂ©es, celui que vous avez choisi Ă  la crĂ©ation de l'utilisateur MySQL Ă  redĂ©finir si vous l'avez oubliĂ© (âť“: aide).

 

Limitations et spécificités de l'instance mutualisée

Certaines fonctionnalités de stockage de phpMyAdmin sont désactivées sur les serveurs mutualisés pour des raisons de sécurité et de performances:

RequĂŞtes SQL

  • bookmarktable : dĂ©sactive les signets, c'est-Ă -dire l'enregistrement de requĂŞtes SQL pour les rĂ©exĂ©cuter plus tard, Ă©ventuellement avec des variables.
  • history : dĂ©sactive l'historique SQL persistant.
    • L'historique n'est plus conservĂ© en base entre les sessions et reste limitĂ© Ă  la session courante du navigateur.
  • savedsearches : dĂ©sactive les recherches enregistrĂ©es dans l'outil « RequĂŞte par exemple ».

Relations et structure

  • relation : dĂ©sactive les relations internes entre tables.
    • C'est la base de nombreuses fonctions : liens cliquables entre clĂ©s Ă©trangères, listes dĂ©roulantes de valeurs liĂ©es lors de la saisie, relations dans le Concepteur et les schĂ©mas, et export des relations.
    • Les vraies clĂ©s Ă©trangères InnoDB restent gĂ©rĂ©es par MySQL, mais les relations « internes » (utiles pour MyISAM) ne sont plus possibles.
  • table_info : dĂ©sactive la colonne d'affichage, c'est-Ă -dire la colonne descriptive (par exemple un nom) montrĂ©e Ă  la place ou en info-bulle d'une clĂ© Ă©trangère.
  • column_info : dĂ©sactive les commentaires de colonnes stockĂ©s par phpMyAdmin, les types MIME et les transformations (affichage d'une colonne sous forme d'image, de lien, de date formatĂ©e, etc., ainsi que les transformations Ă  la saisie).
  • central_columns : dĂ©sactive les colonnes centrales, une liste de dĂ©finitions de colonnes rĂ©utilisables au sein d'une base pour garder des structures cohĂ©rentes.

Schémas et Concepteur (Designer)

  • table_coords et pdf_pages : dĂ©sactivent la sauvegarde des pages de schĂ©ma, avec la position des tables.
    • Vous ne pouvez donc plus enregistrer de schĂ©ma relationnel ni exporter un schĂ©ma Ă  partir d'une page sauvegardĂ©e (PDF, SVG, etc.).
  • designer_coords : servait Ă  enregistrer la position des tables dans le Concepteur.
    • Ce paramètre est obsolète dans les versions rĂ©centes, qui utilisent table_coords et pdf_pages Ă  la place.
  • designer_settings : dĂ©sactive la mĂ©morisation des rĂ©glages du Concepteur : liens en angle droit, grille ou aimant, Ă©tat du menu, etc.

Préférences et interface

  • userconfig : dĂ©sactive le stockage des prĂ©fĂ©rences utilisateur en base.
    • Les rĂ©glages faits dans « Paramètres » ne sont plus enregistrĂ©s cĂ´tĂ© serveur.
    • Ils peuvent au mieux ĂŞtre gardĂ©s dans le stockage local du navigateur, donc ils sont perdus si vous changez de poste ou de navigateur.
  • table_uiprefs : dĂ©sactive la mĂ©morisation de l'affichage par table : tri choisi, ordre des colonnes, colonnes masquĂ©es.
  • recent : dĂ©sactive la liste persistante des tables rĂ©cemment consultĂ©es.
  • favorite : dĂ©sactive les tables favorites (l'Ă©toile dans le panneau de navigation).
  • navigationhiding : dĂ©sactive la possibilitĂ© de masquer des Ă©lĂ©ments (bases, tables, vues…) dans l'arborescence de navigation.

Gestion des utilisateurs

  • users et usergroups : dĂ©sactivent les groupes d'utilisateurs, qui permettent de restreindre les onglets ou menus de phpMyAdmin visibles par chaque utilisateur.
    • Les droits MySQL eux-mĂŞmes (comptes, privilèges) ne sont pas touchĂ©s.

Suivi et export

  • tracking : dĂ©sactive le suivi des modifications.
    • Cette fonction historise les changements de structure (DDL) et de donnĂ©es (DML) d'une table, avec des versions et des rapports.
  • export_templates : dĂ©sactive les modèles d'export, c'est-Ă -dire l'enregistrement d'un jeu d'options d'export pour le rĂ©utiliser.

Import

  • ldi_local_option : lors d'un import CSV avec la mĂ©thode LOAD DATA, phpMyAdmin n'utilise pas le mot-clĂ© LOCAL par dĂ©faut.
    • Le fichier doit alors ĂŞtre lisible directement par le serveur MySQL, au lieu d'ĂŞtre envoyĂ© par client.
    • C'est la valeur par dĂ©faut, et elle est plutĂ´t prudente cĂ´tĂ© sĂ©curitĂ©, car LOAD DATA LOCAL INFILE est une source connue de risques.

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


Cette FAQ a été utile?

Ce guide explique comment accéder à la configuration d'un site chez Infomaniak afin d'afficher des informations techniques comme la version de PHP, d'Apache ou les extensions et modules PHP activés.

 

Visualiser les infos techniques du site

Pour accĂ©der Ă  la gestion du site :

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom du site concernĂ©.
  3. Cliquez sur Gérer les paramètres avancés:
  4. Prenez connaissance des informations du site sous les onglets GĂ©nĂ©ral, PHP / Apache et Extensions PHP.
  5. Cliquez sur Bases de données dans le menu latéral gauche afin d'obtenir la version de MySQL de l'hébergement Web:

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


Cette FAQ a été utile?

Ce guide explique comment modifier les variables de l'extension PHP-CLI qui est disponible par défaut sur Serveur Cloud Infomaniak.

 

Modifier les variables PHP_CLI

Pour accéder aux extensions PHP du Serveur Cloud :

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre Serveur Cloud sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au Serveur Cloud concernĂ©.
  3. Cliquez sur Extensions PHP dans le menu latéral gauche.
  4. Cliquez sur le menu d'action â‹® Ă  droite de PHP-CLI dans le tableau qui s'affiche.
  5. Cliquez sur Configurer:
  6. Modifiez les variables suivantes : allow_url_fopen, allow_url_include, memory_limit, max_execution_time, short_open_tag, allow_local_infile
  7. Cliquez sur le bouton bleu Enregistrer.

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


Cette FAQ a été utile?

L'éventuelle indication information_schema ne vous concerne pas directement.

Veuillez ne pas en tenir compte.

C'est une base interne de MySQL qui est un récapitulatif des informations de vos propres bases de données.

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


Cette FAQ a été utile?

Ce guide concerne les fonctionnalités de gestion de base de données disponibles avec les hébergements Infomaniak.

 

Découvrez également la solution de bases de données managées (DBaaS) haute disponibilité hébergée en Suisse, permettant de déployer facilement des clusters performants et sécurisés (MySQL, MariaDB, PostgreSQL) sans avoir à gérer l'infrastructure sous-jacente.

 

MySQL, SQLite, MariaDB, PostgreSQL…

Au niveau Système de Gestion de Base de Données, les hébergements supportent…

  1. … bases de données MySQL via accès PHP MySQL ou via Perl DBI+DBD::mysql
    • Vous pouvez utiliser MySQL comme système de gestion de base de donnĂ©es (SGBD) sur les serveurs Infomaniak.
    • Vous pouvez y accĂ©der soit via PHP en utilisant les fonctions de base de donnĂ©es MySQL intĂ©grĂ©es Ă  PHP, soit via Perl en utilisant les modules DBI et DBD::mysql
  2. … MySQLI, l'interface d'accès native au MySQL (PHP5)
    • MySQLI est une extension de PHP qui permet d'accĂ©der Ă  une base de donnĂ©es MySQL.
    • C'est une version amĂ©liorĂ©e et plus rĂ©cente de l'ancienne extension MySQL de PHP, offrant des fonctionnalitĂ©s et des performances amĂ©liorĂ©es.
  3. … SQLite 3.x
    • SQLite est un moteur de base de donnĂ©es SQL lĂ©ger, autonome et sans serveur.
    • Les serveurs Infomaniak prennent en charge SQLite version 3.x, ce qui signifie que vous pouvez utiliser SQLite pour stocker des donnĂ©es sur ces serveurs.
  4. … MariaDB
    • MariaDB est un fork de MySQL et est souvent utilisĂ© comme alternative Ă  MySQL
    • Vous pouvez donc utiliser MariaDB comme système de gestion de base de donnĂ©es sur les serveurs Infomaniak
  5. … le module PGSQL
    • PGSQL est un module PHP qui permet de se connecter Ă  une base de donnĂ©es PostgreSQL
    • Cette fonctionnalitĂ© spĂ©cifique vous permet de vous connecter Ă  une base de donnĂ©es PostgreSQL DISTANTE via PHP ; cela nĂ©cessite d'ouvrir le port appropriĂ© vers l'IP prĂ©cise de la base de donnĂ©es PostgreSQL depuis le manager Infomaniak.

Dba, dbm, db2, sqlite ne sont pas supportées, SQL Server non plus (il s'agit d'un serveur de base de données qui nécessite une architecture Microsoft).

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


Cette FAQ a été utile?

Ce guide concerne l'installation d'extension PHP sur Hébergements Web Infomaniak.

 

Utilisation d'extensions PHP Zend

Attention:

  • Zend Guard Loader est une extension PHP qui permet d'exĂ©cuter des scripts PHP chiffrĂ©s via Zend Guard.
    • Zend Guard Loader est installĂ© de base pour PHP <= 5.6 sur tous les hĂ©bergements Web et n'est pas disponible pour les versions de PHP >= 5.6.
  • Depuis PHP 5.3.x, le module Zend Optimizer a Ă©tĂ© remplacĂ© par ZendGuardLoader
  • L'extension ZendOPCache nĂ©cessite un Serveur Cloud configurĂ© avec PHP 5.5 minimum

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


Cette FAQ a été utile?

Ce guide explique comment modifier la configuration serveur d'un site sur Hébergement Web Infomaniak.

 

Préambule

  • Apache est le serveur HTTP.
    • Il se configure avec un fichier .htaccess placĂ©e Ă  la racine du site.
  • PHP est un langage de programmation utilisĂ© pour crĂ©er des pages dynamiques via un serveur HTTP.
    • Il est possible de personnaliser les directives PHP avec un fichier .user.ini lesquelles seront effectives dans les dossier et sous-dossiers de l'emplacement du fichier .user.ini.
  • Prenez connaissance de cet autre guide au sujet de la crĂ©ation de fichiers .htaccess & .user.ini.

 

Modifier la configuration serveur d'un site…

 

… via le Manager

Pour modifier la configuration PHP et la plupart des paramètres (max_input_vars, allow_url_fopen, memory_limit, post_max_size + upload_max_filesize , etc.):

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©.
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur les différents onglets Général, PHP / Apache et Extensions PHP pour procéder aux ajustements désirés:
    • Prenez connaissance de cet autre guide si vous recherchez des informations au sujet des valeurs limites et des possibilitĂ©s de dĂ©blocage de ces dernières.
    • Prenez si nĂ©cessaire connaissance de cet autre guide concernant le quatrième onglet.

N'oubliez pas d'enregistrer les changements en bas de page.

 

… via le fichier .user.ini

Pour les directives PHP qui ne sont pas présentes côté Manager, il est nécessaire de définir les valeurs souhaitées dans le fichier .user.ini par exemple:

max_file_uploads = 20

La liste des directives existantes se trouve sur le site officiel de PHP mais les éléments avec l'indication PHP_INI_SYSTEM dans la colonne Modifiable ainsi que max_input_time, memory_limit et mysqli.default_socket ne sont pas utilisables.

 

… en CLI

Pour personnaliser des directives PHP lors de l'exécution de scripts en ligne de commande (CLI) ou dans des tâches CRON, il est nécessaire de spécifier les valeurs souhaitées dans un fichier .user.ini.

Ensuite, pour appliquer ces configurations, on utilise l'exécutable PHP avec l'option -c suivi du chemin vers le fichier .user.ini.

Par exemple pour modifier la limite de mémoire disponible pour PHP à 1024M, on peut créer ou modifier le fichier .user.ini en utilisant la commande suivante:

echo 'memory_limit = 1024M' > .user.ini

Cette commande écrit la directive memory_limit avec la valeur 1024M dans le fichier .user.ini.

Ensuite, lors de l'exécution d'un script PHP en ligne de commande ou dans une tâche CRON, on utilisera la commande PHP avec l'option -c pour spécifier le fichier .user.ini contenant les configurations personnalisées.

L'exemple suivant active allow_url_fopen pour l'outil WP CLI (permet notamment de récupérer des extensions):

php -d allow_url_fopen=On ~/bin/wp package install trepmal/wp-revisions-cli
  • php: l'exĂ©cutable PHP
  • -d allow_url_fopen=On: l'option -d permet de dĂ©finir une directive de configuration PHP (allow_url_fopen) avec la valeur On
  • ~/bin/wp: chemin vers l'exĂ©cutable WP CLI
  • package install trepmal/wp-revisions-cli: la commande spĂ©cifique pour installer le package WP CLI trepmal/wp-revisions-cli

Cela garantit que l'option allow_url_fopen est activée pendant l'exécution de la commande WP CLI spécifiée. L'activation de allow_url_fopen peut être nécessaire pour certaines opérations qui impliquent l'ouverture d'URL distantes, comme le téléchargement d'extensions ou de packages. Assurez-vous que cette option est activée de manière sécurisée et conformément aux meilleures pratiques de sécurité.

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


Cette FAQ a été utile?

Ce guide explique comment exécuter le gestionnaire de dépendance open source Composer 2 à l'aide d'une commande SSH.

 

Préambule

  • Composer est un gestionnaire de dĂ©pendances open source pour PHP permettant de dĂ©finir, d'installer et de mettre Ă  jour les bibliothèques nĂ©cessaires Ă  un projet PHP.
  • Composer 1 est obsolète depuis 2021, ne permet plus depuis 2025 d'installer de nouveaux packages ou d'effectuer de mises Ă  jour.
  • Seule la version 2 de Composer est dĂ©sormais prise en charge et disponible sur toutes les versions de PHP de 7.2 Ă  8.3.

 

Exécuter Composer 2

Composer 2 est déjà préinstallé et accessible via SSH. Il n'est donc pas nécessaire de l'installer manuellement.

Utilisation simple

Connectez-vous à votre hébergement via SSH, puis utilisez la commande suivante:

composer

Cette commande exécutera automatiquement la version 2 de Composer compatible avec la version de PHP actuellement utilisée dans votre session.

Vérifier la version active

Vous pouvez vérifier la version de Composer disponible avec:

composer --version

Exemple de sortie : Composer version 2.5.0 2022-12-20 10:44:08 

Forcer une version de PHP spécifique

Si vous souhaitez exécuter Composer avec une version précise de PHP, des alias sont disponibles. Par exemple :

composer_php8.1 --version

ou encore:

composer_php7.4

Ces alias permettent d'exécuter Composer 2 avec l'interpréteur PHP spécifié, utile pour tester ou déployer un projet sur une version cible de PHP.

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


Cette FAQ a été utile?

Ce guide explique comment spĂ©cifier un fichier qui sera chargĂ© avant mĂŞme la page voulue ou au dĂ©but de chaque script PHP exĂ©cutĂ© sur votre serveur, inclus comme s'il avait Ă©tĂ© appelĂ© avec la fonction require(), mais plus globalement en utilisant la directive auto_prepend_file de PHP. 

 

Préambule

  • Pour par exemple dĂ©clarer les headers d'un site, il est possible de faire un fichier headers.php qui contient des fonctions PHP header() et qui soit prepend au dĂ©but de chaque fichier PHP…
    • … via un fichier .user.ini (propre Ă  un dossier),
    • … ou via la configuration du site du Manager (global) comme expliquĂ© ci-dessous.

 

Inclure un fichier globalement depuis le Manager

Pour accĂ©der Ă  la gestion du site :

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom du site concernĂ©.
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur l'onglet PHP / Apache:
  5. Complétez la ligne concernée en entrant le chemin du fichier à inclure.
  6. Cliquez sur le bouton Enregistrer en bas de page:

 

Après avoir défini cette directive, toutes les pages PHP sur votre serveur incluront automatiquement le fichier spécifié avant d'exécuter leur propre code.

Les headers définis dans un fichier .htaccess ne sont valables que pour le contenu non PHP (donc statique).

Infomaniak utilise php-fpm qui reçoit les différents headers via apache fast_cgi. Dans la RFC de cgi_www le header Strict-Transport-Security ne fait pas partie des headers passés via CGI et la documentation Apache le confirme. Prenez connaissance de cette autre RFC.

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


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 comme Brave, Chrome, Edge, Firefox, Opera, Safari… (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 explique comment activer ou désactiver la fonction PHP set_time_limit d'un Hébergement Web.

 

Préambule

 

Activer ou désactiver la fonction PHP set_time_limit

Pour accĂ©der Ă  la gestion du site :

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom du site concernĂ©.
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur l'onglet PHP / Apache:
  5. Cliquez sur le bouton à bascule (toggle switch) On/Off comme désiré:
  6. Cliquez sur le bouton Enregistrer en bas de page pour valider les modifications.

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


Cette FAQ a été utile?