web-dev-qa-db-fra.com

Exporter / Déployer Drupal site / page vers statique? (Pas de cache)

Je me demande s'il existe un module existant qui peut aider dans le sujet. Je ne cherche pas un module de mise en cache (comme Boost ou Varnish), mais un moyen d'exporter tout mon site (ou seulement certaines pages) en statique. L'idée est que je veux que mon serveur web soit très simple et léger et ne serve que des fichiers statiques (html/css/js) - aucune base de données sur la production, aucun moteur php ne sera installé sur le serveur. Tous les moteurs Drupal seront sur un autre serveur, l'exportation sera effectuée à chaque fois que vous ajouterez/éditerez/modifierez un nœud ou une vue, et un nouvel ensemble de fichiers html sera créé dans une structure de répertoires. Ces fichiers seront ensuite copiés sur le site de production qui servira toujours et uniquement des fichiers statiques, pas de .htaccess qui vérifiera les demandes si le fichier existe etc.

Existe-t-il un module pour cela, ou une solution de contournement que cela peut être réalisé avec Drupal?

Merci

12
Maor Barazany

J'utilise HTTrack pour cela, il y a aussi cet article sur drupal.org: Création d'une archive statique d'un site Drupal) .

5
tostinni

Il y a un nouveau module Drupal 7 fournissant cette fonctionnalité est Générateur statique

Générateur statique:

Le module statique génère une copie complète de votre site Web sous forme html comprenant tous les js, css, images et autres actifs. Cela peut ensuite être transféré pour exécuter le site Web à partir d'un simple serveur Web sans PHP, MySQL ou memcache.

Avantages:

  • Performance: Pas de PHP, Mysql, etc. sur un site public. Tout est un fichier statique donc il est servi très rapidement.
  • Sécurité: La version statique du site ne dispose pas de base de données, de comptes utilisateurs ou de toute autre forme d'interaction utilisateur (à l'exception des intégrations tierces), elle est donc beaucoup plus sécurisée.
  • Fiabilité: la plupart des points de défaillance habituels ont disparu. PHP, MySQL, memcache, vernis, etc. ne font plus partie du site statique.

Limitations:

En raison du fait qu'il n'y a pas de base de données ou PHP derrière le site Web, aucune fonctionnalité qui l'exige ne peut être utilisée. Les bibliothèques de la 3e partie peuvent remplir la plupart des fonctionnalités nécessaires.

Certaines des pièces qui ne peuvent pas être utilisées sont:

  • Aucun filtre de vues
  • Commentaires Drupal
  • Recherche Drupal.
  • Non drupal formulaires.
  • Pas de contexte (pas le module) - ce qui signifie que vous ne pouvez pas modifier le contenu de la page en fonction de l'utilisateur, sauf si vous le faites en javascript.
  • Aucun rappel ajax (sauf les requêtes GET pré-générées)

Les pagers fonctionnent vraiment tant qu'ils sont transmis via hook_preprocess_pager.

2
WaQaR Ali

GNU wget est un client WWW qui peut télécharger les pages de votre site et les stocker localement. Utilisez le -r option pour télécharger les pages de manière récursive (c'est-à-dire suivre les liens vers les pages du même site que sur la page actuelle). Il peut également convertir des URL absolues en URL relatives (en utilisant le -k option).

1
Oswald

Je cherche quelque chose de similaire. J'ai recherché les modules et trouvé les options suivantes, mais je n'ai pas encore étudié l'un ou l'autre:

Nous voulons utiliser S3 ou un autre fichier statique servant le service CDN pour notre site, il est donc possible que quelque chose de plus semblable au suivant soit utile:

Une autre pensée est qu'il peut être possible de tirer parti d'un cadre de mise en cache comme boost et d'ajouter quelque chose pour pousser les fichiers en production pendant leur mise en cache.

0
rjmunro

Vous pouvez utiliser le module Wget Static - Generate HTML and Save To FTP/Webdav , qui fait exactement ce que vous voulez. En fait, j'ai également déployé la même architecture que celle que vous avez décrite ci-dessus.

Vous pouvez sélectionner du contenu pour la génération HTML statique, qui peut également être contourné à l'aide des paramètres de requête. Ensuite, la deuxième partie vient où vous effectuez la génération statique html à l'aide de l'application WGET. Ce module statique Wget couvre presque toutes les options nécessaires à la génération de données statiques.

Non seulement cela, enfin à côté du téléchargement du HTML statique généré, vous avez la possibilité de l'enregistrer sur le serveur FTP ou Serveur Webdav , qui prend à nouveau en charge l'authentification à deux facteurs.

0
user50407