Base de connaissances

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

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 PHP plutĂŽt que d'Ă©crire du SQL brut.
  • Propel est la couche d'abstraction qui gĂšre ces interactions (relations, jointures, pagination) pour simplifier la maintenance du code.

 

Particularités & limitations

  • Propel n'est pas prĂ©installĂ© via Pear.
    • 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, Propel ne 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 Ă  Propel est disponible, Ă  l'exception de Phing.
    • L'absence de Phing n'impacte pas la production, car cet outil est uniquement requis lors de la phase de gĂ©nĂ©ration locale.

Cette FAQ a été utile?

Ce guide est destiné aux utilisateurs ayant choisi Infomaniak, un hébergeur engagé pour la planÚte: vous trouverez ci-dessous le détail de la méthode de calcul utilisée pour l'affichage du CO2 sur les factures, ainsi que des pistes pour réduire votre propre empreinte numérique.

 

Préambule

  • Pour les hĂ©bergements Web et services Mail, Infomaniak affiche la quantitĂ© de CO2 Ă©mise annuellement, donnĂ©e qui repose sur une mĂ©thode rigoureuse d'Analyse du Cycle de Vie (ACV) qui additionne deux facteurs clĂ©s :
    1. L'impact matériel (Cycle de vie complet)
      • GrĂące aux facteurs d'Ă©mission de la base de donnĂ©es ResilioDB, le calcul intĂšgre les Ă©missions gĂ©nĂ©rĂ©es lors de la fabrication (BLD), du transport (DIS) et de la fin de vie/recyclage (EOL) de chaque Ă©quipement (serveurs, RAM, disques, etc.).
    2. L'impact énergétique (Consommation réelle)
      • La consommation Ă©lectrique rĂ©elle des serveurs est mesurĂ©e via les sondes IPMI.
      • Cette Ă©nergie est ensuite convertie en Ă©quivalent CO2 selon le mix Ă©nergĂ©tique spĂ©cifique d'Infomaniak, qui est trĂšs faible en carbone (11.77g CO2eq/kWh).
  • L'impact total est ensuite rĂ©parti selon l'unitĂ© d'usage des clients (par site web hĂ©bergĂ© ou par boĂźte mail).

 

Comment agir Ă  votre niveau ?

Si l'hébergeur optimise ses infrastructures en amont, l'utilisateur final joue également un rÎle clé. Voici comment réduire l'empreinte de vos services.

Pour les sites Web

L'objectif est de minimiser la consommation d'énergie des serveurs et des terminaux des visiteurs :

  • Optimisation technique : Compresser les images, minifier les scripts et utiliser des formats modernes (WebP).
  • Design Ă©purĂ© : Limiter les vidĂ©os en lecture automatique, les publicitĂ©s et les scripts lourds consommant de la bande passante.
  • Bonnes pratiques : Pour WordPress notamment, il est recommandĂ© de consulter les fiches de GreenIT.

Pour la messagerie

La communication par e-mail peut Ă©galement ĂȘtre optimisĂ©e :

  • SobriĂ©tĂ© : PrivilĂ©gier les e-mails en texte brut plutĂŽt qu'en HTML et limiter les signatures graphiques lourdes.
  • PiĂšces jointes : PrĂ©fĂ©rer l'envoi de liens de tĂ©lĂ©chargement (via kDrive ou SwissTransfer) aux piĂšces jointes volumineuses, ou utiliser le format PDF compressĂ©.
  • Nettoyage : Se dĂ©sinscrire des newsletters inutiles et utiliser des outils de suivi pour Ă©viter l'envoi d'e-mails non ouverts.

Il est conseillé de surveiller réguliÚrement les statistiques pour améliorer la performance écologique. En attendant les futurs outils intégrés d'Infomaniak, il est possible d'auditer l'impact des pages web via GreenFrame.io.


Cette FAQ a été utile?

Ce guide concerne l'optimisation de site Web et plus particuliĂšrement l'utilisation sur celui-ci d'un moteur de cache.

 

Préambule

  • Lorsque Infomaniak constate que votre site Web consomme plus de ressources que les autres sites sur le mĂȘme serveur, une analyse est rĂ©alisĂ©e.
    • Bien souvent, il apparaĂźt qu'une simple modification d'une requĂȘte ou d'un paramĂštre permettrait d'optimiser votre site et d'allĂ©ger la charge serveur.
    • Vous serez alors contactĂ© par mail avec les instructions Ă  suivre, qui incluent frĂ©quemment l'installation ou l'activation d'un moteur de cache.
  • La consommation de ressources n'est pas forcĂ©ment liĂ©e au nombre de visiteurs.
    • Un site bien optimisĂ©, Ă  jour et avec un moteur de cache correctement configurĂ© peut gĂ©rer plusieurs dizaines de milliers de visiteurs quotidiens, tandis qu'un site mal optimisĂ© peut consommer beaucoup trop de ressources avec seulement quelques visites par jour.
  • Un moteur de cache stocke temporairement des donnĂ©es frĂ©quemment utilisĂ©es afin de les fournir plus rapidement lors de nouvelles requĂȘtes.
    • Cela amĂ©liore significativement la rapiditĂ© du site et rĂ©duit la charge sur les bases de donnĂ©es ou services Web.
    • Pour installer un systĂšme de cache avancĂ© (Redis, Memcached) sur Serveur Cloud Infomaniak, prenez connaissance de ce guide.

 

Activer un moteur de cache



 sur WordPress

WordPress dispose de nombreux plugins de cache. Voici les plus populaires et efficaces :

  • WP Rocket (payant, solution "tout-en-un" la plus performante et simple).
  • WP Super Cache (gratuit, dĂ©veloppĂ© par Automattic, trĂšs fiable).
  • LiteSpeed Cache (gratuit, extrĂȘmement complet).

Procédure d'activation standard :

  1. Connectez-vous Ă  votre administration WordPress.
  2. Allez dans Extensions > Ajouter.
  3. Recherchez l'un des plugins cités, installez-le puis activez-le.
  4. Configurez les options de cache : mise en cache des pages, minification CSS/JS, et surtout le Lazy Load pour les images.

Prenez également connaissance de cet autre guide à ce sujet.


 sur Joomla (v4 & v5)

  1. Accédez à SystÚme > Configuration générale.
  2. SĂ©lectionnez l’onglet SystĂšme.
  3. Dans la section ParamÚtres du cache, activez le cache (le mode Conservateur est le plus sûr pour débuter).
  4. Sélectionnez le gestionnaire de cache (Fichier par défaut).
  5. Allez ensuite dans SystÚme > Plugins et assurez-vous que le plugin SystÚme - Cache est activé pour mettre en cache les pages entiÚres.


 sur PrestaShop (v1.7 & v8+)

  1. Allez dans ParamÚtres avancés > Performances.
  2. Smarty : cochez "Ne jamais recompiler les fichiers de templates" (en production) et activez le "Cache".
  3. CCC (Combine, Compress and Cache) : activez toutes les options (Smart cache CSS, Smart cache JS, Optimisation Apache).
  4. Cache : en bas de page, activez "Utiliser le cache". Sur un hébergement mutualisé, privilégiez le systÚme de fichiers ; sur Serveur Cloud, utilisez Memcached.


 sur Drupal (v9, v10 & v11)

Le cache est nativement intégré et trÚs puissant sur Drupal :

  1. Allez dans Configuration > Développement > Performance.
  2. Cochez "Mettre en cache les pages pour les utilisateurs anonymes".
  3. Définissez une durée pour "Expiration maximale du cache dans le navigateur et le proxy" (ex: 10 minutes).
  4. Activez l'agrégation des fichiers CSS et JavaScript.


 sur Contao (v4 & v5)

  1. Le cache se gĂšre dĂ©sormais principalement via le fichier de configuration config/config.yaml ou via l'interface d'administration sous Mise en page > ThĂšmes > Éditer la mise en page de la page.
  2. Définissez un "Délai d'expiration du cache" pour la page concernée.
  3. Utilisez le Contao Manager pour vider le cache de production (Symfony Cache) aprĂšs des modifications structurelles.

 

Vérifier l'efficacité

AprĂšs activation, testez votre site avec ces outils gratuits :


Cette FAQ a été utile?

Ce guide explique comment signaler une tentative d'hameçonnage (Phishing, Fishing, Filoutage...) dont vous seriez victime.

 

Préambule

  • Le Phishing est une tentative de fraude et d'escroquerie, visant Ă  obtenir des informations sensibles de maniĂšre frauduleuse.
  • GĂ©nĂ©ralement la victime reçoit dans sa messagerie un message semblant provenir d'Infomaniak, de sa banque ou d’un organisme de confiance, lui indiquant qu’un problĂšme est survenu sur son compte ou dans sa vie de tous les jours:
  • Le but de cette usurpation d'identitĂ© est gĂ©nĂ©ralement que l'utilisateur se rende de façon volontaire sur une page et communique des informations privĂ©es qui seront ensuite exploitĂ©es Ă  diffĂ©rentes fins, financiĂšres principalement.
  • S'il ne s'agit pas d'un message “se faisant passer pour quelque chose qu'il n'est pas”, mais uniquement d'un message publicitaire non-sollicitĂ©, il vaut mieux le signaler en tant que Spam.

 

Signaler un e-mail de Phishing

Prérequis

Ensuite, si vous retrouvez un e-mail de ce type dans votre boite de réception directement, vous avez la possibilité d'agir afin que ces messages diminuent et à terme disparaissent des systÚmes de messagerie:

  1. Cliquez ici afin d'accĂ©der Ă  l'app Web Mail Infomaniak (service en ligne ksuite.infomaniak.com/mail).
  2. Ouvrez le message de phishing.
  3. Cliquez sur le menu d'action ⋼ à droite.
  4. Cliquez sur Signaler le message.
  5. Depuis le menu qui apparaßt, sélectionnez Signaler comme hameçonnage:
  6. Confirmez l'envoi pour traitement.
  7. Supprimez l’e-mail‹

DĂšs lors que vous avez cliquĂ© sur Signaler comme hameçonnage, un e-mail est automatiquement transmis Ă  Infomaniak avec l’ensemble des informations nĂ©cessaire pour le traitement du signalement du scam.

En cas de problÚme plus grave (quand le message vous est directement adressé par une connaissance ou un contact sans que cela ne soit un envoi à grande échelle) il est recommandé d'intervenir auprÚs d'un organisme comme par exemple report.ncsc.admin.ch.


Cette FAQ a été utile?

Ce guide explique comment consulter l'activité des fichiers sur le serveur de votre hébergement Infomaniak.

 

Logs d'activité de l'espace FTP

Afin de connaitre l'activité des échanges sur votre espace FTP, contactez le support Infomaniak pour demander des logs FTP en vous authentifiant au préalable avec les identifiants correspondant à la gestion de votre hébergement Web.

Le log n'est mis à jour que s'il y a eu une activité par FTP.

Aide Ă  la lecture des logs: http://www.castaglia.org/proftpd/doc/xferlog.html


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.


Cette FAQ a été utile?

Ce guide concerne RTMP (Real-Time Messaging Protocol), un service qui permet de diffuser du contenu multimédia en temps réel sur Internet:

  • Il s'agit d'un protocole propriĂ©taire dĂ©veloppĂ© par Adobe et son utilisation nĂ©cessite la configuration d'un serveur RTMP dĂ©diĂ© ou l'utilisation de services d'hĂ©bergement RTMP.
  • Les spectateurs peuvent accĂ©der Ă  la diffusion en direct en utilisant un lecteur multimĂ©dia compatible RTMP, tel que VLC.

Par défaut le RTMP est bloqué par les rÚgles de sécurité Infomaniak.


Cette FAQ a été utile?

Ce guide vous concerne si vous obtenez l'erreur The web host does not exist en visitant l'adresse d'un site sur un Hébergement Web Infomaniak.

 

Préambule

  • Ce type d'erreur provient la plupart du temps du fait que votre nom de domaine n'est pas correctement reliĂ© Ă  votre site (votre nom de domaine pointe probablement sur la mauvaise adresse IP ou est mal configurĂ©).
    • Exemple: un domaine abc.xyz mal configurĂ© et qui pointerait en IPv4 sur un hĂ©bergement Starter, et en IPv6 sur un hĂ©bergement mutualisé 

 

Résoudre un problÚme de liaison Domaine - Site Web

Afin de pouvoir remettre en ligne votre site:

  • VĂ©rifiez la zone DNS de votre nom de domaine, surtout ses enregistrements A.
  • Corrigez-les si nĂ©cessaire en y indiquant l'adresse IP de votre hĂ©bergement.

Pour cela, le plus simple est de d'utiliser l'outil de Diagnostic DNS Infomaniak afin de corriger le pointage automatiquement, en regroupant au prĂ©alable les produits dans la mĂȘme Organisation si nĂ©cessaire.


Cette FAQ a été utile?

Ce guide explique comment prévenir les attaques informatiques et comment éviter un piratage du site Web que vous gérez.

 

Utilisateurs WordPress: prenez connaissance de cet article dédié.

 

Le rÎle de l'hébergeur

Le travail d'Infomaniak consiste Ă  fournir un hĂ©bergement de qualitĂ© donc il est primordial de rĂ©pondre extrĂȘmement vite aux attaques diverses et variĂ©es dont tout acteur Internet peut ĂȘtre l'objet. Infomaniak fait donc tout son possible pour prendre le maximum de prĂ©cautions contre le hacking, notamment en tenant Ă  jour les diffĂ©rentes versions des technologies utilisĂ©es.

Dans le cas d'un piratage avĂ©rĂ©, s'il est possible de remonter jusqu'Ă  l'auteur et que la machine a Ă©tĂ© compromise en raison d'un dĂ©faut de sĂ©curitĂ© du ressort d'Infomaniak, que l'intĂ©gritĂ© des serveurs est en cause, Infomaniak prend les choses en main elle-mĂȘme.

 

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

Si le piratage de votre site est de votre responsabilité (un script qui n'est pas à jour, un patch de sécurité qui n'a pas été appliqué, etc.) Infomaniak vous contacte afin de vous avertir d'un problÚme qu'il faudra résoudre rapidement. Certains organismes comme Saferinternet peuvent en outre suspendre le nom de domaine en amont ce qui désactivera le site mais également la messagerie.

Infomaniak ne peut pas contrer des exploits en rapport avec un bug dans votre code PHP ou autre. Si le piratage n'est pas détecté vous constaterez en général l'intrusion assez rapidement par des éléments suspects dans vos pages ou par la réception de nombreux e-mails d'erreurs.

Il est donc de votre responsabilitĂ© de vous occuper de l'Ă©volution de votre site Web au fil du temps et de ne surtout pas le laisser "mourir" dans un coin, quitte Ă  faire appel Ă  un webmaster dont c'est le mĂ©tier. 

 

Les recommandations Infomaniak

  1. Mettez à jour réguliÚrement toutes vos applications Web (WordPress, Joomla, Drupal, ownCloud, etc.).
  2. Tenez Ă  jour la version PHP de votre site sur les serveurs Infomaniak.
  3. Tenez à jour votre site en migrant vers les nouvelles offres lorsque cela vous est proposé.
  4. ‍Ajoutez un systĂšme de protection sur vos formulaires de contact (captcha, etc.) et sur les Ă©ventuels outils de "recommandation aux amis" (tell-a-friend...).
  5. Lancez réguliÚrement une analyse antivirus de l'hébergement.
  6. Surveillez l'outil de détection de vulnérabilités.
  7. Retirez tout ce que vous n'avez pas dĂ©veloppĂ© vous-mĂȘme et dont l'auteur n'a pas apportĂ© de mise Ă  jour / correction depuis plusieurs mois.
  8. Réalisez une sauvegarde réguliÚre de votre site (prenez connaissance de cet autre guide si vous utilisez WordPress) lorsque tout va bien et conservez-la en lieu sûr (car les sauvegardes automatiques ne sont conservées que quelques jours et cela n'est parfois pas assez lointain pour revenir en arriÚre aprÚs que vous constatiez une intrusion).
  9. Consultez ibarry.ch.

 

Si un problĂšme est apparu...

  1. Modifiez les mots de passe de vos applications Web, de vos comptes FTP et de vos bases de données en vérifiant préalablement qu'aucun virus ne se trouve sur votre ordinateur.
  2. Restaurez une sauvegarde mais mettez Ă  jour immĂ©diatement ce qui peut ĂȘtre mis Ă  jour dĂšs la restauration terminĂ©e.
  3. Si vous rencontrez un problÚme avec un logiciel tiers, contactez directement son éditeur ou un Partenaire et consultez la politique de support ainsi que l'article 11.9 des CGU Infomaniak.

Prenez connaissance de ces recommandations supplémentaires !


Cette FAQ a été utile?

Le module CGID pour Apache a été désactivé sur les offres d'hébergement Web mutualisé d'Infomaniak.

Si nĂ©cessaire, il faut donc envisager de changer d'offre pour un Serveur Cloud si vous ĂȘtes actuellement sur un hĂ©bergement Web mutualisĂ©, cela se fait de façon transparente: prenez connaissance de cet autre guide Ă  ce sujet.


Cette FAQ a été utile?

Ce guide concerne YAZ une bibliothÚque logicielle utilisée pour implémenter le protocole Z39.50, un protocole de recherche et de récupération d'informations permettant la communication entre différents systÚmes de bibliothÚques (SIGB) comme PMB largement utilisé en France.

 

Infomaniak pour une gestion efficace des bibliothĂšques

Sur les Hébergements Web Infomaniak, PMB est supporté et YAZ est activé par défaut.

Toutefois si vous rencontrez des erreurs comme Call to undefined function yaz_connect() il sera nécessaire d'ouvrir des ports via le Manager. Le port 210 est le port standard utilisé pour les communications Z39.50 mais n'hésitez pas à consulter la documentation de vos applicatifs.

Pour les anciennes formules d'hébergement Infomaniak, il faut envisager un changement d'offre.


Cette FAQ a été utile?

Ce guide explique comment augmenter la valeur max_children sur Serveur Cloud afin d'augmenter le nombre de processus PHP simultanĂ©s qui peuvent ĂȘtre utilisĂ©s par votre site. Cela sera trĂšs utile pour rĂ©soudre des problĂšmes de chargement infini des pages de votre site.

 

Préambule

  • Par dĂ©faut sur tout hĂ©bergement, la limite de max_children est fixĂ©e Ă  20.
    • Bien qu'il soit possible d'augmenter cette valeur depuis le Manager Infomaniak, la limite de max_children est automatiquement ajustĂ©e en fonction de la configuration de votre Serveur Cloud.
    • Pour augmenter cette limite sur hĂ©bergement mutualisĂ©, migrez sur Serveur Cloud.
  • Pour comprendre comment calculer au plus juste les max_children nĂ©cessaires, prenez connaissance de cet article Ă  ce sujet.

 

Augmenter la valeur max_children

Prérequis

  • S'assurer que vous disposez des ressources nĂ©cessaires sur le serveur Cloud.
  • S'assurer que l'ensemble des ressources du serveur Cloud ne soient pas utilisĂ©es ; s'il s'avĂšre que celles-ci sont totalement utilisĂ©es, l'augmentation de la valeur max_children n'aura aucun effet (Modifier les ressources du Serveur Cloud).
  • ContrĂŽler le monitoring des ressources de votre serveur, dans le cas oĂč les ressources de votre serveur sont atteintes, il sera nĂ©cessaire de vĂ©rifier l'optimisation des processus et de votre site avant d'envisager d'augmenter la valeur max_children.
  • Consulter les rapports d'erreur PHP depuis le dossier /ik-logs (master process php logs - nom du fichier : php-fpm.log) pour vĂ©rifier si la limite "max_children" a Ă©tĂ© dĂ©passĂ©e... exemple d'erreur: [05-Jul-2024 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it

Pour accéder à la gestion des paramÚtres PHP / Apache du site dont il faut augmenter la valeur max_children sur Serveur Cloud, prenez connaissance de cet autre guide.

Vous pourrez notamment


  • 
 choisir une nouvelle valeur de max_children:

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

 

Limites en fonction du serveur

Limite des max_children en fonction des ressources du Serveur Cloud:

Configuration Serveur Cloudmax_children
2 CPU / 6 Go RAM20
4 CPU / 12 Go RAM40
6 CPU / 18 Go RAM60
8 CPU / 24 Go RAM80
12 CPU / 36 Go RAM120
16 CPU / 48 Go RAM160
24 CPU / 72 Go RAM240
32 CPU / 96 ou 128 Go RAM320

Cette FAQ a été utile?

Ce guide vous concerne si vous souhaitez réaliser des tests de vulnérabilité de votre site / serveur hébergé par Infomaniak.

 

Tolérés et restreints

Vous ĂȘtes libre de rĂ©aliser des tests de vulnĂ©rabilitĂ© (injection SQL, XSS, etc.), d'intrusion, ou test de pĂ©nĂ©tration (pentest) de votre hĂ©bergement Infomaniak uniquement selon les conditions suivantes:

  • 
 entre 9h et 17h CET
  • 
 du lundi au vendredi
  • 
 avec le minimum de paquet d'attaque quel que soit le logiciel employĂ© (AppScan par exemple)
  • 
 sans jamais faire une seule attaque de type DoS ou DDoS (DĂ©ni de service / Denial of Service)
  • 
 en respectant les CGU Infomaniak en particulier le cadre mutualisĂ© des services

 

Toute utilisation abusive pourra entraßner une résiliation anticipée de la part d'Infomaniak.


Cette FAQ a été utile?

Ce guide explique comment optimiser la mise en cache des ressources web grĂące aux en-tĂȘtes HTTP.

 

Préambule

  • Une bonne stratĂ©gie de cache permet d'amĂ©liorer significativement les performances de votre site en Ă©vitant de retransmettre inutilement des fichiers inchangĂ©s.
  • La mise en cache web repose sur deux mĂ©canismes complĂ©mentaires :
    1. La durĂ©e de validitĂ© du cache (via l'en-tĂȘte Expires) qui indique combien de temps une ressource peut ĂȘtre rĂ©utilisĂ©e sans contacter le serveur.
    2. La validation conditionnelle (via les en-tĂȘtes Last-Modified/If-Modified-Since) qui permet de vĂ©rifier si une ressource a changĂ© avant de la retĂ©lĂ©charger.

 

Configuration de la durée de cache avec Expires

L'en-tĂȘte Expires permet de spĂ©cifier une durĂ©e pendant laquelle le navigateur peut rĂ©utiliser directement les ressources depuis son cache local. Voici comment le configurer dans votre fichier .htaccess :

  1. Créez ou ouvrez le fichier .htaccess à la racine de votre site (généralement dans /web ou /sites/domain.xyz).
  2. Ajoutez la configuration du module expires :

    <IfModule mod_expires.c>
  3. Définissez les durées de cache appropriées pour chaque type de ressource :

    ExpiresActive On
    ExpiresByType text/html "access plus 1 week"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"

    Ces directives signifient que :

    • Les pages HTML seront conservĂ©es en cache pendant une semaine.
    • Les images JPEG, fichiers CSS et JavaScript seront gardĂ©s pendant un mois.

    Adaptez ces durées selon la fréquence de mise à jour de vos ressources.

  4. Fermez la section de configuration :

    </IfModule>

 

Validation conditionnelle avec Last-Modified

MĂȘme lorsqu'une ressource a expirĂ© dans le cache, il n'est pas toujours nĂ©cessaire de la retĂ©lĂ©charger complĂštement. Le mĂ©canisme de validation conditionnelle permet au navigateur de vĂ©rifier si sa version en cache est toujours Ă  jour. Ce processus fonctionne ainsi :

  1. Le serveur envoie automatiquement un en-tĂȘte Last-Modified avec chaque ressource, indiquant sa date de derniĂšre modification.
    • Apache gĂšre cela nativement pour les fichiers statiques - aucune configuration supplĂ©mentaire n'est nĂ©cessaire.
  2. Lorsque le navigateur demande Ă  nouveau la ressource, il envoie un en-tĂȘte If-Modified-Since contenant la date qu'il a en cache :

    GET /resource HTTP/1.1
    Host: www.example.com
    If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
  3. Le serveur compare cette date avec la date réelle de modification du fichier :
    • Si le fichier n'a pas changĂ©, il renvoie simplement un code 304 Not Modified, Ă©conomisant ainsi de la bande passante.
    • Si le fichier a Ă©tĂ© modifiĂ©, il renvoie la nouvelle version avec un code 200 OK.

Cette FAQ a été utile?

Ce guide explique pourquoi un compte FTP (et la plupart du temps l'Hébergement Web également) peut se retrouver soudainement bloqué.

 

Préambule

  • Infomaniak utilise sur tous les serveurs mutualisĂ©s une solution antivirus pour lutter contre les envois de virus via FTP et scripts.
  • L'antivirus permet de dĂ©tecter:
    • les Ă©ventuels piratages de comptes FTP
    • l’envoi volontaire ou involontaire de fichiers (thĂšmes WordPress, modules frauduleux, etc.) contenant des lignes de codes ou des inclusions malveillantes

 

Détection de fichier malveillant

L’antivirus scanne tous les fichiers envoyĂ©s infĂ©rieurs Ă  1 Mo afin d'empĂȘcher tout upload de virus / script de spam / etc.

En cas de détection d'un élément suspect, le mot de passe du compte FTP est automatiquement modifié et les fichiers incriminés sur le serveur sont verrouillés (FTPban).

Le serveur FTP renvoi alors au client FTP un message du type

550 Virus Detected and Removed: botnet.infomaniak.5.UNOFFICIAL

ou encore

550 Virus Detected and Removed: winnow.botnet.ff.trojans.15900.UNOFFICIAL

 

Que faire si le compte est bloqué ?

Si votre compte FTP est soudainement bloqué, vous recevez un e-mail ; suivez la procédure qui y sera indiquée afin de débloquer la situation. Notamment:

  • Nettoyez votre site et analysez ce que vous souhaitiez envoyer sur le serveur.
  • VĂ©rifiez si les applications Web et CMS que vous utilisez sont Ă  jour:
    • La cause de la plupart des piratages vient d'un dĂ©ficit de sĂ©curitĂ© dans des applications Web obsolĂštes ou de mots de passe trop faibles.

 

Résoudre le problÚme définitivement

Pour éviter que votre site se fasse à nouveau pirater et bloquer, effectuez les actions suivantes:

Ne republiez en aucun cas les mĂȘmes fichiers contaminĂ©s sur votre hĂ©bergement car le site serait Ă  nouveau bloquĂ©.

  • Mettez Ă  jour les applications Web (WordPress, Joomla, etc.) et les extensions utilisĂ©es.
  • Supprimez les applications Web non utilisĂ©es.
  • Changez le mot de passe de tous vos comptes FTP.
  • Changez les mots de passe pour accĂ©der aux applications Web (WordPress, Joomla, etc.).
  • Changez le mot de passe des utilisateurs de bases de donnĂ©es MySQL.
  • Supprimez les utilisateurs des bases de donnĂ©es MySQL que vous n'utilisez pas.
  • Utilisez un mot de passe diffĂ©rent Ă  chaque fois, complexe avec au minimum 8 caractĂšres.
  • Lancez un scan antivirus manuellement sur votre hĂ©bergement.
  • Installez et utiliser un antivirus Ă  jour (quel que soit le systĂšme d'exploitation).
  • Prenez connaissance de cet autre guide si vous recherchez des informations sur la surveillance et rĂ©solution de failles dans les scripts hĂ©bergĂ©s. 

Si votre site ne fonctionne pas aprĂšs un nettoyage, il sera peut-ĂȘtre nĂ©cessaire de remplacer certains fichiers supprimĂ©s par des fichiers sains.


Cette FAQ a été utile?

Ce guide détaille l'utilisation de scripts Perl ou Python sur les hébergements Infomaniak et la gestion de leurs modules.

 

Prérequis

  • HĂ©bergements Web mutualisĂ©s: le module CGI n'est plus disponible ; l'exĂ©cution de scripts Perl et Python n'est donc pas supportĂ©e.
  • Serveurs Cloud ManagĂ©s: pour bĂ©nĂ©ficier des derniĂšres technologies, il est possible de mettre Ă  niveau son Serveur Cloud.

 

Configuration Web (Apache/CGI)

Pour exécuter des scripts Python ou Perl via Apache sur Serveur Cloud, l'interprétation de fichiers avec les extensions .py et .pl n'est pas active par défaut.

À l'aide de votre logiciel/client FTP ou le Web FTP, ajouter et adapter la directive suivante dans le fichier .htaccess situĂ© dans le dossier contenant vos scripts:

AddHandler cgi-script .pl .cgi .py
Options +ExecCGI

 

Installation de modules supplémentaires

Sur un Serveur Cloud, vous avez la possibilité d'installer des librairies tierces non présentes par défaut.

Python

  • L'installation passe par PIP, qui est un gestionnaire de paquets utilisĂ© pour installer et gĂ©rer des paquets Ă©crits en Python.
  • Infomaniak propose PIP et PIP3 via l'outil Fast Installer.
  • Une fois PIP installĂ©, vous pourrez installer des modules Python en spĂ©cifiant --user lors de la commande. Par exemple:
  • pip3 install mysql-connector-python --user

Perl

  • L'ajout de modules Perl s'effectue Ă©galement via SSH (console). Il est nĂ©cessaire de les installer dans l'arborescence utilisateur et d'en dĂ©finir le chemin complet au sein des scripts.

 

Informations techniques importantes

  • Chemin de l'interprĂ©teur (Path) : /usr/bin/python
  • Extensions : Les scripts doivent porter l'extension .pl, .cgi ou .py.
  • Limitations : Le module mod_python n'est pas supportĂ©.

 

Résolution d'erreurs (CGIWrap)

Si vous rencontrez l'erreur suivante lors du chargement d'une image :

CGIWrap Error: Execution of this script not permitted
Request Data:Extra Path Info: /dossier/.../image.PL.12.34.gif

Le serveur interprĂšte le fichier comme un script car il contient ".PL" (ou .PY) dans son nom. 
Solution : Renommez simplement le fichier pour retirer cette mention (exemple : image-12-34.gif).


Cette FAQ a été utile?

Ce guide explique comment rĂ©soudre un problĂšme d’importation d’un fichier .csv dans une table MySQL. L’alternative proposĂ©e consiste Ă  lire le fichier CSV ligne par ligne avec PHP et Ă  insĂ©rer les donnĂ©es dans la base de donnĂ©es MySQL.

 

Fonction "LOAD DATA LOCAL INFILE" désactivée

La fonction LOAD DATA LOCAL INFILE permet d’importer un fichier CSV directement dans une table MySQL. Cependant, cette fonctionnalitĂ© est souvent exploitĂ©e par des attaquants pour obtenir un accĂšs non autorisĂ© Ă  des sites hĂ©bergĂ©s sur des serveurs qui l’acceptent.

Afin de prĂ©venir tout risque de sĂ©curitĂ© et de protĂ©ger les donnĂ©es des clients, Infomaniak a dĂ©sactivĂ© la fonction LOAD DATA LOCAL INFILE. Les utilisateurs qui importent leurs fichiers CSV via phpMyAdmin (sans cocher l’option “CSV via LOAD DATA”) ne sont pas concernĂ©s.

Voici une mĂ©thode alternative pour importer des donnĂ©es au format CSV dans une table MySQL. L’exemple ci-dessous montre comment gĂ©rer correctement les erreurs lors de l’ouverture du fichier CSV et de l’insertion des donnĂ©es dans la base de donnĂ©es.

Ce script utilise mysqli pour se connecter Ă  la base et des requĂȘtes prĂ©parĂ©es pour insĂ©rer les donnĂ©es. Cela garantit une meilleure sĂ©curitĂ©, une compatibilitĂ© optimale avec les versions rĂ©centes de PHP et une intĂ©gration simple dans votre projet, que ce soit dans un script existant ou un nouveau fichier situĂ© dans le rĂ©pertoire /web :

$fileName = "data.csv";

// Connect to MySQL database using mysqli
$link = new mysqli("localhost", "username", "password", "database");

// Check database connection
if ($link->connect_error) {
   die("Connection failed: " . $link->connect_error);
}

// Open the CSV file for reading
if (($handle = fopen($fileName, "r")) !== FALSE) {

   // Read each line of the CSV file
   while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {

       // Prepare the SQL query dynamically
       $query = "INSERT INTO `test` VALUES (" . str_repeat('?,', count($data) - 1) . "?)";
       $stmt = $link->prepare($query);

       // Check if query preparation was successful
       if ($stmt === FALSE) {
           die("Query preparation failed: " . $link->error);
       }

       // Bind parameters (assuming all columns are strings)
       $types = str_repeat('s', count($data));
       $stmt->bind_param($types, ...$data);

       // Execute the query
       if (!$stmt->execute()) {
           die("Query execution failed: " . $stmt->error);
       }

       // Close the statement
       $stmt->close();
   }

   // Close the CSV file
   fclose($handle);

} else {
   echo "Error: unable to open the file.\n";
   exit(1);
}

// Close the database connection
$link->close();
?>

 

Obtenir de l’aide

Il est malheureusement impossible d’indiquer prĂ©cisĂ©ment Ă  quel endroit du script ces lignes de code doivent ĂȘtre insĂ©rĂ©es.

Si cette mĂ©thode pose problĂšme (par exemple en cas d’import simultanĂ© de plusieurs fichiers CSV sans message d’erreur), il est possible que la structure des tables ou l’indexation des champs soit en cause. Dans ce cas, contactez votre webmaster pour vĂ©rification.

Consultez également la documentation officielle PHP relative à la fonction fgetcsv().


Cette FAQ a été utile?

Ce guide vous aide Ă  protĂ©ger la rĂ©putation de votre nom de domaine, pour maintenir la confiance des internautes et des fournisseurs de services envers votre site Web ou votre entreprise, ceci afin de faciliter plus gĂ©nĂ©ralement le bon fonctionnement de votre messagerie.

 

La Web réputation

Il existe diffĂ©rents types de rĂ©putation sur Internet, notamment la rĂ©putation personnelle, la rĂ©putation d’entreprise et la rĂ©putation de domaine.

La rĂ©putation de domaine est schĂ©matiquement un score qui dĂ©termine comment les systĂšmes de messagerie dĂ©cident de ce qu’ils vont laisser passer dans les boĂźtes de rĂ©ception des utilisateurs. Fondamentalement, la rĂ©putation de votre domaine est une mesure de la santĂ© et de la lĂ©gitimitĂ© de votre domaine. Cette rĂ©putation peut ĂȘtre influencĂ©e par la sĂ©curitĂ© de la messagerie et du site Web.

Par exemple la réputation d'un domaine peut baisser si


  • 
 le site visible Ă  l'adresse du domaine subit un piratage qui conduit Ă  l'envoi de mail frauduleux en masse,
  • 
 la messagerie du domaine est exploitĂ©e pour l'envoi de spam involontaire.

Si la rĂ©putation de votre domaine reste mauvaise, vos e-mails peuvent ĂȘtre marquĂ©s comme spam et ne pas atteindre leur public cible. Cela peut nuire Ă  la dĂ©livrabilitĂ© des e-mails (prenez connaissance de cet autre guide en anglais Ă  ce sujet).

 

Améliorer la réputation du domaine

En suivant ces quelques conseils, vous pouvez améliorer la réputation de votre domaine et par exemple stimuler tous vos efforts de marketing par e-mail:

 

Prenez connaissance de cet autre guide au sujet des RBL.


Cette FAQ a été utile?

Ce guide explique comment obtenir le code EPP de votre nom de domaine chez Hostpoint afin de l'emmener chez Infomaniak.

 

Préambule

  • Les termes "EPP", "AuthCode", "AuthInfo", "code de transfert" et "code d'autorisation" dĂ©signent tous des sĂ©quences alphanumĂ©riques propres au domaine dont l'objectif principal est de vĂ©rifier l'autorisation du propriĂ©taire avant un transfert entre Registrars.
  • Prenez connaissance du guide principal au sujet du reste de la procĂ©dure de transfert.
  • ⚠ Il s'agit de transfĂ©rer un nom de domaine que vous possĂ©dez auprĂšs d'un fournisseur diffĂ©rent d'Infomaniak, afin que la gestion future de ce domaine se fasse auprĂšs d'Infomaniak ; il ne s'agit donc pas d'un transfert interne d'un titulaire Ă  un autre et le code Ă  obtenir n'est donc pas un code pour un transfert interne Ă  votre fournisseur actuel.

 

Transférer le nom de domaine à Infomaniak

Afin d'obtenir le code d'autorisation chez le prestataire actuel:

  1. Prenez connaissance de la procédure complÚte fournie par Hostpoint pour obtenir le code et le garder en lieu sûr.
  2. Une fois le code d'autorisation obtenu, prenez connaissance du guide principal Infomaniak au sujet du reste de la procédure de transfert de nom de domaine.

Cette FAQ a été utile?

Ce guide vous aidera si par exemple vous souhaitez déployer un package comme pymysql et que celui-ci requiert une version de Python supérieure à celle proposée par défaut sur votre hébergement.

 

Préambule

  • Anaconda est une distribution libre et open source des langages de programmation Python et R ; elle vise Ă  simplifier la gestion des paquets et le dĂ©ploiement.
  • Il est recommandĂ© d'utiliser Miniconda (version lĂ©gĂšre de conda) ; il s'installe dans votre espace utilisateur, Ă©vitant tout conflit avec le Python systĂšme et ne nĂ©cessitant pas de droits administrateur.
  • Prenez connaissance de la documentation officielle.

 

1. Télécharger l'installateur

 Par exemple la version Linux 64-bit pour Python 3.11.

user@server:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-Linux-x86_64.sh
--2024-03-10 12:00:00--  https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-Linux-x86_64.sh
Resolving repo.anaconda.com... 104.16.131.3, 104.16.130.3
Connecting to repo.anaconda.com|104.16.131.3|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 72787200 (69M) [application/x-sh]
Saving to: ‘Miniconda3-py311_23.10.0-1-Linux-x86_64.sh’

Miniconda3-py311_23.10.0-1-Linux-x86_64.sh  100% [===================>]  69.42M  --.-KB/s    in 0.3s

 

2. ContrÎler l'intégrité (Hash SHA256)

user@server:~$ sha256sum Miniconda3-py311_23.10.0-1-Linux-x86_64.sh
6c714a33ea348303f909194246990422e698889417d74b9714856b3e9a7e6c3a  Miniconda3-py311_23.10.0-1-Linux-x86_64.sh

 

3. Lancer l'installation

L'argument -b permet une installation silencieuse. Par défaut, Miniconda s'installera dans ~/miniconda3.

user@server:~$ bash Miniconda3-py311_23.10.0-1-Linux-x86_64.sh -b
PREFIX=/home/clients/your_client_hash/miniconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done
Solving environment: done
Executing transaction: done
installation finished.

 

4. Initialiser et activer Conda

Pour utiliser conda immédiatement et à chaque connexion SSH :

user@server:~$ ~/miniconda3/bin/conda init bash
no change     /home/clients/your_client_hash/miniconda3/condabin/conda
...
modified      /home/clients/your_client_hash/.bashrc

user@server:~$ source ~/.bashrc

 

5. Installer un package (exemple : pymysql)

Une fois activé, le préfixe (base) apparaßt devant votre invite de commande. Vous pouvez alors installer vos outils sans sudo ni --user.

(base) user@server:~$ python -V
Python 3.11.5

(base) user@server:~$ pip install pymysql
Collecting pymysql
  Downloading PyMySQL-1.1.0-py3-none-any.whl (44 kB)
Installing collected packages: pymysql
Successfully installed pymysql-1.1.0

Cette FAQ a été utile?