Français
Commencer

← Tous les templates · Sites web et boutiques

Déployez Joomla en un clic

Le CMS open source pour les sites web, avec plusieurs langues, des niveaux d’accès et des milliers d’extensions

Une alternative auto-hébergée à Wix et Squarespace.

Qu’est-ce que Joomla ?

Joomla est un système de gestion de contenu gratuit et open source pour des sites de toutes sortes, des pages d’un club au site multilingue d’une entreprise. Les articles sont classés dans des catégories et affichés au moyen de menus et de modules, et le cœur comprend le template Cassiopeia, un gestionnaire de médias, des contacts avec leurs formulaires, des tags, la Recherche avancée et des URL en clair pour les moteurs de recherche. Un site multilingue ne demande aucune extension : chaque langue a son contenu et sa page d’accueil, et les articles sont associés à leurs traductions. Les groupes d’utilisateurs et les niveaux d’accès décident qui voit et modifie quoi, et l’annuaire des extensions de Joomla (Joomla Extensions Directory) en recense plus de 5 000.

Ce template fait tourner Joomla 6 depuis l’image officielle, avec MariaDB, et l’installe au premier démarrage à partir des champs, donc l’installateur web n’est jamais ouvert à un inconnu. Les fichiers de Joomla sont gardés dans un volume et se mettent à jour depuis l’administration, et depuis Joomla 5.4, un site que le service de mise à jour de Joomla peut joindre installe de lui-même les versions mineures et correctives. Le revers : le passage à une version majeure se fait à la main, une fois que vos extensions la prennent en charge.

Hébergement de Joomla sur Pethost

  1. Vous vous connectez à Pethost avec une clé d’accès, GitHub ou Google. Pas encore de machine ? Vous choisissez une offre, et le lien attend qu’elle soit prête.
  2. Nouveau projet s’ouvre sur Joomla. Vous remplissez ce qu’il demande et cliquez sur Créer le projet : E-mail, Nom d’utilisateur, Mot de passe administrateur.
  3. En une minute ou deux, Joomla tourne à sa propre adresse en HTTPS. Ses secrets sont créés au hasard, et ses données sont dans la sauvegarde nocturne.
  4. C’est un projet comme les autres : vous ou votre agent pouvez le modifier, revenir à une version précédente ou le restaurer.

Questions sur Joomla

Joomla est-il gratuit ?

Oui. Joomla est gratuit et open source, sous licence GNU General Public License, version 2 ou ultérieure. Des bénévoles le développent, et l’organisation à but non lucratif Open Source Matters assure la gouvernance du projet.

Joomla est-il toujours maintenu ?

Oui. Joomla 6.2 est sorti le 13 octobre 2026, Joomla 6 reçoit des corrections de bugs jusqu’au 17 octobre 2028 et des correctifs de sécurité jusqu’au 16 octobre 2029, et Joomla 6.3 est prévu pour avril 2027.

Comment mettre à jour Joomla ?

Faites d’abord une sauvegarde, puis ouvrez Système, choisissez Joomla sous Mise à jour et cliquez sur « Appliquer la mise à jour », ou lancez php cli/joomla.php core:update dans le shell du service joomla. Avec les mises à jour automatisées, activées sur un nouveau site que le service de mise à jour de Joomla peut joindre, il installe de lui-même les versions mineures et correctives.

Comment faire un site multilingue avec Joomla ?

Avec le cœur seul : installez les langues, publiez une langue de contenu pour chacune, activez le plugin « Système - Filtre de langue », créez un lien de menu d’accueil par langue, et associez chaque article à ses traductions dans son onglet Associations.

Pourquoi Joomla exige-t-il un mot de passe de 12 caractères ?

Un nouveau site Joomla exige des mots de passe d’au moins 12 caractères, celui du Super Utilisateur compris. Ce template transmet votre mot de passe administrateur à l’installateur de Joomla, qui refuse un mot de passe plus court : le site démarre alors une fois que la variable ADMIN_PASSWORD de .env est plus longue.

De combien de mémoire et de disque Joomla a-t-il besoin ?

Joomla est léger : environ 170 MB de mémoire avec MariaDB, et le site grossit avec les images et les fichiers que vous envoyez. Sur Pethost, l’offre Starter lui suffit, avec de la place pour d’autres applications à côté.

Le fichier Docker Compose de Joomla

Le template, c’est ce compose.yaml et les variables écrites dans le .env du projet à sa création. Pethost exécute le fichier tel qu’il est écrit.

Conteneurs : joomla (joomla:6-apache), db (mariadb:11.8).

Volumes, dans la sauvegarde nocturne : joomla, db.

services:
  joomla:
    image: joomla:6-apache
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    environment:
      JOOMLA_DB_HOST: db
      JOOMLA_DB_NAME: joomla
      JOOMLA_DB_USER: joomla
      JOOMLA_DB_PASSWORD: ${DB_PASSWORD}
      SITE_NAME: ${HOST}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # A new Joomla opens its web installer to whoever comes first. So the image's entrypoint is
    # run first only to copy Joomla into the volume and make the database, Joomla's own CLI
    # installer then makes the site and its Super User from the fields, and Apache starts only
    # once the site is installed: a refusal (Joomla takes a password of 12 characters at least)
    # stops the start, says why in the logs, and is tried again at the next.
    #
    # PHP's own upload limit is 2 MB, too little for a photo, and the image has no variable for it.
    entrypoint:
      - sh
      - -c
      - |
        set -e
        printf 'upload_max_filesize = 64M\npost_max_size = 64M\n' > /usr/local/etc/php/conf.d/uploads.ini
        /entrypoint.sh apache2 -v > /dev/null
        if [ -e installation/joomla.php ]; then
          php installation/joomla.php install --no-interaction \
            --site-name="$$SITE_NAME" \
            --admin-user="$$ADMIN_USERNAME" \
            --admin-username="$$ADMIN_USERNAME" \
            --admin-password="$$ADMIN_PASSWORD" \
            --admin-email="$$ADMIN_EMAIL" \
            --db-type=mysqli \
            --db-host="$$JOOMLA_DB_HOST" \
            --db-user="$$JOOMLA_DB_USER" \
            --db-pass="$$JOOMLA_DB_PASSWORD" \
            --db-name="$$JOOMLA_DB_NAME" \
            --db-prefix=jos_ \
            --db-encryption=0
          rm -rf installation
          chown -R www-data:www-data .
          chmod 444 configuration.php
        fi
        exec /entrypoint.sh apache2-foreground
    volumes:
      - joomla:/var/www/html

  db:
    image: mariadb:11.8
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: joomla
      MARIADB_USER: joomla
      MARIADB_PASSWORD: ${DB_PASSWORD}
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
    volumes:
      - db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 20
      start_period: 30s

volumes:
  joomla:
  db:

Aussi dans Sites web et boutiques