En utilisant SSI pour augmenter l’efficacité
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes (SSI) sont une bonne option. Utilisé correctement, SSI peut réduire le temps que vous passez la création et maintenir des sites web et augmenter vos profits. utilisant SSI nécessite seulement un peu de connaissances et d’activer la fonctionnalité la fois sur votre serveurs de production et de développement web.
Gestionnaires de la technologie et des développeurs à qui j’ai parlé a cité la complexité indésirable et trop raide une courbe d’apprentissage que leurs raisons pour ne pas utiliser SSI. Si vous vous êtes trouvé dans cette position dans le passé, je suis là pour vous rassurer que le SSI en pas trop complexe, et n’importe qui avec intelligence suffisante pour aménager un site web peut en profiter. C’est une petite extension de vos compétences actuelles, et il fournit un raccourci pour des choses que vous ont probablement déjà fait.
Les meilleures nouvelles sont que SSI est appuyé par les deux principales plates-formes serveur web Apache et IIS. Bien que IIS prend en charge un plus petit ensemble de directives que Apache, est assez soutenue pour que la fonction reste utile.
Activation SSI
Si vous utilisez IIS, Server Side Includes sont activées par défaut pour tous les fichiers portant les extensions. Shtml,. Stml ou. STM.
Si vous utilisez Apache, vous devez activer SSI manuellement dans votre configuration globale, ajoutez la ligne suivante.:
Options +Includes
Cela permet de SSI à être analysé par le serveur. Pour identifier les fichiers qui doivent être analysées, vous devez également informer le serveur de la nouvelle extension de fichier. Si vous êtes un des chanceux à l’aide d’Apache 2.0, le suivante va faire le travail:
Si vous êtes comme moi et qui vivent encore dans le passé avec Apache 1.3, vous devez effectuer les opérations suivantes au lieu:
Cette paire de directives indique au serveur que les fichiers se terminant par. Shtml doivent être traitées pour directives Server Side Include. Parce que Apache est le serveur polyvalent jamais, il ya une autre méthode appelée XBitHack. Avec le XBitHack, les fichiers avec un bit exécutable seront traitées pour comprend, comme si le dossier avait l’extension. Shtml. Je n’ai pas utilisé cette fonction et j’ai quelques réserves quant à marquer ce qui est finalement un fichier texte comme exécutable. Cette méthode ne fonctionnera pas si vous utilisez Apache sous Windows, puisque le système de permission du fichier est trop différent pour un bit d’exécution pour faire beaucoup de sens.
Simple directives SSI
Comme son nom l’indique, SSI permet un designer web pour insérer le contenu d’un fichier dans un autre lorsque le fichier est servi. D’autres informations peuvent également être insérés, y compris les dates de modification du fichier, la taille des fichiers et des valeurs des variables d’environnement serveur. ; La forme générale de toutes les directives sont:
Parce qu’il est enveloppé dans un commentaire, si votre serveur n’est pas configuré pour supporter SSI, dont le contenu sera exporté normalement et que votre navigateur va le traiter comme n’importe quel autre commentaire HTML. Si vous utilisez un éditeur de vérification de la syntaxe, ce sera de l’empêcher de s’étouffer sur votre directive.
Inclure des fichiers
Pour inclure un fichier dans la sortie d’un autre, utilisez la #include directive:
Si vous avez utilisé SSI avant ou si votre travail sur IIS, le « virtuel » attribut peut sembler un peu drôle pour vous. Ce n’est pas le chemin du système de fichier à un fichier, mais est une URL sur le serveur local vers le fichier. Cela rend vos fichiers SSI facile de se déplacer sur le système de fichiers et de serveur à serveur. Le «dossier» d’attribut est toujours supportée, mais «virtuel» est grandement préférable. Si vous persistez dans l’utilisation de « fichier », vous pouvez des ennuis lorsque vous déplacez votre site à partir du serveur de développement à la production.
Heure de modification de fichier
Les dates de modification de fichier sont utiles lorsque vous offrez des fichiers à télécharger. Lorsque le nouveau fichier est téléchargé vers le serveur, la page Web reflétera automatiquement la date de modification nouvelle.
Cette directive peut aussi être utilisé pour marquer une page avec sa date de modification propres dernière en y incluant le nom du fichier que le « dossier » directive. Bien qu’il existe d’autres façons de gérer cela, comme un système de contrôle de version, c’est une assez bonne contourner pour fournir l’information.
Exécution des commandes
La sortie des programmes exécutés sur le serveur peut également être inclus. L’exemple classique est de produire une liste de fichiers. Je l’ai aussi utilisé pour les compteurs de pages Web et pour générer des menus dynamiques sur mon site web.
La commande est exécutée dans le shell par défaut du système et hérite de toutes les variables d’environnement disponibles pour un programme CGI. Cette fonctionnalité est potentiellement très dangereux et doit être désactivé l’échelle du site, si les utilisateurs peuvent contribuer au contenu du site Web, par exemple via un livre d’or. Pour Apache, ajoutant IncludeNOEXEC de la directive Options, où vous avez activé SSI. Pour IIS, la fonctionnalité est désactivée par défaut et doit être allumé.
Affiche les variables d’environnement
Vous pouvez afficher n’importe quelle variable d’environnement en utilisant la directive suivante:
C’est utile pour afficher l’une des variables qui sont disponibles pour les programmes CGI.
Variables d’environnement
Il est utile d’être capable de définir des variables d’environnement. Vous pouvez l’utiliser pour définir certaines options dans les programmes CGI appelé par la directive # exec. Vous pouvez également définir des variables dans un fichier qui sont affichées dans un autre fichier inclus en utilisant la directive # echo.
Malheureusement vous ne pouvez pas utiliser cette fonctionnalité sur IIS. Cela signifie que l’un des exemples à venir ne sera pas utile pour les utilisateurs de IIS.
Comment utiliser SSI
Connaître les directives de base, vous êtes maintenant prêt à commencer à les mettre en action. Si vous utilisez la situation typique de développement sur votre machine locale, puis de déployer sur votre serveur, vous aurez besoin de configurer un serveur web local. Parce que les caractéristiques sont traitées de façon légèrement différente, c’est une bonne idée d’utiliser le même serveur web sur les deux machines de production et de développement. Si vous déployez un serveur Apache et l’exécution d’un bureau Windows, vous aurez également besoin de s’assurer que votre serveur web local est vraiment un serveur Apache.
De l’outil Services (sous Outils d’administration sur le panneau de contrôle), choisissez le service World Wide Web Publishing, faites un clic droit et sélectionnez Propriétés. Si le bouton «Stop» est activée, désactivez-le. Puis changement de « Type de démarrage « soit » Manuel « ou » Désactivé « . La capture d’écran ci-dessous montre ce qu’il devrait ressembler lorsque vous avez terminé.
Si vous ne l’avez pas encore fait, installez le serveur Apache maintenant (httpd.apache.org) comme un service système, et suivez les étapes décrites précédemment dans « Activation SSI». Si vous avez déjà Apache installé, lancez- maintenant et il configuré pour démarrer automatiquement. Gérer ce via le panneau des services comme vous le faisiez pour IIS.
Le plus gros gain disponible est d’identifier des éléments communs qui sont répétés sur toutes les pages. Sur mes sites, il s’agit notamment têtes de page, pied de page et des menus de navigation. J’ai aussi plusieurs éléments communs qui n’apparaissent pas sur chaque page, mais ne figurent sur plusieurs pages. Ce sont tous de bons candidats pour SSI. Un calcul récent a montré que j’ai réduit le texte redondant dans mes pages de 40% juste en mettant ma navigation, en-têtes et pieds de page dans des fichiers SSI. C’est une belle économies en temps pendant la construction et l’entretien.
La directive # flastmod fait aussi un peu de travail pour moi, garder mes pages de téléchargement à jour. Je n’ai pas été capable de mesurer combien d’efforts cela me sauve, mais c’est une grande commodité. J’ai un faible mémoire pour les détails de routine, et il fait en sorte que mes visiteurs peuvent dire quand quelque chose a été mis à jour. Si vous avez des pages de téléchargement avec des éléments qui sont parfois mis à jour, vous avez une bonne occasion pour profiter de cette directive, vous pouvez modifier le format de la date qui est affichée;. Consultez la documentation de votre serveur web pour la directive # config .
Menus de navigation
Chaque site a ou devrait avoir, des menus de navigation pour faire se déplacer facilement sur le site. Pour la plupart, ces menus sont les mêmes sur chaque page. Même avec un site complexe, vous aurez un grand nombre de pages avec les mêmes menus. Cela fait d’eux un naturel pour gérer avec SSI.
Un bon exemple d’un menu de navigation de mon site est ci-dessous:
Si je sauve ce dans le fichier « menu.shtml« Je peux maintenant mettre le menu dans toutes mes pages avec la directive:
Les fichiers inclus par un #include directive sont également analysés pour les directives comprennent. Cela signifie que je peux mettre une tête de page uniforme sur toutes mes pages et de faire la part de menu de l’en-tête. Je vais mettre ce morceau de code dans un fichier appelé « top.shtml »:
Grâce à la magie du CSS nous pouvons aussi utiliser notre menu pour faire une barre de navigation en bas de la page dans « bottom.shtml »:
Maintenant, quand nous ajoutons de nouvelles pages de notre site Web, le seul endroit où nous devons ajouter un lien vers la page est en « menu.shtml ». Il apparaîtra automatiquement dans le menu principal à la fois dans le haut de la page et au bas du menu peu.
J’ai aussi utilisé avec succès un programme CGI pour générer dynamiquement mes menus. Vu comment il est facile de maintenir un seul fichier d’inclusion, je ne vous recommandons l’approche de CGI dans des situations où vous cherchez à générer un menu qui change en fonction du contexte. Cela pourrait être bon, par exemple, où le shouldn menu ‘ t ont un lien actif pour la page courante. Dans ce cas, vous devriez utiliser #exec au lieu de #include .
Commune blocs HTML
Il ya des blocs de code commun, j’ai utilisé sur mon site. Support pour plusieurs de mes scripts téléchargeables peuvent être achetés par l’intermédiaire de PayPal. De même, ces scripts sont répertoriés sur les sites de script qui ont un système de notation. Les blocs de code pour les deux sont un peu fastidieux et très semblables dans toutes les pages.
Une partie du problème ici est que les blocs sont similaires, pas identiques. Pour les utilisateurs de IIS, cela signifie que vous n’avez pas de chance. Pour les utilisateurs d’Apache cependant, la combinaison de #set et #echo directives sont utiles. Le bloc pour le site de notation script est ci-dessous:
<! – Fin de bloc de script Classement ->
La seule partie que je suis vraiment inquiet au sujet ici est la valeur du champ de formulaire d’identification. C’est la seule partie qui va changer de page en page. Encore une fois, je coupe le bloc de code de ma page et déposer c’est dans son propre fichier, que j’appellerai «rateblock.shtml ». je remplacer la valeur du champ ID avec une #echo directive, tel que démontré ci-dessous l’extrait de code.
Maintenant, pour mettre un bloc note sur une de mes pages, j’ai besoin d’une paire de directives dans ma page:
Le bloc apparaîtra dans mes pages avec la valeur appropriée dans le champ ID. Si vous obtenez une valeur de « (none) » dans le champ ID, vous avez une inadéquation entre les variables que vous définissez dans votre page et la valeur que vous êtes en écho dans le fichier inclus. J’ai perdu plusieurs minutes à essayer de résoudre ce problème.
Considérations commerciales
L’efficacité accrue vous gagnez en utilisant comprend a quelques considérations commerciales importantes que vous devez savoir. Mon propre utilisation de SSI m’a donné une économie de 40% en temps quand j’ai construit mon site web et m’a sauvé beaucoup plus que je l’ai élargi et modifié le site. Pour moi, c’était formidable parce que je ne suis pas payé pour la construction de mon propre site, et il m’a laissé le temps de travailler sur des sites Web et des logiciels pour mes clients. Si votre entreprise est basée sur un taux horaire de facturation, cette amélioration de l’efficacité pourrait vous frapper dans le livre de poche. Il ya deux options à envisager.
La première est que vous pourriez continuer à exiger le même montant d’argent pour la construction et de modifications et de les achever en moins de temps. cela vous permet de terminer plus de travail en moins de temps, ce filet que vous plus d’argent. C’est une bonne chose dans mon livre. Vous pourrez également profiter des avantages de la cohérence entre toutes les pages sur votre site, qui vous fait regarder mieux à vos clients. L’inconvénient est votre situation de facturation devient plus compliqué, car ce n’est pas simplement une question de facturer à l’heure.
La seconde est que vous continuez à charger sur une base horaire, et vos clients sont heureux d’obtenir une plus petite facture. C’est bon pour la relation client et vous donne une longueur d’avance sur toute la compétition continue de construire des pages sans les avantages de la SSI. L’inconvénient est que vous êtes dévaloriser votre travail, et qui vous met dans une position moins désirable pour obtenir de nouveaux contrats.
Références
- Activation Server Side Includes sur IIS
- Directives SSI en charge sur IIS
- Activation et utilisation de SSI sur Apache 1.3
- Activation et utilisation de SSI sur Apache 2.0
Articles supplémentaires "Html"
Construction d’un pays ACP 3D HTML Image Gallery tableau
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes [...]
Mais savez-vous si c’est bon?
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes [...]
HTML5 et la méthode clear ()
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes [...]
Automatiser la génération du site
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes [...]
Envoi par courriel avec AJAX: construction d’une petite application
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes [...]
Utiliser le clavier avec une calculatrice de page Web
La hanche, concepteur de sites Web mis à jour veut faire des sites qui non seulement l’apparence, mais qui sont rapides à construire et facile à entretenir. Le meilleur outil pour le travail varie en fonction du client, mais pour les petits sites qui n’ont pas besoin d’être mis à jour quotidiennement, Server Side Includes [...]