Exporter / déployer le site / la page Drupal en statique? (pas de cache)

12

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. Tout le moteur Drupal sera sur un autre serveur, l'exportation sera effectuée à chaque ajout / modification / modification d'un nœud ou d'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

Maor Barazany
la source

Réponses:

2

Il y a un nouveau module Drupal 7 fournissant cette fonctionnalité est un 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.

Limites:

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 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 vue
  • Commentaires Drupal
  • Recherche Drupal.
  • Pas de formes drupales.
  • 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 tant qu'ils sont passés par hook_preprocess_pager.

WaQaR Ali
la source
1

GNU wget est un client WWW qui peut télécharger les pages de votre site et les stocker localement. Utilisez l' -roption pour télécharger les pages de manière récursive (c.-à-d. Suivez 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 l' -koption).

Oswald
la source
Oui, je connais l'option wget, de cette manière il y a un meilleur client WWW encore appelé HTTrack . Je me demandais s'il y avait une fonctionnalité intégrée pour Drupal qui pouvait ajouter disons une sorte de bouton dans chaque page qui exporterait la page en version statique, etc. Merci
Maor Barazany
0

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.

rjmunro
la source
0

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 html statique à 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 code HTML statique généré, vous avez la possibilité de l'enregistrer sur un serveur FTP ou un serveur Webdav , qui prend à nouveau en charge l'authentification à deux facteurs.


la source