Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide vous accompagne dans l’installation sur Infomaniak de Ghost, une plateforme idéale pour les blogs (écriture régulière, format éditorial) et les sites de publication centrés sur le contenu, tels que Substack ou Medium.
Reposant sur Node.js et utilisant Markdown pour la rédaction, Ghost se distingue par sa légèreté, là où WordPress, bien que plus flexible et universel, reste plus lourd.
Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Prérequis
- Avoir installé un site vierge de type Node.js sur un hébergement Web Infomaniak.
- Créer un accès SSH.
- Créer une base de données.
- Posséder une adresse mail valide et fonctionnelle (notamment les fonctionnalités de mot de passe oublié).
- Arrêter votre application Node.JS avant de faire les étapes suivantes !
Installation de Ghost
Pour cela:
- Connectez-vous sur le serveur en SSH (besoin d'aide ?).
Clonez et exécutez le script d'installation (exécutez ces commandes une par une):
git clone https://github.com/Infomaniak/hosting-tools.git cd hosting-tools/h3-ghost bash ./install.sh
Le script va maintenant :
- Vous poser quelques questions (comme l'URL de votre site, les informations de base de données, etc.)…
- Télécharger et configurer Ghost automatiquement…
- Prendre quelques minutes — soyez patient !
Répondez aux questions soigneusement en utilisant les détails de base de données que vous avez notés plus tôt. Ne fermez pas le terminal tant qu'il n'a pas fini !
Configurer votre hébergement (via le panneau Infomaniak)
Une fois que le script est terminé, allez dans votre Panneau de contrôle 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 Gérer sous Paramètres avancés:

- Cliquez sur l'onglet Node.js pour accéder aux réglages.
Dans le champ de commande d'exécution, entrez:
/srv/customer/node_modules/ghost-cli/bin/ghost run- Vérifiez que le numéro de port est bien
3000. - Case de commande de build : désactivez-la.
- Cliquez sur le bouton Enregistrer en bas de page:

- Sur la page principale, cliquez sur le bouton Start (ou Restart si déjà en cours d'exécution).
- Observez les journaux montrant la création de la base de données et le démarrage de l'application:

Terminé ! Accédez à votre blog Ghost
Rendez-vous ensuite sur l'URL de votre site pour démarrer:
- Ouvrez votre navigateur et allez Ă
https://votresite.com/ghost(remplacezvotresite.compar votre domaine actuel). - La première fois :
- Vous créerez un compte administrateur (votre identifiant pour le blog)…
- Ensuite, vous pourrez commencer à écrire des articles !
Configuration des utilisateurs / mail
Afin de créer le premier utilisateur, ajoutez /ghost à l'URL de votre site (par exemple https://ghost.domain.xyz/ghost) et suivez l'assistant.
Vous pouvez également configurer l'"adresse de support du portail des membres": lorsque de nouveaux membres souhaitent s'inscrire, le portail envoie la confirmation du double opt-in à partir d'une adresse spécifique. Par défaut, il s'agit de l'adresse “noreply” de votre domaine. Pour la mettre à jour, naviguez vers “Paramètres”, “Adhésion”, “Paramètres du portail”, “Personnaliser”, et “Page du compte”:
Résoudre une incompatibilité technique entre Ghost et MariaDB
Il existe un problème de compatibilité entre Ghost et la base de données MariaDB. Il en résulte ce type d'erreur:
[2025-01-01 12:54:28] ERROR "GET /ghost/api/admin/posts/6834625e35802b06f1496305/?formats=mobiledoc%2Clexical&include=tags%2Cauthors%2Cauthors.roles%2Cemail%2Ctiers%2Cnewsletter%2Ccount.conversions%2Ccount.clicks%2Csentiment%2Ccount.positive_feedback%2Ccount.negative_feedback" 400 27ms
Could not understand request.
Error ID:
8f2b0d90-3a30-11f0-a25f-fd9c83e1cf02
Error Code:
ER_BAD_FIELD_ERROR
----------------------------------------
Error: select `posts`.*, (with `k` as (select `member_id` from `members_subscription_created_events` where posts.id = members_subscription_created_events.attribution_id union select `member_id` from `members_created_events` where posts.id = members_created_events.attribution_id) select count(*) from `k`) as `count__conversions`, `posts`.*, (select count(distinct `members_click_events`.`member_id`) from `members_click_events` inner join `redirects` on `members_click_events`.`redirect_id` = `redirects`.`id` where posts.id = redirects.post_id) as `count__clicks`, `posts`.*, (select COALESCE(ROUND(AVG(score) * 100), 0) from `members_feedback` where posts.id = members_feedback.post_id) as `count__sentiment`, `posts`.*, (select count(*) from `members_feedback` where posts.id = members_feedback.post_id AND members_feedback.score = 0) as `count__negative_feedback`, `posts`.*, (select sum(`score`) from `members_feedback` where posts.id = members_feedback.post_id) as `count__positive_feedback` from `posts` where (`posts`.`type` = 'post' and `posts`.`status` in ('draft', 'published', 'scheduled', 'sent')) and `posts`.`id` = '2834125e33802b06e1433305' limit 1 - Unknown column 'posts.id' in 'where clause'
at Child.<anonymous> (/srv/customer/sites/ghost.domain.xyz/versions/5.120.2/core/server/models/base/plugins/crud.js:194:31)
at Packet.asError (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/packets/packet.js:740:17)
at Query.execute (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/base/connection.js:475:34)
at PacketParser.onPacket (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/base/connection.js:93:12)
at PacketParser.executeStart (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/base/connection.js:100:25)
at Socket.emit (node:events:518:28)
at addChunk (node:internal/streams/readable:561:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
at Readable.push (node:internal/streams/readable:392:5)
at TCP.onStreamRead (node:internal/stream_base_commons:189:23)Certaines requêtes SQL générées par Ghost, utilisant des expressions de table communes (CTE) imbriquées dans des sous-requêtes scalaires, provoquent des erreurs HTTP 400 lorsqu'elles sont exécutées sur MariaDB. Ces requêtes sont valides en MySQL 8, qui prend en charge les CTE dans les sous-requêtes scalaires, mais pas en MariaDB jusqu'à la version 10.6.
Un correctif existe pour adapter le comportement de Ghost et éviter ces erreurs (prenez connaissance du guide officiel).
Pour utiliser ce patch, entrez cette commande:
cd current
curl -L https://gist.githubusercontent.com/reneluria/8cbbfbc001e542c77d6d5887fbafe5d3/raw/65e0ce31753b4687d0eb67fc030734a35d3ffbad/ghost-post.patch | patch -p0
Ce guide présente les différentes actions qui sont possibles sur une table MySQL en fonction des droits octroyés à un utilisateur.
Actions sur les tables selon les droits de l'utilisateur…
… sur hébergement Web mutualisé
Lecture + Ecriture + Admin
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEWLecture + Ecriture
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, LOCK TABLELecture
GRANT SELECT… sur Serveur Cloud
Lecture + Ecriture + Admin
GRANT ALLLecture + Ecriture
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, LOCK TABLESLecture
GRANT SELECT
Ce guide vous présente les ports ouverts disponibles pour les sites Node.js (uniquement) hébergés chez Infomaniak.
Ports ouverts en sortie
Web
- HTTP (tcp/80)
- HTTP alternatif (tcp/8080)
- HTTPS (tcp/443)
- FTP Data (tcp/20)
- FTP Control (tcp/21)
- POP3 (tcp/110)
- IMAP (tcp/143)
- SMTP submission (+ STARTTLS) (tcp/587)
- SMTPS (tcp/465)
- IMAPS (tcp/993)
- POP3S (tcp/995)
DB
- MySQL (tcp/3306)
- MongoDB (tcp/27017)
- PostgreSQL (tcp/5432)
- Redis (tcp/6379)
- Redis TLS (tcp/6380)
- ElasticSearch (tcp/9200)
Misc
- SSH (tcp/22)
- Git pack transfer (tcp/9418)
Ports ouverts en entrée
- HTTP (tcp/80)
- HTTPS (tcp/443)
- SSH (tcp/22)
Ce guide s'adresse aux développeurs souhaitant utiliser l'ORM Propel sur un hébergement où l'accès ligne de commande est restreint.
Préambule
- L’ORM permet de lier les objets d’une application aux tables d’une base de données. On manipule les données via des objets
PHPplutôt que d'écrire duSQLbrut. Propelest la couche d'abstraction qui gère ces interactions (relations, jointures, pagination) pour simplifier la maintenance du code.
Particularités & limitations
Propeln'est pas préinstallé viaPear. Vous devez l'installer manuellement dans votre projet.- Il est impératif de télécharger la version "Conventional Package" de
Propel. - Les commandes CLI (comme
propel-gen) ne sont pas exécutables sur le serveur. - En conséquence,
Propelne s'utilise qu'en mode "Runtime" sur la production. La génération des classes (build) doit être effectuée localement. - Le workflow consiste à générer le code sur un environnement de développement, puis à transférer les fichiers résultants vers le serveur.
Dépendances
- L'ensemble des librairies nĂ©cessaires Ă
Propelest disponible, Ă l'exception dePhing. - L'absence de
Phingn'impacte pas la production, car cet outil est uniquement requis lors de la phase de génération locale.
Ce guide concerne les applications OAuth2 pour vous connecter Ă vos services externes via votre identifiant de connexion Infomaniak.
Gérer les apps OAuth2 Infomaniak
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez le bouton bleu Créer une nouvelle application:

- Choisissez le type adéquat selon votre besoin et projet actuel.
- Donnez un nom Ă l'application.
- Entrez l'URL de l'application selon les informations techniques Ă votre disposition.
- Cliquez sur le bouton pour créer l'application:

- Copiez les informations (
Client ID,Client secret) en lieu sûr - elles ne seront plus accessibles après cela:
Ce guide concerne le module WordPress "Infomaniak Connect for OpenID" qui permet aux utilisateurs de se connecter à votre site WordPress (qu'il soit hébergé par Infomaniak ou pas) en utilisant leurs identifiants Infomaniak.
Préambule
- Autoriser la connexion via un compte Infomaniak sur votre site WordPress permet à vos visiteurs de commenter, de s'inscrire à des cours ou d'accéder à tout contenu réservé aux membres en un seul clic, sans avoir à créer un nouveau compte.
- C'est un gain de temps pour eux et une méthode plus sûre pour vous, car vous n'avez pas à gérer de mots de passe supplémentaires.
- Le fonctionnement de ce module externe est identique aux options "Se connecter avec Google", "Se connecter avec Facebook" ou “Se connecter avec Apple” ; il utilise les protocoles standard OAuth2 et OpenID Connect pour permettre une authentification unique (SSO).
A. Créer une application avec Auth Infomaniak
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit Auth sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le bouton pour Créer une nouvelle application:

- Choisissez le type “Web Front-End”.
- Donnez un nom Ă votre application.
- Dans le champ URL, indiquez le nom de domaine correspondant à votre site WordPress après lequel vous ajoutez
/openid-connect-authorize(prenez connaissance de la documentation github si nécessaire). - Cliquez sur le bouton pour terminer la création de l'app:

- Notez précieusement les 2 informations obtenues lors de la finalisation de votre application OAuth2:

B. Configurer l'extension WordPress
Pour cela:
- Recherchez l'extension
Infomaniak Connect for OpenIDsur la plateforme d'extensions WordPress depuis votre site. - Installez et activez l'extension:

- Configurez l'extension depuis le menu Paramètres:

- Les seuls champs Ă remplir sont Client ID et Client Secret Key et proviennent des informations obtenues au point A ci-dessus:

- N'oubliez pas d'enregistrer les modifications apportées aux réglages de l'extension.
- Un bouton supplémentaire, pour une connexion par identifiant Infomaniak, est désormais visible sur votre page de connexion destinée aux utilisateurs
/wp-admin(/wp-login.php):
Ce guide permet de résoudre un problème sur le CMS Prestashop et plus particulierement avec son module “Recherche à facette” ("Faceted search") qui permet la gestion de filtre dans les pages catégorie de produits.
Le problème
Ce module de recherche spécifique de Prestashop crée un cache en base de données pour accélérer la recherche, cependant la table correspondante n'est jamais nettoyée, ce qui pose problème à l'infrastructure d'hébergement.
Première solution
Le première solution consiste à désactiver la mise en cache proposée.
Si vous disposez d'un module de cache, comme par exemple Ultimate Cache, il n'y aura aucun impact négatif.
Pour cela:
- Dans le panneau d’administration PrestaShop, rendez-vous dans Modules → Gestionnaire de modules.
- Sélectionnez Modules et utilisez le champ de recherche pour trouver “facet”.
- Cliquez sur Configurer à côté du module obtenu en résultat:

- Désactivez le bouton à ce sujet:

Seconde solution
La seconde solution consiste Ă mettre un cronjob qui permet de nettoyer la table, par exemple toutes les soirs:
- Depuis les paramètres du module, copiez l’URL existante sur le bouton
Clear cache:
Puis depuis le Manager Infomaniak, créez un webcron (prenez connaissance de cet autre guide à ce sujet) afin d'exécuter l'URL copiée au point 1 ci-dessus, par exemple 1 fois par jour et par nuit.
Ce guide concerne le module Typo3 "t3ext-infomaniak-auth" qui permet aux utilisateurs de se connecter à votre site Typo3 (qu'il soit hébergé par Infomaniak ou pas) en utilisant leurs identifiants Infomaniak.
Préambule
- Autoriser la connexion via un compte Infomaniak sur votre site Typo3 permet à vos visiteurs de commenter, de s'inscrire à des cours ou d'accéder à tout contenu réservé aux membres en un seul clic, sans avoir à créer un nouveau compte.
- C'est un gain de temps pour eux et une méthode plus sûre pour vous, car vous n'avez pas à gérer de mots de passe supplémentaires.
- Le fonctionnement de ce module externe est identique aux options "Se connecter avec Google", "Se connecter avec Facebook" ou “Se connecter avec Apple” ; il utilise les protocoles standard OAuth2 et OpenID Connect pour permettre une authentification unique (SSO).
A. Créer une application avec Auth Infomaniak
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit Auth sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le bouton pour Créer une nouvelle application:

- Choisissez le type “Web Front-End”.
- Donnez un nom Ă votre application.
- Dans le champ URL, indiquez le nom de domaine correspondant à votre site Typo3 après lequel vous ajoutez
/openid-connect-authorize(prenez connaissance de la documentation github si nécessaire). - Cliquez sur le bouton pour terminer la création de l'app:

- Notez précieusement les 2 informations obtenues lors de la finalisation de votre application OAuth2:

B. Configurer l'extension Typo3
En SSH, déployez si nécessaire Composer pour pouvoir rapatrier les extensions t3ext-infomaniak-auth. Pour cela:
- La commande SSH pour l'installation de l'extension est ici:
Ensuite, sur Typo3:
- Connectez-vous dans votre interface d'administration Typo3.
- Vérifiez si nécessaire que l'extension Infomaniak soit bien activée:

- Vérifiez si nécessaire que l'extension Infomaniak soit bien activée:
- Cliquez sur Paramètres dans le menu latéral gauche.
- Cliquez sur Configurer les extensions:

- Cliquez sur le chevron ‍ à droite de typo3-openid-main pour développer l'onglet client.
- Les seuls champs Ă remplir sont clientID et clientSecret et proviennent des informations obtenues au point A ci-dessus.
- N'oubliez pas d'enregistrer les modifications apportées aux réglages de l'extension:

- Un bouton supplémentaire, pour une connexion par identifiant Infomaniak, est désormais visible sur votre page de connexion destinée aux utilisateurs:

Infomaniak propose différentes offres Site Creator, gratuites ou payantes, qui répondent à divers besoins. Il est essentiel de bien comprendre les conditions liées à chaque type d'offre avant de faire votre choix.
Comprendre les différentes offres Site Creator
Site Creator est disponible…
- … soit gratuitement avec chaque hébergement Web payant:
- Dans ce cas, 1 seul Site Creator peut être mis en place par hébergement Web Infomaniak.
- Pour gérer plusieurs sites créés avec Site Creator dans la même Organisation, il est donc nécessaire de posséder plusieurs hébergements Web.
- … soit de façon autonome (standalone déclinée en 3 versions) et ne requiert dans ce cas aucune autre offre particulière:
- Site Creator Free
- Site Creator Lite
- Site Creator Pro
1. Site Creator Free
Cette offre est positionnée comme une solution de test et de découverte et est entièrement gratuite. Elle s'adresse aux utilisateurs qui souhaitent se familiariser avec l'outil ou publier une page web extrêmement simple:
- Elle n'autorise qu'une seule page web et offre un espace disque réduit (5 Go).
- Cette offre ne permet pas la connexion à un nom de domaine personnalisé (il sera de la forme
*.infomaniak.site) et inclut l'affichage obligatoire de la mention publicitaire d'Infomaniak. - Les modules de croissance importants, tels que la gestion complète d'un blog, l'utilisation de l'Intelligence Artificielle pour la génération de texte, ou la fonction "Plan du site", ne sont pas inclus.
2. Site Creator Lite
Le plan Lite est l'offre d'entrée de gamme payante d'Infomaniak. Il est idéal pour la création d'un site vitrine ou d'un blog personnel simple, car il élimine les principales contraintes de la version gratuite et débloque les modules nécessaires à un site complet:
- Elle permet la création d'un site plus conséquent avec une limite fixée à 5 pages web et un espace disque plus confortable (15 Go).
- Elle inclut l'offre d'un nom de domaine pendant un an et, point essentiel, le retrait de toute mention publicitaire d'Infomaniak sur le site.
- Contrairement à l'offre Free, le plan Lite débloque l'accès à des fonctionnalités importantes pour la navigation et l'organisation, notamment le module de Création et gestion de Blog ainsi que le module Plan du site.
3. Site Creator Pro
L'offre Pro est la formule premium de Site Creator. Elle est exclusivement dédiée aux projets les plus ambitieux, comme le lancement d'une boutique en ligne complète, grâce à la levée de toutes les restrictions de contenu et l'intégration d'outils de commerce et d'analyse avancés:
- Elle supprime toute limitation sur le contenu en offrant des pages web illimitées et un large espace disque de 50 Go.
- C'est la seule offre qui intègre la gestion complète du E-commerce (commandes, stock, réductions) et permet l'intégration des passerelles de paiement essentielles (Stripe, PayPal, Mollie) pour une activité commerciale en ligne.
- Le plan Pro est le seul à donner accès à des outils d'analyse et de suivi de performance externes cruciaux, tels que Google Analytics, Hotjar et les outils comme Google reCaptcha.
Engagement lié aux offres payantes
Contrairement à d'autres produits Infomaniak, certaines offres Site Creator incluent un nom de domaine gratuit. Ces offres nécessitent un engagement ferme d'une durée minimale de 12 mois, sans possibilité de remboursement, même partiel, et ce même si :
- vous décidez de stopper l'utilisation de Site Creator avant la fin de la première année,
- vous résiliez vos produits,
- vous clĂ´turez votre compte utilisateur ou votre Organisation.
Évolution des offres et conservation de votre site
Il est possible de passer d'une offre gratuite à une offre payante plus complète:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez ensuite sur le chevron ‍ Gérer.
- Cliquez sur Modifier l'offre:

Il est également possible de passer à une offre supérieure (par exemple, de Lite à Pro).
En revanche, il n'est pas possible de rétrograder vers une offre inférieure ou de revenir à une offre gratuite une fois une offre payante activée.
Si vous souhaitez conserver votre site actif, vous devez impérativement renouveler la même offre payante. Il n'est pas possible de basculer vers une version gratuite de Site Creator, même si :
- vous n'utilisez aucun des modules payants,
- votre site ne comporte qu'une seule page.
Que faire si vous souhaitez revenir Ă l'offre gratuite ?
Dans ce cas, vous devez :
- résilier votre site actuel après avoir copié manuellement toutes les informations que vous souhaitez conserver,
- activer une nouvelle offre Site Creator gratuite,
- recréer votre site en y collant les contenus récupérés de l'ancien.
Ce guide explique comment signaler un spam ou déclarer un faux positif si des messages de type spam passent entre les gouttes au sein d'un Service Mail Infomaniak, ou à l'inverse si un mail valide a été classé en tant que spam involontairement ; vous pouvez intervenir en quelques clics.
Signaler un spam
Prérequis
- Vérifier que le filtre spam est actif.
Ensuite, afin de déplacer automatiquement dans le dossier Spam un e-mail de votre boite de réception qui aurait échappé au filtre anti-spam :
- Cliquez ici afin d'accéder à l'app Web Mail Infomaniak (service en ligne ksuite.infomaniak.com/mail).
- Sélectionnez le message dans la boite de réception puis cliquez sur l'icône Spam de la barre d'outils:
- Vous pouvez également l'ouvrir et le déclarer comme Spam dans un second temps:
- Autre possibilité: l'ouvrir et cliquer sur le menu d'action ⋮ à droite:
Dès lors que vous avez cliqué sur Signaler comme spam :
- l'e-mail est déplacé dans le dossier Spam (ou dans le dossier défini manuellement)
- l'adresse de l'expéditeur est ajoutée à la liste des utilisateurs bloqués
- le filtre est affiné pour une meilleure prise en charge au fil du temps
Déclarer un faux positif
A l'inverse, si vous agissez sur un e-mail faussement considéré comme spam (faux positif) en cliquant sur l'icône "Ceci n'est pas du spam" :
- L'e-mail est déplacé vers la boite de réception…
- L'adresse de l'expéditeur est ajoutée à la liste des utilisateurs autorisés…
- Cela agit également sur le filtre et ses critères.
Ce guide détaille les plages d’adresses IP publiques utilisées par Infomaniak.
Préambule
- La publication de ces adresses facilite la configuration des systèmes de sécurité (firewall, filtrage, whitelisting).
- Les adresses sont indiquées au format CIDR (exemple :
192.0.2.0/24), qui regroupe plusieurs adresses consécutives.
Plages d’adresses IPv4 & IPv6
Le lien vers le fichier JSON répertoriant les IP est:
https://prefixes.infomaniak.com/json
Ce guide concerne le module Drupal "Infomaniak_Connect" qui permet aux utilisateurs de se connecter à votre site Drupal (qu'il soit hébergé par Infomaniak ou pas) en utilisant leurs identifiants Infomaniak.
Préambule
- Autoriser la connexion via un compte Infomaniak sur votre site Drupal permet à vos visiteurs de commenter, de s'inscrire à des cours ou d'accéder à tout contenu réservé aux membres en un seul clic, sans avoir à créer un nouveau compte.
- C'est un gain de temps pour eux et une méthode plus sûre pour vous, car vous n'avez pas à gérer de mots de passe supplémentaires.
- Le fonctionnement de ce module externe est identique aux options "Se connecter avec Google", "Se connecter avec Facebook" ou “Se connecter avec Apple” ; il utilise les protocoles standard OAuth2 et OpenID Connect pour permettre une authentification unique (SSO).
A. Créer une application avec Auth Infomaniak
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit Auth sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le bouton pour Créer une nouvelle application:

- Choisissez le type “Web Front-End”.
- Donnez un nom Ă votre application.
- Dans le champ URL, indiquez le nom de domaine correspondant à votre site Drupal après lequel vous ajoutez
/openid-connect-authorize(prenez connaissance de la documentation github si nécessaire). - Cliquez sur le bouton pour terminer la création de l'app:

- Notez précieusement les 2 informations obtenues lors de la finalisation de votre application OAuth2:

B. Configurer l'extension Drupal
En SSH, déployez si nécessaire Composer pour pouvoir rapatrier les extensions openid_connect et infomaniak_connect. Pour cela:
- Vous devez si nécessaire éditer le fichier composer.json car la version de
openid_connectn’est pas encore considérée comme stable. Ajoutez: "minimum-stability": "dev", "prefer-stable": true- Les commandes SSH pour l'installation des 2 extensions sont ici:
Ensuite, sur Drupal:
- Recherchez le module Infomaniak parmi vos modules préinstallés.
- Sélectionnez-le.
- Cliquez sur le bouton Installer:

- L'installation des dépendances va se faire:

- Sous Configuration, cliquez pour paramétrer la connexion OpenID:

- Cliquez sur le bouton d'édition:

- Les seuls champs Ă remplir sont Client ID et Client Secret et proviennent des informations obtenues au point A ci-dessus:

- N'oubliez pas d'enregistrer les modifications apportées aux réglages de l'extension.
- Dans l'onglet Paramètres, vous pouvez choisir le type d'affichage pour votre page de connexion ; n'oubliez pas de sauvegarder:

- Un bouton supplémentaire, pour une connexion par identifiant Infomaniak, est désormais visible sur votre page de connexion destinée aux utilisateurs:

Ce guide explique comment résoudre un problème d'installation de certificat SSL (Let's Encrypt ou Sectigo) si vous utilisez Cloudflare avec des règles de sécurité strictes, comme le filtrage par pays ou adresses IP.
Adapter les réglages SSL / geoblocking
Lorsqu’un certificat SSL est demandé via Infomaniak (Let's Encrypt gratuit ou Sectigo), l’autorité de certification doit vérifier que vous êtes bien propriétaire du domaine. Cette vérification peut se faire par HTTP (via des fichiers spéciaux placés sur votre site), DNS ou e-mail :
- Let's Encrypt utilise
/.well-known/acme-challenge/. - Sectigo utilise généralement
/.well-known/pki-validation/(ou DNS / e-mail selon l’option choisie).
Si ces vérifications échouent (par exemple parce que Cloudflare bloque l’accès), le certificat ne peut pas être délivré ou renouvelé. Or, Let's Encrypt ne vérifie plus uniquement depuis un seul endroit. Depuis un certain temps (et plus encore depuis mars 2024), il effectue ses vérifications depuis plusieurs pays en même temps – y compris des nouveaux comme la Suède ou Singapour. Résultat : si l’un de ces pays est bloqué par vos réglages Cloudflare, la demande de certificat peut échouer, même si tout le reste est correctement configuré.
Pire encore : même si vous essayez de faire une exception uniquement pour l’adresse du challenge (.well-known/acme-challenge), cela ne fonctionne pas forcément avec certaines règles Cloudflare. En effet, les règles de blocage par pays ou par IP sont appliquées avant toute exception basée sur des chemins d’URL.
Ajuster le mode SSL/TLS
Dans Cloudflare, utilisez le mode Full ou Full (strict). Ces modes tolèrent temporairement un certificat expiré ou auto-signé, le temps que la validation aboutisse:
Autoriser les chemins de validation
Évitez les "IP Access Rules" bloquantes et préférez des "Custom Rules" qui autorisent sans restriction les chemins :
/.well-known/acme-challenge/(Let's Encrypt)/.well-known/pki-validation/(Sectigo)
Désactiver temporairement le geoblocking
Si nécessaire, désactivez provisoirement le blocage géographique ou IP le temps de la validation, puis réactivez vos protections après l’émission ou le renouvellement du certificat.
Ce guide détaille les erreurs de type dépassement de ressources que l'on peut obtenir en gérant et visitant un site Web.
Préambule
- Des limites de ressources sont mises en place pour maintenir l'intégrité, la stabilité et la performance du serveur mutualisé, tout en garantissant une expérience équitable pour tous les utilisateurs.
- Si un site Web ou une application nécessite des ressources significativement plus élevées, il peut être nécessaire de passer à un Serveur Cloud ou autre type d'hébergement virtuel où les ressources sont allouées de manière plus flexible.
Origine des erreurs
Fatal error: Maximum execution time of 30 seconds exceeded
Cette erreur se produit lorsque le serveur a fixé une limite de temps d'exécution pour les scripts, généralement pour éviter des tâches qui prennent trop de temps. Par exemple si un script tente de redimensionner de nombreuses images de grande taille en une seule opération, cela peut dépasser la limite de temps d'exécution autorisée. Le serveur impose cette limite pour garantir une réponse rapide aux requêtes des utilisateurs. Le chemin souvent mentionné dans l'erreur peut vous indiquer une origine plus précise (par exemple Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/1234567abc/web/wp-includes/media.php on line 123)
memory_limit exceeded
Cette erreur survient lorsque le script ou l'application utilise plus de mémoire que ce qui lui est alloué. Cela peut se produire lorsqu'un script traite un grand volume de données ou lorsqu'il y a une fuite de mémoire. Par exemple, un script de gestion d'image peut consommer plus de mémoire que ce qui est autorisé, ce qui entraîne cette erreur.
Pistes de résolution
Quelques pistes pour résoudre ces erreurs:
- Vérifiez les scripts qui font des connexions multiples au serveur pour afficher des données.
- Optimisez le ou les scripts concernés afin qu'ils nécessitent moins de ressources.
- Augmentez les limites du site concerné pour permettre au script de faire tout ce qu'il a à faire et/ou limiter le nombre de connexions simultanées (surtout sur un Serveur Cloud où les limites (mémoire vive, temps d'exécution, connexions simultanées) peuvent être augmentées significativement).
- Migrez votre hébergement sur Serveur Cloud.
Prenez également connaissance de cet autre guide.