Qu'est-ce qu'une page Web dynamique. Concept de page Web statique et dynamique

Même les débutants connaissent probablement les expressions « site statique » et « site dynamique ». Mais que signifient exactement ces expressions et quelle est la différence entre elles, quels sont les avantages de tel ou tel type de site ?

Ne devinons pas, mais regardons-les simplement en détail et comparons-les.

Sites statiques et dynamiques : quelle est la différence ?

Bien qu'aujourd'hui le nombre de sites dynamiques augmente, il est impossible de dire avec certitude si le site que vous avez ouvert est statique ou dynamique au premier coup d'œil.

Exemples de sites statiques

Vous pouvez supposer à première vue qu'un site est statique si, par exemple, il contient une ou un petit nombre de pages, ou, par exemple, s'il s'agit du site de cartes de visite d'une entreprise et que les informations qu'il contient ne changent jamais ou sont mis à jour très rarement, s'il ne dispose pas de fonctionnalités telles que, par exemple, les commentaires ou l'enregistrement, etc.

En fait, un site statique ne peut être mis à jour que par une personne rompue au développement web, car il ne dispose pas de panneau d'administration, donc toutes les mises à jour du site devront se faire via son code source.

Les sites statiques sont moins chers et occupent moins d’espace d’hébergement, c’est pourquoi de nombreuses petites entreprises les préfèrent encore aux sites dynamiques.

Nous pouvons donc voir avantages des sites statiques :

  1. Ils sont simples et rapides à développer
  2. Peu coûteux à développer et moins de charge.

Outre les avantages, nous pouvons également souligner Inconvénients des sites statiques :

  1. Une expérience en développement Web est requise pour mettre à jour le site.
  2. Pour mettre à jour le moindre détail d'un tel site, vous devrez soit fouiller vous-même dans le code, soit, si vous ne connaissez pas vous-même HTML et CSS, vous devrez à chaque fois recourir aux services d'un webmaster.

  3. Stagnation du contenu.
  4. Du fait que le contenu d'un tel site est très rarement mis à jour, le contenu de ceux-ci « stagne », cela a un effet très défavorable sur les moteurs de recherche. Bien entendu, vous pouvez promouvoir un tel site, mais principalement via des méthodes payantes.

Exemples de sites Web dynamiques

En revanche, les sites dynamiques peuvent coûter beaucoup plus cher, surtout s’ils sont développés à partir de zéro. De plus, l'hébergement sera un peu plus cher, puisque vous devrez connecter des fonctionnalités supplémentaires. Mais les nombreux avantages des sites dynamiques compensent largement ces inconvénients.

Un site Web dynamique donne à son propriétaire la possibilité de mettre à jour et d’ajouter du contenu à son site très facilement. Par exemple, des actualités et des événements peuvent être ajoutés via le panneau d'administration du navigateur lui-même, sans qu'il soit nécessaire de modifier les fichiers de code.

Les possibilités d'un site Web dynamique ne sont limitées que par notre imagination.

Des exemples de sites dynamiques sont les sites basés sur des systèmes de gestion, les boutiques en ligne, les sites de petites annonces, les forums, les sites offrant aux clients et aux visiteurs la possibilité de laisser des avis, des commentaires, de télécharger des fichiers, etc.

Avantages des sites dynamiques :

  1. Site plus fonctionnel.
  2. Il est beaucoup plus simple de le mettre à jour.
  3. La mise à jour constante a un effet positif sur la promotion du site Web et attire plus de visiteurs.
  4. Un tel site aide son propriétaire et donne beaucoup plus de possibilités de communiquer avec son public et de rendre son site plus intéressant pour les visiteurs grâce à diverses fonctions.

conclusions

Ainsi, on voit qu'un site dynamique a des perspectives de développement bien plus grandes qu'un site statique, malgré le fait que donner vie à un tel site peut prendre plus de temps.

De plus en plus de personnes se rendent compte de l'avantage indéniable des sites dynamiques, et c'est pourquoi de plus en plus d'entre eux apparaissent sur Internet.

Mais d'un autre côté, tout dépend de ce dont VOUS avez spécifiquement besoin, si vous avez besoin, par exemple, d'un site Web d'une page sur lequel vous vendrez un produit, ou d'un site Web de cartes de visite de 1 à 5-6 pages, que vous à ne pas faire Si vous envisagez de mettre à jour constamment, alors une solution tout à fait naturelle serait d'opter pour un site statique.

Si vous souhaitez que votre projet se développe constamment et soit rempli de contenu, vous avez bien sûr besoin d'un site Web dynamique.

Composé de pages HTML statiques (htm, dhtml, xhtml) qui constituent un tout. Contient (sous forme de balisage HTML) du texte, des images, du contenu multimédia (audio, vidéo) et des balises HTML. Les balises peuvent être soit des balises de service, destinées au navigateur, soit destinées à être placées, façonnant l'apparence et l'affichage des informations. Toutes les modifications du site sont apportées au code source des documents (pages) du site, pour lesquels vous devez avoir accès aux fichiers sur le serveur web.

Avantages et inconvénients

Avantages

  • Vous n'avez pas besoin de connaître les langages de programmation web pour créer une page.
  • Bonne mise en cache des pages.
  • Vitesse de chargement rapide des pages.
  • Configuration minimale requise pour le serveur Web et charge minimale sur celui-ci.
  • Facile à transférer vers un autre serveur ou ordinateur local.
  • Possibilité de visualiser directement un fichier dans un navigateur, sans utiliser de middleware (serveur web, CGI).

Défauts

  • Incapacité à générer dynamiquement du contenu.
  • Impossibilité d'accompagner pleinement les visiteurs (choix de l'apparence, cookies).
  • Pour remplir le site d'informations, vous devez accéder aux fichiers de page via FTP ou des scripts Web tiers qui vous permettent de modifier les pages.
  • Avec un grand nombre de pages (fichiers), s'il est nécessaire d'apporter des modifications similaires (conception, mise en page, ajout de nouvelles sections), vous devez utiliser des logiciels tiers (utilitaires).

Utilisation moderne

  • Site Web de cartes de visite - contient les informations les plus générales sur le propriétaire du site (organisation ou entrepreneur individuel). Type d'activité, historique, liste de prix, coordonnées, détails, directions. Les spécialistes publient leur curriculum vitae. C'est-à-dire une carte de visite détaillée.
  • Catalogue de produits - le catalogue contient une description détaillée des biens/services, des certificats, des données techniques et de consommation, des avis d'experts, etc. Ces sites contiennent des informations sur les biens/services qui ne peuvent pas être inclus dans la liste de prix.
  • Pages d'accueil des utilisateurs.

De plus, les pages statiques sont souvent utilisées comme modèles pour les sites dynamiques.

Combien de pages et de sites avez-vous visités pendant votre séjour sur le réseau mondial ? Certains en plus, d'autres en moins, moi-même je ne peux pas compter combien il y en avait, beaucoup n'existent peut-être plus. Avez-vous déjà réfléchi à ce que représente chaque page ou essayé de regarder à l’intérieur du site ?

Je vous invite à me suivre, et je vais essayer de vous dévoiler une des facettes de la création de sites internet, leur structure interne. Nous n'entrerons pas trop dans les détails techniques, mais je vais essayer de vous faire comprendre l'essentiel : en quoi les sites statiques diffèrent des sites dynamiques, quels sont leurs avantages et leurs inconvénients, quelle méthode de développement de site choisir.

Tous les sites du réseau peuvent être divisés en deux grands groupes : les sites statiques et dynamiques. Du point de vue d'un visiteur du site, parfois peu importe sur quelle page il se trouve, statique ou dynamique, parfois il est même difficile de le déterminer avec précision. Mais je veux considérer cette division du point de vue du développeur - le créateur du site.

Tout d’abord, vous devez définir les concepts de sites statiques et dynamiques.

Qu'est-ce qu'un site statique ?

Statique J'appellerai une page entièrement stockée sur le serveur et présentée au visiteur sous sa forme inchangée (il convient de noter qu'une page statique peut contenir certains éléments modifiables, tels que des bannières, mais elle reste toujours statique).

Pour plus de clarté, je vais donner un exemple. Imaginez que vous enregistrez une page sur votre ordinateur. Disons qu'il est maintenant stocké dans le fichier "Page.html". Si vous l'ouvrez à l'aide d'un navigateur, vous verrez tout le contenu de la page. Sous cette forme (comme lors de l'enregistrement sur un ordinateur local), les pages statiques sont stockées sur le serveur, qui ne les sert qu'au visiteur.

J'appellerai un site statique si la plupart ou la totalité de ses pages sont statiques.

Il existe de nombreux sites de ce type ; on pourrait dire qu'Internet a commencé avec eux.

Qu'est-ce qu'un site dynamique ?

Dynamique J'appellerai une page générée par un serveur à partir de plusieurs parties ou obtenue en saisissant ou en modifiant des données dans la page.

Examinons de plus près le processus de génération d'une page dynamique. Si une page statique ne subit pratiquement aucune modification et apparaît sur l’écran du visiteur sous sa forme « originale », alors une page dynamique, telle qu’une personne la voit, n’existe pas sur le serveur. Elles sont collectées de différentes manières à partir des données stockées sur le serveur et ne sont ensuite présentées au visiteur.

Comment peut-elle se préparer ? Considérons:

  • La première option peut consister à combiner plusieurs (deux ou plus) parties distinctes en une seule page - c'est le moyen le plus simple de générer.
  • La deuxième option consiste à remplir la page du modèle avec des informations stockées séparément ou obtenues grâce à l'algorithme (par exemple, à la suite de calculs).
  • La troisième option, et peut-être la plus courante, est une combinaison des deux premières dans toutes les variantes possibles, c'est-à-dire la page est assemblée à partir de plusieurs pièces dans lesquelles diverses modifications sont apportées.

Suivant les définitions précédentes, j'appellerai un site dynamique si la plupart ou la totalité de ses pages sont créées dynamiquement.

Permettez-moi de vous donner une autre analogie pour que tout se mette en place. Imaginez que vous regardez un film. Les images se remplacent et fusionnent en une seule image en direct, mais si vous regardez le processus de lecture plus en détail, vous comprendrez que chaque image a été enregistrée à l'avance et que vous voyez maintenant simplement leur séquence. Vous ne pouvez rien changer, vous ne pouvez pas interférer avec les événements du film. Avez-vous déjà deviné où je veux en venir ? Oui, cela s'apparente à un site statique dont les pages, tout comme les images d'un film, ont été créées à l'avance par son auteur.

À quoi ressemblerait un site dynamique dans ce cas ? Pour un jeu informatique. Il a un certain scénario, ses propres personnages et intérieurs, mais l'image finale n'est obtenue qu'après avoir combiné toutes ces parties, et non sans votre participation. Ce que vous voyez à l'écran dépend de vos actions. De la même manière, un site dynamique réagit à vos actions sur ses pages et assemble la page dont vous avez besoin à partir de morceaux.

Nous avons compris le principe de séparation, passons à l’analyse des avantages et des inconvénients des deux approches l’une par rapport à l’autre.

Vous vous demandez peut-être : que se passe-t-il si le site comporte à peu près le même nombre de pages statiques et dynamiques ? J'ose vous assurer qu'il existe de nombreux sites de ce type et que dans notre cas, cela ne joue pas un grand rôle. C'est juste que les avantages et les inconvénients dont je parlerai ci-dessous ne s'appliqueront pas à l'ensemble du site, mais à sa partie correspondante.

Avantages et inconvénients des sites dynamiques

Cela soulève la question suivante : pourquoi est-ce nécessaire, rendre la page dynamique, la diviser en plusieurs parties, stocker les informations quelque part séparément, etc. ? N'est-il pas plus facile de créer un site Web tel qu'un visiteur devrait le voir et ne pas se montrer ?

Comme je l'ai déjà dit, Internet a commencé avec des sites statiques ; les pages et sites dynamiques sont apparus plus tard, mais ont commencé à évincer leurs ancêtres, ce qui signifie qu'ils ont leurs avantages. Examinons donc les avantages des sites dynamiques par rapport aux sites statiques, mais pour compléter l'examen, prenons le temps d'examiner les inconvénients.

Je voudrais immédiatement noter qu'en donnant des définitions, j'ai commencé par une description de pages individuelles. Cela a été fait pour que vous compreniez plus clairement de quoi nous parlons. Désormais, lors de la comparaison, je considérerai des sites entiers : statiques et dynamiques. En conséquence, les avantages s'appliqueront spécifiquement aux sites prêts à l'emploi, car parfois, ils ne conviennent tout simplement pas aux pages.

Ainsi, avec l'avènement des langages de programmation exécutés côté serveur, il est devenu possible d'apporter des modifications aux données envoyées au visiteur. Qu'est-ce que cela a donné ?

  • Séparation de l'information et du design
  • Facilitez la modification et la mise à jour des pages
  • Possibilité de modifier le contenu en réponse aux actions des visiteurs

Examinons chaque point plus en détail.

Séparation des informations et conception du site

L'utilisation de pages dynamiques vous permet de stocker un certain modèle de conception dans lequel, en fonction de la page visitée par le visiteur, est placé le contenu nécessaire. Cette option est très pratique, car un ou plusieurs modèles sont créés pour l'ensemble du site et toutes les modifications de conception qui doivent être apportées sur le site sont effectuées uniquement avec eux.

À titre d'exemple, imaginez un site Web d'entreprise comportant plusieurs centaines de pages (pas beaucoup par rapport aux normes actuelles). Et supposons que l'organisation décide de changer son logo, il n'y a rien de plus simple : si le site est statique, vous devez apporter des modifications à chaque page. Imaginez maintenant que le site se compose de milliers de pages et que des modifications doivent être apportées en permanence. Combien de temps et de ressources humaines cela nécessitera-t-il ?

Si le site est dynamique, tout est beaucoup plus simple. Des modifications sont apportées à un ou plusieurs fichiers modèles et toutes les pages du site sont automatiquement mises à jour.

Cette approche permet également de délimiter les pouvoirs des personnes impliquées dans le remplissage et la modification du site. Ceux. Certains employés peuvent concevoir, d'autres remplir des pages. Idéalement, ils ne se croiseront même pas, seul le visiteur du site verra le résultat de leur travail commun sur l'écran de son moniteur.

Du point de vue de l'organisation du travail et de la division du travail, la possibilité de créer un site Internet à partir de modèles est presque idéale. La personne responsable de la conception du site ne pourra pas interférer avec le processus de remplissage des pages avec du contenu, et lui seul sera responsable de toutes les lacunes de la conception. Et vice versa, celui qui s'occupe du contenu informatif du site ne pourra pas violer la conception du site. Chacun fait ce qu'il veut sans déranger les autres. Cela accélère le travail et réduit les coûts.

Simplification de la modification et de la mise à jour des pages du site

Cet avantage découle directement du premier. En considérant le point précédent, j'ai déjà un peu abordé cette question. J'ai donné un exemple de changement du logo de l'entreprise sur toutes les pages du site. Mais le site nécessite des modifications constantes, notamment en ce qui concerne son contenu. Les informations doivent être à jour.

La séparation des informations et de la conception sur le site vous permet d'accélérer le processus de mise à jour et de remplissage du site, car n'exige pas que les personnes effectuant ces opérations aient des connaissances dans les domaines du balisage HTML, des graphiques, etc. Ceux. Vous pouvez même préparer une conception de site Web (commande auprès d'une entreprise qui fournit de tels services), puis remplir le site vous-même, sans dépenser d'argent pour embaucher constamment des tiers ou inclure des spécialistes en conception dans votre personnel, ce qui serait nécessaire avec une organisation de site Web statique. . Et le temps consacré à la mise à jour est considérablement réduit.

Possibilité de modifier le contenu du site en réponse aux actions des visiteurs

La troisième réalisation a été une percée dans le développement du réseau mondial. Jugez par vous-même, tous les avantages décrits dans les deux premiers paragraphes facilitaient le travail des créateurs de sites Web et réduisaient leurs coûts, mais cela n'était pas très important pour les visiteurs. Mais le troisième avantage les concernait directement. Ce n'est que grâce à lui que vous pouvez voir un grand nombre de magasins d'électronique, de clubs virtuels, de jeux sur Internet, etc. Seule la possibilité de modifier le contenu du site pour un visiteur spécifique a permis à ces projets de prendre vie.

Imaginez que vous êtes dans une boutique en ligne qui utilise des pages statiques. Dans une telle boutique en ligne, vous ne pourrez pas consulter votre panier, vous ne pourrez pas suivre les étapes de paiement et d'exécution des commandes, vous ne verrez rien d'autre que les pages de produits. Oui, vous aurez toujours la possibilité de passer une commande, mais voudrez-vous l’appeler un magasin, y achèterez-vous quelque chose ?

Un autre exemple est celui des forums et des chats, qui sont innombrables sur Internet. Tous sont créés dynamiquement, sans le support de cette technologie, aucun d’entre eux ne pourrait exister. Tableaux d'affichage, clubs d'intérêt, jeux et compétitions virtuels - rien de tout cela n'était visible.

Ajoutez ici tous les systèmes de paiement électronique et vous comprendrez à quel point le réseau serait appauvri s'il était privé de sites dynamiques. Ou plutôt, vous pouvez désormais imaginer ce que nous avons gagné avec l’avènement de ces nouvelles opportunités.

Inconvénients des sites Web dynamiques

Comme tout le reste dans notre monde imparfait, les sites dynamiques ont leurs inconvénients.

Le premier inconvénient est la nécessité d’utiliser des logiciels supplémentaires pour construire un site dynamique. Sur un site statique, toutes les pages sont déjà prêtes, le serveur n'a qu'à les montrer au visiteur, mais sur un site dynamique il est nécessaire d'y apporter quelques modifications, cela nécessite des solutions logicielles adaptées.

Selon la complexité du site, l'intensité de la main-d'œuvre et le coût de développement de tels programmes peuvent varier considérablement. Il existe désormais de nombreuses solutions toutes faites pour créer un site Web, y compris des solutions gratuites. Sur Internet, vous pouvez trouver des dizaines de scripts gratuits qui vous permettront de créer un forum, un babillard électronique, un club de rencontres, une boutique, etc. sur votre site Web. Mais si quelque chose de spécifique est requis, des développements supplémentaires sont nécessaires.

Le deuxième inconvénient réside dans les exigences accrues en matière de capacité matérielle des systèmes serveurs. Cet inconvénient découle directement du précédent, car Maintenant, le serveur doit encore exécuter un programme pour modifier la page du site, et ensuite seulement la présenter au visiteur. Ce problème devient particulièrement visible sur les sites à fort trafic. Souvent, dans de tels cas, il est nécessaire d'effectuer des optimisations supplémentaires du code pour le fonctionnement normal du site.

Par conséquent, le coût des services pour le contenu d'un tel site est bien plus élevé que celui d'un site statique. Bien qu'aujourd'hui, même de nombreux services d'hébergement gratuits prennent en charge la possibilité de créer des sites dynamiques, sans parler des sites payants, où tout ce dont vous avez besoin est inclus dans l'ensemble standard de services.

Le troisième inconvénient, qui découle également du premier, est la complexité des modifications structurelles importantes du site. Vous pourriez être indigné, car j'ai déjà parlé de rendre les modifications de plus en plus faciles. Mais ne vous précipitez pas, examinons cette question plus en détail. Dans ce cas, tout dépend du logiciel utilisé sur le site. C’est ce qui combine des éléments de conception et des données dans un site Web à part entière. Mais tout programme a ses limites, et si vous souhaitez obtenir quelque chose qui n'est pas fourni dans le logiciel, vous devez alors modifier le programme. Soit modifiez l'ancien, soit recherchez-en un nouveau.

Imaginez que vous ayez un forum sur votre site Web et que vous souhaitiez également qu'il y ait une discussion. Si cette option n'était pas là au départ, quelle que soit la façon dont vous modifiez la conception ou le contenu du forum, celui-ci ne pourra pas se transformer en chat. Pour cela, vous devrez changer de programme.

Malgré ces inconvénients, il existe de plus en plus de sites dynamiques sur Internet ; apparemment, les avantages que j'ai décrits précédemment l'emportent sur tous les inconvénients. Examinons maintenant ce qui est actuellement disponible sur Internet, les opportunités dont peut bénéficier une personne souhaitant créer un site Web.

Systèmes de gestion de contenu

Les technologies ne s'arrêtent pas ; les possibilités offertes pour créer des sites Web évoluent également. De nos jours, les systèmes de gestion de contenu gagnent de plus en plus en popularité. Ce que c'est? Voyons cela.

CMS est l'abréviation de Content Management System, qui signifie littéralement système de gestion de contenu de site Web. En termes simples, il s'agit du même progiciel qui vous permet de modifier la conception et le contenu du site selon vos besoins.

De nos jours, vous pouvez trouver de nombreux systèmes de ce type sur Internet, certains d'entre eux sont gratuits, d'autres payants. Les sociétés de développement proposent souvent de tels systèmes à leurs clients. Chaque système est individuel et présente ses propres avantages et inconvénients. Je veux vous parler d'un de ces systèmes, qui est utilisé sur les sites Web e-gloryon.com et qui constitue un créateur de sites Web à part entière.

Qu'est-ce que « Constructeur pour créer un site internet e-gloryon » ? Il s'agit d'un ensemble d'outils nécessaires pour créer rapidement un site Web fonctionnel et esthétique.

L'avantage de ce système par rapport aux autres est qu'il vous permet non seulement de modifier le contenu des pages du site, mais offre également la possibilité de personnaliser la conception de manière flexible. De plus, le système comprend plusieurs centaines de modèles de conception prêts à l'emploi que tout utilisateur peut utiliser sur son site Web. Et ce n'est pas la limite. Le modèle sélectionné peut être modifié à l'aide des outils du concepteur au-delà de toute reconnaissance. Toutes les opérations sont effectuées dans un éditeur visuel ; elles sont simples et intuitives.

Un autre avantage du système e-gloryon est la possibilité d'utiliser différentes structures de données sur les pages. Cela vous permettra de faire une liste des actualités de l'entreprise sur une page, et un catalogue de produits sur une autre. Et tout cela en quelques clics de souris.

L'avantage d'un système d'édition visuelle est que vous pouvez immédiatement voir à quoi ressemblera une page particulière du site. Vous n'avez pas besoin de penser à la façon dont les données sont stockées dans le système, à la façon dont la page est assemblée, remplissez-la simplement d'informations et le site est prêt. Apporter des modifications est si simple que même un enfant peut le gérer - ce n'est pas plus difficile que de taper du texte dans MS Word. Aucune connaissance en programmation ou en HTML n'est requise, ce qui permet de créer des sites Web même pour des personnes ne connaissant pas les technologies Internet.

Cette solution est très avantageuse pour les petites entreprises qui n'ont pas les moyens d'employer un programmeur, un concepteur, un maquettiste ; seul un opérateur est nécessaire pour saisir et mettre à jour les informations. Cette option est également avantageuse pour les personnes qui souhaitent créer un site Web, mais qui n’ont pas beaucoup d’expérience dans ce domaine. Et pour les clients qui ne souhaitent pas charger leurs spécialistes ou n'en ont pas, la Holding propose des services supplémentaires de création d'un site Internet (lorsqu'un site Internet à part entière est créé sur la base des informations envoyées par le client) et de mise à jour du site Internet ( Les spécialistes du holding se chargeront de tout le travail de modification du contenu du site Web à partir d'une fréquence spécifiée).

Cette technologie offre également la possibilité de créer une boutique en ligne basée sur un constructeur de site Web. Ce service n'est pas inclus dans le forfait standard, mais peut être activé moyennant des frais supplémentaires.

Le concepteur peut être utilisé aussi bien pour créer de petites présentations Internet que pour de grands sites Web d'entreprise, avec la possibilité de gérer la publicité sur les pages et de restreindre l'accès aux sections restreintes du site. Le système comprend des services standards et utiles tels que la publication d'actualités, un livre d'or, une liste de produits et bien d'autres. Les organisations qui ne peuvent pas se permettre de gaspiller de l’argent et d’utiliser les fonds choisissent judicieusement constructeur pour créer un site internet e-gloryon comme base pour développer votre activité sur Internet. C’est ce qui leur permet de développer de nouveaux marchés avec des investissements aussi mineurs.

On peut en écrire beaucoup plus sur le constructeur de sites Web e-gloryon, mais je souhaite vous inviter à vous familiariser avec ses capacités. Comme le dit la sagesse populaire, il vaut mieux voir une fois qu'entendre cent fois, et je suis d'accord avec cela, je vous propose donc de télécharger une vidéo démontrant les possibilités de créer rapidement un site Internet.

Vous avez également la possibilité de vous familiariser avec toutes ses capacités en enregistrant une version démo du constructeur. Il est entièrement fonctionnel, seule la durée d'utilisation est limitée. Essayez-le ! Si vous avez besoin d’un site Web, c’est un excellent outil pour le créer et le maintenir. De plus, la version démo est entièrement gratuite.

Conclusion

En conclusion de l'article, je tiens à dire que, malgré tous les avantages énumérés, il ne faut pas supposer que les sites dynamiques sont toujours la bonne solution. Vous devez toujours partir de la situation. S'il n'est pas nécessaire de modifier dynamiquement les données et que le site n'est pas censé être très volumineux, vous pouvez vous contenter de pages statiques. Après tout, il existe des sites d’une seule page, alors pourquoi écrire des programmes pour eux alors qu’il est plus facile de créer une page statique. Mais cela n’est pas possible dans tous les cas.

Comme je l'ai déjà dit, il faut partir de l'opportunité d'utiliser l'un ou l'autre outil pour créer un site Internet. Ici, vous devez prendre en compte à la fois les coûts financiers et de main-d'œuvre initiaux et ultérieurs nécessaires à l'entretien du site.

Et je veux aussi donner un conseil, ne vous précipitez pas pour utiliser des solutions logicielles gratuites pour créer votre site internet, car... Généralement, les produits gratuits coûtent beaucoup plus cher que ce que vous achetez avec de l’argent.

Alors que vous travaillez jour après jour pour mettre à jour le contenu de votre site Web avec du contenu intéressant, vous vous demandez probablement que des centaines de nouveaux sites Web sont créés chaque jour et que des centaines de nouveaux documents sont ajoutés chaque jour. Comment tous ces nouveaux tableaux de pages sont-ils créés et comment sont-ils mis à jour si rapidement ? Tout cela n’est pas aussi difficile qu’il n’y paraît à première vue, puisqu’il utilise le concept de pages Web dynamiques.

Dans cet article, nous examinerons les étapes de création d'un mécanisme de publication de communiqués de presse sur un site Web. Notre site connectera à la volée les communiqués de presse stockés dans la base de données avec des pages Web modèles. Notre objectif n’était pas de présenter aux lecteurs les bases des outils de développement de sites Web, puisque de nombreux livres et articles ont été écrits à ce sujet. Cet article est principalement destiné aux utilisateurs qui ont déjà de l'expérience dans la création de pages Web et de sites simples. Notre objectif principal est de vous montrer comment commencer à développer votre premier site Web dynamique. Pour comprendre l'article, il est conseillé d'avoir des connaissances de base en architectures de systèmes d'information, en langage de balisage hypertexte (HTML) et en langage de programmation Perl. Pour créer ce site, nous utiliserons trois technologies open source puissantes : Apache, MySQL et Perl/DBI.

Qu'est-ce qu'un site Web statique ?

Avant de vous lancer dans le développement d'un site Web dynamique, il est important de comprendre ce qu'est un site Web statique et les pages Web statiques qui en constituent le cœur. Les pages Web statiques sont créées manuellement, puis enregistrées et téléchargées sur le site. Chaque fois que le contenu d'une telle page doit être modifié, l'utilisateur le modifie sur son ordinateur de travail, généralement à l'aide d'un éditeur HTML, l'enregistre puis le télécharge à nouveau sur le site Web. En examinant de près certains portails, par exemple CNN.com ou BBC.co.uk, vous pourriez penser que ces sociétés attirent une armée de concepteurs de mise en page pour mettre à jour le contenu de leurs sites. En fait, il existe une meilleure solution : utiliser le concept d'un site Web dynamique.

Qu'est-ce qu'un site Web dynamique ?

Chaque page rendue de sites Web dynamiques est basée sur une page modèle dans laquelle est inséré un contenu en constante évolution, généralement stocké dans une base de données. Lorsqu'un utilisateur demande une page, les informations pertinentes sont récupérées de la base de données, insérées dans un modèle pour former une nouvelle page Web et envoyées par le serveur Web au navigateur de l'utilisateur, qui les affiche correctement. Outre le contenu informatif, les éléments de navigation d'un site Web peuvent également être créés de manière dynamique. De cette façon, si vous devez mettre à jour le contenu de votre site, il vous suffit d'ajouter du texte pour la nouvelle page, qui est ensuite inséré dans la base de données selon un mécanisme spécifique. Le résultat est que le site Web semble se mettre à jour tout seul.

Créer un site dynamique

La première chose dont vous avez besoin pour créer un site dynamique est un serveur Web, tel qu'Apache.

Un serveur Web peut être utilisé pour servir une boutique électronique, un serveur de nouvelles, un moteur de recherche, un système d'enseignement à distance et même pour tous les domaines ci-dessus. Le choix d'un serveur Web dépend du type d'activité qu'un individu ou une organisation souhaite exercer sur Internet.

Peu de décisions commerciales stratégiques sont aussi importantes que le choix d’une plateforme de serveur Web. Les caractéristiques du serveur sont un facteur extrêmement important qui détermine la fiabilité du nœud, sa réactivité aux demandes des clients, ainsi que les efforts à déployer pour le maintenir en état de fonctionnement. Avec le bon choix de composants et une conception de qualité, un site Web peut devenir un nouveau moyen plus pratique pour les clients et partenaires d'interagir avec votre entreprise. La surcharge du serveur Web peut rendre le serveur de base de données ou une autre ressource indisponible pour les clients.

Jusqu'à récemment, les grandes entreprises s'appuyaient sur Microsoft Internet Information Server, Netscape FastTrack, IBM WebSphere et Apache était principalement utilisé par les petites entreprises. Cependant, la situation a maintenant quelque peu changé et Apache commence à soutenir les performances de certains grands projets Internet, notamment Yahoo.

Vous pouvez retrouver la version complète de l’article sur notre CD-ROM.

Apache fournit des fonctionnalités riches qui vous permettent de personnaliser votre serveur Web pour répondre aux besoins des utilisateurs individuels et professionnels. La configuration se fait à l'aide de directives contenues dans les fichiers de configuration. Apache vous permet de créer des sites Web virtuels et fait également office de serveur proxy. Si vous souhaitez donner accès au contenu du serveur à un nombre limité de personnes seulement, le serveur Web peut être configuré de sorte que lors de l'accès aux répertoires spécifiés, le serveur vérifie les noms de connexion et les mots de passe dans sa propre base de données ou dans l'une des bases de données qui y sont connectées. .

Ensuite, vous devez décider comment vous allez stocker le contenu affiché sur la page Web. Dans cet article, à l'aide d'un exemple spécifique, nous montrerons comment créer une base de données dans le SGBD MySQL, ce qui nous permettra de diviser le contenu Web en tables contenant des champs et des enregistrements de données. Un champ est une unité discrète de données dans une table. Par exemple, on peut créer une table tbl_news_items avec les champs col_title, col_date, col_fullstory, col_author. Le SGBD MySQL est un excellent choix pour créer une telle base de données en raison de sa facilité d'utilisation et d'administration, de sa distribution gratuite pour diverses plates-formes, notamment Linux et Windows, et de sa popularité croissante.

Après cela, nous créerons des pages de modèles HTML dynamiques. Pour développer des applications permettant d'interagir avec la base de données et les modèles, nous utiliserons le langage Perl.

En fait, il faut créer trois programmes Perl, ou scripts : l'un affichera des liens vers tous les communiqués de presse disponibles (pr-list-dbi.pl), l'autre affichera le contenu du communiqué de presse sélectionné (pr-content-dbi.pl). .pl) , et la troisième nous permettra d'ajouter le dernier communiqué de presse à la base de données (pr-add-dbi.pl). Le travail de mise en page peut être confié à votre éditeur HTML préféré, par exemple Allaire HomeSite (http://www.allaire.com/). N'oubliez pas que lors de la création d'un modèle, vous devez laisser des zones vides dans lesquelles sera inséré du contenu dynamique (de longueur variable, bien sûr).

Une fois que vous avez développé la conception globale de vos communiqués de presse, insérez simplement vos mots-clés spécifiques dans les espaces vides ci-dessus (voir ci-dessous pour en savoir plus). Lorsqu'un utilisateur demande un communiqué de presse, le serveur Web traite le code Perl et remplace les mots-clés des modèles par du contenu extrait de la base de données, c'est-à-dire un communiqué de presse spécifique.

La dernière chose à faire est de télécharger vos modèles sur le serveur Web dans des répertoires spécifiques. Vous pouvez utiliser le client FTP CuteFTP (http://www.cuteftp.com/), mais nous préférons utiliser le shell de fichiers FAR. Deux choses importantes à retenir : premièrement, les fichiers modèles doivent avoir des noms se terminant par .pl, et deuxièmement, ils doivent avoir une autorisation exécutable (sur les systèmes UNIX, chmod 0755 template_name.pl). C'est tout!

Ajout de fonctionnalités

Il n'est pas particulièrement difficile d'ajouter des fonctionnalités au mécanisme de publication des communiqués de presse. Vous pouvez trier les liens vers les communiqués de presse disponibles dans la base de données par date ou par titre, en les regroupant par année. Ou, par exemple, vous souhaiterez peut-être afficher un communiqué de presse aléatoire sur votre page Web, fournissant des informations de temps en temps aux visiteurs, quelle que soit la date à laquelle il a été publié. Mais la fonctionnalité la plus importante et la plus utile sera peut-être d'ajouter un formulaire HTML pour saisir le contenu du communiqué de presse et de développer un programme CGI en Perl pour traiter ce formulaire puis placer le document dans la base de données. Rappelons que CGI (Common Gateway Interface) est un protocole, un mécanisme ou un accord formel entre un serveur Web et un programme distinct. Le serveur code les données d'entrée, telles que les formulaires HTML, et le programme CGI les décode et génère un flux de données de sortie. La spécification du protocole ne dit rien sur un langage de programmation spécifique. Par conséquent, les programmes conformes à ce protocole peuvent être écrits dans presque tous les langages : C, C++, Visual Basic, Delphi, Tcl, Python ou, comme dans notre cas, Perl.

Résumons quelques résultats. Nous espérons que cet article vous aidera à apprécier les avantages du concept de pages Web dynamiques par rapport aux pages statiques. L'application de ce concept réduira le travail manuel, aidera à répartir la charge de travail du serveur et vous permettra d'augmenter rapidement la quantité de contenu sur le site. La combinaison d'Apache, MySQL et Perl fournira un environnement de développement multiplateforme et évolutif pratiquement gratuit, facile à utiliser, flexible à installer et à configurer. Nous ne considérerons pas ici les spécificités de leur installation, car, d'une part, il n'y a tout simplement pas assez d'espace alloué pour cet article, et d'autre part, chacun de ces outils est accompagné d'une documentation très détaillée.

Création d'une base de données dans le SGBD MySQL

Développement de modèles de bases de données

La première et la plus importante étape de la création d’une base de données consiste à développer son modèle. Alors, commençons.

Étape 1

Nous devons nommer la base de données d'une manière ou d'une autre. Appelons-le db_website.

Étape 2

Il est nécessaire de déterminer ce que contiendront exactement les tables de la base de données. Une base de données peut contenir des centaines de tables. Au début, nous n'aurons besoin que d'une seule table pour stocker nos communiqués de presse. Appelons-le tbl_news_items.

Étape 3

Nous devons définir les champs que contiendra notre table. Ces champs représenteront tous les éléments du communiqué. Notre exemple utilise cinq champs : col_id (identifiant numérique du communiqué), col_title (titre), col_date (date de publication), col_fullstory (contenu), col_author (nom de l'auteur). Le champ col_id contiendra un identifiant unique par lequel l'utilisateur pourra interroger le contenu d'un communiqué de presse spécifique.

Création de base de données

Nous devons maintenant établir une connexion au SGBD MySQL et créer notre base de données. Ci-dessous, nous allons vous montrer comment procéder à partir de la ligne de commande. Cependant, il existe de nombreux systèmes de gestion, ou gestionnaires de SGBD MySQL, qui permettent de l'administrer à l'aide d'une interface graphique conviviale.

Tout d’abord, vous devez impérativement connaître les bases du langage de requête SQL (Structured Query Language). Le package MySQL DBMS comprend une description complète de la spécification SQL prise en charge. Ce langage est facile à comprendre car ses opérateurs et leurs constructions sont faciles à comprendre et à mémoriser. Pour travailler, vous aurez besoin d'opérateurs pour créer (CREATE ou INSERT), sélectionner (SELECT) et supprimer (DROP ou DELETE), ainsi que pour les modifier (UPDATE, MODIFY). Dans des exemples spécifiques, nous n’en utiliserons que quelques-uns.

Pour éviter de créer des comptes d'utilisateurs et d'attribuer les droits d'accès nécessaires, supposons que vous utilisez le compte administrateur (root).

Étape 1

Ouvrez une fenêtre de terminal (si vous travaillez dans le shell graphique X Window du système d'exploitation Linux ou Windows 9x/NT/2000) et établissez une connexion au SGBD MySQL en entrant mysql sur la ligne de commande. Vous devriez être invité à saisir les commandes mysql> en réponse.

Étape 2

Créons notre base de données en entrant :

CRÉER UNE BASE DE DONNÉES db_website ;

Après avoir saisi chaque commande, n'oubliez pas de taper le symbole (;). Ceci est très important car cela signale la fin de la saisie de la commande dans MySQL.

Utiliséb_website ;

Étape 4

Créons une table tbl_news_items, où nous définissons le type de données qui seront stockées dans ses champs. Entrer:

1. CREATE TABLE tbl_news_items (2. col_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3. col_title VARCHAR(100), 4. col_author VARCHAR(100), 5. col_body TEXT, 6. col_date DATE 7.);

Étape 5

Maintenant que nous avons créé une table pour stocker nos données, nous devons la remplir avec quelques exemples de données. Notez que dans la commande suivante, nous ne définirons pas le champ col_id car il est automatiquement renseigné à mesure que de nouvelles données sont ajoutées. Gardez également à l’esprit que la syntaxe de la date est<год/месяц/день>. Ainsi, à l’invite de commande mysql>, entrez la commande suivante.

8. INSERT INTO tbl_news_items (col_title, _ col_author, col_body, col_date) 9. VALEURS (10. 'Mon premier communiqué de presse', 11. 'Votre nom', 12. 'Ce communiqué de presse est stocké dans la base de données MySQL', 13 '2001/4/15' 14.);

Entrez quelques requêtes d'insertion similaires supplémentaires. Pour afficher ce qui est stocké dans la base de données, à l'invite de commande mysql>, saisissez :

SELECT * FROM tbl_news_items ;

Création de pages Web dynamiques en Perl

Préparation au travail

Pour exécuter des programmes Perl, vous aurez besoin d'un interpréteur Perl version 5.005 ou 5.6 des distributions Perl Standard ou ActiveState Perl pour UNIX ou Win32. Si vous développez des applications à exécuter sous Win32, le package d'ActiveState est un peu plus pratique à utiliser et comprend également un utilitaire PPM pour installer des modules supplémentaires.

Pour organiser l'interaction de nos programmes Perl avec le SGBD MySQL, il est nécessaire que le module DBI soit inclus dans la distribution Perl. Étant donné que le module ne fait rien lui-même, mais déplace toutes les opérations d'interaction avec les bases de données vers le pilote correspondant, l'installation de la bibliothèque DBD-Mysql (pilote de base de données MySQL pour le module DBI) est requise. Comme l'a déclaré Tim Bunce, l'auteur et développeur du module spécifié, « DBI est une API permettant d'organiser l'accès aux bases de données à partir des programmes Perl. La spécification de l'API DBI définit un ensemble de fonctions, de variables et de règles utilisées pour s'interfacer de manière transparente avec les bases de données.

Le concept de pilotes de base de données est très pratique, puisque dans votre application Perl, vous utilisez des appels DBI standard, qui sont ensuite transmis par les modules au pilote approprié, qui, à son tour, interagira directement avec la base de données, sans que vous ayez besoin d'étudier les spécifications techniques. caractéristiques de chaque SGBD spécifique. Il existe donc des pilotes DBD::Sybase, DBD::Oracle, DBD::Informix, etc. (Fig. 1,).

Allons un peu au-delà du cadre de l'article. Supposons que le package DBI n'inclut pas de pilote pour un SGBD spécifique. Dans ce cas, le pont DBD-ODBC viendra à la rescousse. Il suffit de créer une nouvelle source de données (Data Source Name) pour le pilote ODBC (Open DataBase Connectivity), où vous devez sélectionner le type de ce SGBD, l'adresse de l'hôte auquel vous souhaitez établir une connexion, le nom de la base de données et les données d'autorisation, c'est-à-dire le nom d'utilisateur et le mot de passe (Fig. .3). Et puis, à l'aide du module DBI, interagissez avec la base de données. De plus, ActiveState Perl est généralement livré en standard avec un module Win32 :: ODBC (Win32-ODBC). Travailler avec lui est un peu différent de travailler avec DBI, mais globalement très similaire. La seule différence est que Win32 :: ODBC est un module uniquement pour les systèmes Win32 et vous permet de travailler avec les fonctions ODBC natives plus efficacement que DBD :: ODBC.

Un parallèle peut être fait entre ODBC et DBI. DBI est un analogue de l'administrateur ODBC (gestionnaire de pilotes de base de données). Chaque pilote DBD correspond dans ses fonctions à un pilote ODBC. La seule chose qui pourrait vous dérouter est le fait que, comme mentionné ci-dessus, il existe un pilote DBD :: ODBC. Mais cela vous permet uniquement d'établir une communication DBI avec les pilotes ODBC.

Pour installer DBI et DBD-Mysql, à l'aide de l'utilitaire PPM dans un environnement Win32, saisissez sur la ligne de commande :

Ppm installer DBI

Veuillez noter que votre ordinateur doit être connecté à Internet à ce stade. Si vous disposez du module correspondant sur votre disque local, utilisez les informations d'aide en entrant la commande :

ppm aide à l'installation

Pour les utilisateurs UNIX, l'installation du module DBI sera presque la même que l'installation d'autres modules Perl :

Tar –zxvf DBI-1.06.tar.gz cd DBI-1.06/ perl Makefile.PL make make test make install

Vous pouvez également utiliser le shell CPAN. Si la version UNIX du package ActiveState est installée sur votre ordinateur, vous pouvez également travailler avec l'utilitaire d'installation PPM. Il arrive parfois que les shells CPAN et PPM ne fonctionnent pas si un pare-feu ou un pare-feu est installé sur le réseau d'entreprise auquel votre ordinateur est connecté. Dans ce cas, seuls les modules dont les codes sources sont téléchargés manuellement vous aideront. Pour les installer et vous connecter à Perl ou Apache, vous aurez besoin d'un interpréteur Perl, d'un compilateur C/C++ ou GCC/PGCC, et d'un des utilitaires make build (issu d'un des clones UNIX, ainsi que Microsoft Visual C++), nmake ou dmake. Ainsi, la procédure d'installation des modules devient un peu plus compliquée. Presque tous sont livrés avec une documentation de « build », vous ne devriez donc pas avoir trop de problèmes.

Afficher une liste d'articles

Maintenant que vous disposez d’une base de données de communiqués de presse fonctionnelle, vous pouvez facilement la connecter à votre page Web. Commençons par créer une page simple qui affiche une liste de tous les communiqués de presse disponibles. Notez que par défaut le serveur Web Apache pense que tous vos documents doivent être dans son répertoire htdocs et que vos exécutables doivent être dans cgi-bin. Par conséquent, vous devez placer tous les fichiers avec l'extension .pl dans le répertoire cgi-bin. À leur tour, les fichiers de modèle HTML créés doivent être placés dans le répertoire tpl. La hiérarchie des répertoires ressemblera à ceci :

/ (racine de n'importe quel disque) /local /local/usr /local/usr/bin /local/usr/cgi-bin /local/usr/htdocs /local/usr/tpl

Pour les systèmes DOS/Windows, le chemin vers cgi-bin peut ressembler à ceci :

C:\local\usr\cgi-bin

Étape 1

À l'aide de votre éditeur de texte préféré, créez un fichier pr-list-tpl.htm :

15. 16. 17. Communiqués de presse 2001 18. 19. 20. @BLOQUER@ 21.

22.

Ce fichier est destiné à afficher une liste de tous les communiqués de presse disponibles.

Étape 2

Créez un fichier pr-list-block-tpl.htm qui affichera chaque bloc avec le communiqué trouvé sous forme de tableau :

23.

24. 25. 26.
@TITRE@
@AUTEUR@, _ @DATE@

Étape 3

Créez un fichier pr-content-tpl.htm qui affichera le contenu du communiqué de presse :

27. 28. 29. Communiqués de presse 2001 : @TITLE@ 30. 31. 32.

@TITRE@

33. 34. 35. 36. 37.
@TITRE@
Auteur: @AUTEUR@ Date : @DATE@
@CORPS@
38. Afficher la liste des communiqués de presse.. 39.

40.

Étape 4

Créez un script Perl pr-list-dbi.pl qui lira les données de la base de données db_website et, à l'aide de fichiers HTML modèles, affichera une liste de communiqués de presse (vous pouvez trouver le texte de ce script sur notre CD).

Passons maintenant à la liste des codes et voyons comment fonctionne le programme d'affichage d'une liste de communiqués de presse.

Les lignes 1 à 9 sont comme un bloc d'initialisation dans lequel toutes les variables globales et constantes sont déclarées :

41. #!/local/usr/bin/perl 42. 43. utilisez DBI ; 44. $dbh = DBI->connect('dbi:mysql:db_website','root',''); 45. $path = "/local/usr/tpl"; 46. ​​​​​​$TPL_LIST = "$chemin/pr-list-tpl.htm"; 47. $TPL_LIST_BLOCK = "$chemin/pr-list-block-tpl.htm"; 48. 49. print "Content-type:text/html\n\n";

Nous indiquons d'abord au serveur Web Apache le chemin d'accès à l'interpréteur Perl, qui s'exécute lorsque le script est demandé, le vérifie pour les erreurs, puis l'exécute. Ensuite, nous déclarons le module DBI (DataBase Interface), dont les méthodes seront utilisées dans le programme pour interagir avec la base de données (ligne 3). Nous établissons ensuite une connexion à notre base de données db_website(4) en utilisant root (administrateur) comme nom d'utilisateur de connexion et une chaîne vide (la valeur par défaut) comme mot de passe. Dans la variable $path nous indiquons le chemin où se trouvent les fichiers du modèle HTML (5). Dans les variables $TPL_LIST et $TPL_LIST_BLOCK nous indiquons respectivement leurs noms (6, 7). Ensuite, nous indiquons au serveur Web que toutes les données sortantes doivent être présentées au format texte/html MIME pour afficher le flux HTML vers le navigateur de l'utilisateur (9).

Les lignes 11 à 22 représentent le corps du programme :

50. 51. open(L, "$TPL_LIST"); 52. tandis que ($line1= ) ( 53. chomp($line1); 54. if ($line1=~/\@BLOCK\@/) ( 55. read_db(); 56. ins_data(); 57. ) else ( 58. print "$line1 \n"; 59. ) 60. ) 61. fermer(L); 62. 63. $dbh->déconnexion;

Ouvrez le fichier modèle pr-list-tpl.htm (11) et parcourez-le en boucle (12-20), en écrivant chaque ligne lue dans la variable $line. Lors de chaque itération, on vérifie la présence du mot-clé @BLOCK@ (14-19) dans cette ligne, ce qui signifie qu'un bloc avec un communiqué doit être inséré à cet endroit. Dès qu'il est trouvé, nous appelons les procédures read_db() et ins_data().

Les lignes 26 à 39 constituent le corps de la procédure read_db(), conçue pour lire le contenu de la table tbl_news_items, qui stocke nos communiqués de presse :

64. 65. 66. sub read_db ( 67. $c=0; 68. my($sql) = "SELECT * FROM tbl_news_items"; 69. $rs = $dbh->prepare($sql); 70. $rs ->exécuter; 71. while (my $ref = $rs->fetchrow_hashref()) ( 72. $id[$c] = "$ref->('col_id')"; 73. $title[$c] = "$ref->('col_title')"; 74. $author[$c] = "$ref->('col_author')"; 75. $date[$c] = "$ref->(' col_date')"; 76. $c++; 77. ) 78. $rs->finish(); 79. )

Nous initialisons le compteur $c=0, faisons une requête pour sélectionner toutes les données de la table (28), exécutons la requête (29, 30) et récupérons les données dans le jeu d'enregistrements (recordset) $rs. Ensuite, dans la boucle (31-37), nous extrayons les données du jeu d'enregistrements en utilisant la méthode fetshrow_hashref et en renvoyant un lien vers le tableau associatif %ref (31), contenant les noms et valeurs des champs de l'enregistrement actuel. Nous écrivons les données extraites (32-35) dans les tableaux habituels @id, @title, @author et @date correspondant à leurs types. Nous fermons l'ensemble d'enregistrements (38).

Lignes 41 à 53 - le corps de la procédure ins_data(), qui implémente l'insertion des données extraites de la base de données dans le flux de données sortant ; lignes 55 à 63 - le corps de la procédure pr_block(), appelée en boucle depuis la procédure ins_data() :

80. 81. sub ins_data ( 82. $toread = "pr-read-dbi.pl"; 83. pour ($i=0; $i<$c; $i++) { 84. $line = &pr_block; 85. 86. $line =~ s/\@NUMBER\@/$id[$i]/; 87. $line =~ s/\@TITLE\@/$title[$i]/; 88. $line =~ s/\@AUTHOR\@/$author[$i]/; 89. $line =~ s/\@DATE\@/$date[$i]/; 90. $line =~ s/\@READ\@/$toread/; 91. print "$line"; 92. } 93. } 94. 95. sub pr_block { 96. my($block) = ‘’; 97. open (B, "$TPL_LIST_BLOCK"); 98. while ($line=) ( 99. $block = $block.$line; 100. ) 101. close(B); 102. retour ($bloc); 103.)

Ainsi, après avoir reçu la valeur maximale du compteur $c à la suite de la procédure read_db(), dans la boucle (43-52) nous lançons la procédure pr_block(), qui lit le contenu du modèle HTML pr-list- block-tpl.htm et l'écrit dans la variable $block (59), dont la valeur est ensuite renvoyée (62) à la variable $line (44) de la procédure ins_data(). Plus loin dans la même boucle on remplace (46-50) les mots-clés @NUMBER@, @TITLE@, @AUTHOR@, @DATE@, @READ@ trouvés dans le flux sortant $line par les valeurs du tableau correspondant à cette itération de la boucle ($i) @id, @title, @author, @date et la variable $toread.

Impression du texte du communiqué de presse

Après avoir affiché une liste de tous les communiqués de presse disponibles dans la base de données (Fig. 4), nous devons donner à l'utilisateur la possibilité de visualiser le texte de chacun d'entre eux (vous pouvez également trouver le script correspondant sur notre CD).

Le nouveau script pr-read-dbi.pl sera légèrement différent du pr-list-dbi.pl que nous avons déjà créé.

Cette liste est similaire à 98 % à la liste 1, bien qu'il existe quelques différences mineures :

  • la bibliothèque CGI est connectée pour lire le paramètre id (9) à partir de la chaîne de requête (par exemple, http://localhost/cgi-bin/pr-content-dbi.pl?id=1) ;
  • un seul modèle HTML est utilisé (pr-content-tpl.htm) ;
  • la requête de la base de données est complétée par une instruction SQL WHERE conditionnelle pour récupérer toutes les données correspondant à un communiqué de presse spécifique par col_id ;
  • Le champ col_body avec le texte du communiqué de presse sélectionné est également lu dans la base de données.

Création d'un nouveau communiqué de presse

Étendons les fonctionnalités de notre système en ajoutant la possibilité de créer de nouveaux communiqués de presse, sans avoir besoin de travailler directement avec la base de données pour reconstituer la table tbl_news_items avec de nouvelles informations.

Ainsi, le nouveau programme Perl (qui, comme les deux précédents, est sur CD) différera des précédents principalement par le fait qu'il n'est pas destiné à afficher des données, mais à les ajouter à la base de données. Par conséquent, nous devons légèrement modifier la partie chargée d'interagir avec la base de données en utilisant la requête INSERT SQL et les opérateurs du module DBI correspondants.

Les lignes 12 à 18 constituent le corps du programme principal :

12. if ($cmd ne "add") ( 13. &show_form; 14. ) else ( 15. $dbh = DBI->connect('dbi:mysql:db_website', _ 'root',''); 16. &add_pr; 17. dbh->déconnecter ;

Ici, nous vérifions si la commande d'ajout du communiqué de presse à la base de données a été reçue. Dès son arrivée, nous établissons une connexion à la base de données (15), exécutons le sous-programme app_pr() (16) et terminons la connexion (17). S'il n'y avait pas de commande, alors nous affichons simplement le formulaire de remplissage (13) pour les données du communiqué de presse - la procédure show_form().

Les lignes 20 à 36 constituent le corps du communiqué de presse ajoutant la procédure pr_add() :

19. 20. sub add_pr ( 21. $title = $q->param("pr_title"); 22. $author = $q->param("pr_author"); 23. $body = $q->param( "pr_body"); 24. $body =~ s/\r\n/
/g; 25. 26. my($sql) = "INSERT INTO tbl_news_items (col_title,col_author,col_body,col_date) VALEURS (\'$title\',\'$author\',\'$body\',CURDATE()) " ; 27. $rs = $dbh->do($sql); 28. 29. if ($@) ( 30. $rc = $dbh->rollback; 31. ) else ( 32. $rc = $dbh->commit; 33. ) 34. 35. print "Emplacement : /cgi -bin/pr-list-dbi.pl\n\n"; 36.)

Tout d'abord, nous traitons les données du formulaire (22-25), composons une requête SQL (27) et l'exécutons (27) en utilisant la méthode DBI $dbh->do(). Étant donné que la procédure d'insertion des données dans la base de données est effectuée ici, vous devez veiller à la possibilité d'annuler l'opération en cas d'échec. Pour ce faire, nous avons inséré le code pour annuler la transaction et revenir à l'état précédent (30-34). Si $dbh->do() échoue, nous rejetons les modifications apportées (31). S'il n'y a pas d'échec, alors nous confirmons les modifications apportées (33). Ensuite, après toutes les étapes, on se rend simplement sur la page contenant la liste de tous les communiqués de presse (36).

Les lignes 37 à 55 constituent le corps de la procédure de sortie du formulaire permettant de saisir des informations sur un nouveau communiqué de presse (en utilisant le modèle HTML dont le nom est spécifié dans la variable $TPL_INSERT, pr-add-tpl.htm) :

37. 38. sub show_form ( 39. print "Content-type:text/html\n\n"; 40. 41. open (L, "$TPL_INSERT"); 42. while ($line= ) ( 43. chomp($line); 44. if ($line=~/\@/) ( 45. if ($line=~/\@ADD\@/) ( 46. $toadd = "pr-add -dbi.pl"; 47. $line =~ s/\@ADD\@/$toadd/; 48. ) else ( 49. $tolist = "pr-list-dbi.pl"; 50. $line =~ s/\@LIST\@/$tolist/; 51. ) 52. ) 53. print "$ligne\n" 54. ) 55. close(L);

Surcharge du système

Puisque vous développez un site Web dynamique, la quantité d’informations qu’il contient peut augmenter très rapidement. De plus, à mesure que la popularité de votre ressource augmente, le nombre de ses visiteurs augmente également, ce qui peut entraîner une surcharge du serveur, c'est-à-dire une diminution des performances du système. Avant de commencer à chercher des moyens d'augmenter la puissance du matériel et d'essayer de trouver une nouvelle configuration système, vous pouvez essayer d'éliminer l'une des causes possibles d'une consommation excessive de RAM. Le coupable pourrait être le même Perl. Le fait est qu'à chaque fois que vous accédez à l'un ou l'autre script Perl, le serveur Web charge l'interpréteur dans la RAM (il occupe 500-1000 Ko sur le disque dur), et ce dernier analyse le programme du début à la fin à la recherche de syntaxe les erreurs . Après cela, il le lit à nouveau, initialisant les variables et les fonctions, lisant les données d'entrée (paramètres), traitant et renvoyant les résultats. Pouvez-vous imaginer ce qui se passerait si des centaines de visiteurs de votre site souhaitaient consulter vos communiqués de presse en même temps ?

Pour accélérer ce processus, des solutions spéciales ont été créées, qui sont des modules supplémentaires pour le serveur Web Apache - mod_fastcgi et mod_perl.

Le module FastCGI (mod_fastcgi) implique l'utilisation généralisée d'outils d'échange de données entre les processus en cours (tâches) du système d'exploitation. Lorsque le serveur Web démarre, il active un programme CGI et laisse ce programme ainsi que plusieurs copies de celui-ci s'exécuter en arrière-plan. Toutes les demandes adressées au programme seront simplement transférées vers des copies déjà actives, ce qui soulagera le serveur de la charge supplémentaire associée à la réactivation du processus.

Le module mod_perl permet de charger Perl dans la RAM dans le même espace d'adressage que le serveur Web Apache lui-même, et de laisser Perl en mémoire jusqu'à ce que ce dernier se termine, empêchant ainsi le chargement de la prochaine copie de l'interpréteur lors de l'accès à un programme CGI. Ce module est utilisé plus souvent que FastCGI car il ne nécessite aucune modification du programme.

OrdinateurPress 6"2001

Lien indexé direct vers le site- il s'agit d'un lien non fermé avec des balises et/ou attributs HTML interdits, ainsi que sans aucune redirection (redirections). Par exemple, si vous décidez de placer un lien vers mon site sur votre site/blog, il est conseillé de ne pas le cacher aux robots de recherche avec l'attribut nofollow d'interdiction. Si vous décidez de créer un lien vers l'une de mes pages, veuillez ouvrir le lien pour l'indexation. Je serais reconnaissant pour les liens indexés directs vers mon site.
Si vous utilisez du contenu graphique/textuel ou tout fragment/citation emprunté à ce site sur votre site Web/blog, le lien vers le site Web doit être sans aucun attribut d'interdiction et/ou redirection.

Qu'est-ce que TFP et FTP, quelle est la différence ?

Les abréviations TFP et FTP n'ont rien de commun entre elles. La seule chose qui les unit est la consonance de la prononciation, qui peut dérouter quelqu'un.
TFP - (Délai d'impression), traduit par « temps par impression ». Ce terme est utilisé par les photographes et les mannequins. Le TFP est une sorte de monnaie utilisée par les représentants de l'industrie photo. TFP, en règle générale, est garanti par un accord entre le modèle et le photographe, afin d'éviter toutes sortes de problèmes liés aux droits d'auteur, etc.
Lorsqu'un modèle accepte TFP, cela signifie qu'elle est prête à travailler gratuitement pendant un certain temps, et pour le travail elle recevra ses photographies (toutes ou partie, avec ou sans traitement).
Parlons maintenant de FTP.
FTP (protocole de transfert de fichiers) est un protocole de transfert de fichiers utilisé par les développeurs Web et autres. Pour travailler avec le serveur via ce protocole, utilisez un client FTP - il s'agit d'un programme qui fonctionne directement avec le serveur FTP.
Le protocole FTP est utilisé pour transférer des documents réseau, tels que HTML, PHP, CSS, JPEG, etc., depuis l'appareil privé du développeur vers le serveur d'hébergement. Le même protocole est utilisé pour télécharger les documents réseau du serveur vers l’appareil privé du développeur.

Qu'est-ce qu'une extension de fichier ?

Extension de fichier, ou plutôt, une extension de nom de fichier est une séquence de certains caractères ajoutés au nom d'un fichier. Ces caractères sont destinés à identifier le type, ou comme on dit, le format de fichier. Une extension de nom de fichier n'est rien de plus qu'une combinaison de lettres et/ou de chiffres qui vient après le dernier point d'un nom de fichier, par exemple fotograf.gif, où « fotograf » est le nom du fichier et « .gif » est son extension. . Il existe un grand nombre d'extensions de fichiers, mais elles correspondent toutes à certaines normes et domaines d'application. Mais si vous souhaitez créer votre propre extension originale pour un fichier, par exemple nom_fichier.fotograf, pas de problème ! Mais le système d'exploitation Windows ne pourra pas ouvrir un tel fichier s'il n'y a pas de programme correspondant sur votre ordinateur qui voit cette extension. Par exemple, si sur le système d'exploitation Windows vous souhaitez ouvrir un fichier avec l'extension .gif, ce système d'exploitation connaît cette extension et ouvrira une image. Mais si vous souhaitez ouvrir un fichier avec l'extension .fotograf, un tel fichier ne s'ouvrira pas, car le système d'exploitation Windows n'est pas familier avec une telle extension. Un fichier avec cette extension peut être ouvert dans une application prenant en charge cette extension.

Qu'est-ce qu'un site de cartes de visite, qu'y a-t-il ?

Site de cartes de visite est un site Web dont l'objectif principal est de présenter au public des informations sur une entreprise ou un individu. Un tel site est généralement constitué d'un petit nombre de pages statiques ou dynamiques.
Les pages du site Web des cartes de visite doivent contenir des informations de base sur l’entreprise/l’individu, les biens qu’ils produisent et des informations sur leurs services. Il peut s'agir de pages contenant des listes de prix, des informations de contact et, bien sûr, un formulaire de commentaires. En règle générale, le site Web de cartes de visite d’un photographe se distingue des autres sites similaires par son design exquis et son abondance de photographies. Le site Internet du photographe doit avoir son portfolio et ses contacts. Depuis peu, on trouve de plus en plus souvent un site de cartes de visite dont certaines pages sont construites sur la technologie FLASH, ou entièrement sur FLASH.
Sites FLASH ont l'air bien, mais ces sites sont actuellement très mal indexés par les moteurs de recherche, voire pas du tout.

Qu'est-ce qu'une page Web/un site Web dynamique ?

Page Web dynamique- il s'agit d'une page sur laquelle le contenu ou une partie de celui-ci peut être généré (modifié) en temps réel sans impliquer de mouvements corporels supplémentaires. Pour les pages liées dynamiquement, un moteur est utilisé - CMS (système de gestion de contenu).
Comment ça fonctionne? Par exemple, la page que vous voyez actuellement dans la fenêtre du navigateur n'existe pas sous cette forme. Il est assemblé à partir de pièces distinctes (modèles), qui sont assemblées par le serveur en un tout. Autrement dit, lorsqu'une page est demandée, le serveur Web traite la demande et assemble immédiatement « à la volée » une page Web à partir de parties distinctes et nous l'envoie pour visualisation dans le navigateur. Seul le contenu de la page change, mais le modèle de page reste inchangé.
Imaginez un placard comportant plusieurs étagères avec des objets différents. Sur une étagère se trouvent du contenu textuel (base de données), sur l'autre - des fichiers graphiques (photos, éléments de conception graphique), sur la troisième - des scripts (par exemple, des scripts PHP), sur la quatrième - des styles CSS, etc. Ainsi, lorsque le serveur reçoit une demande pour tel ou tel contenu, il sait où tout se trouve et assemble rapidement pour nous une page à partir des éléments nécessaires : il extrait le contenu textuel nécessaire de la base de données, les fichiers graphiques nécessaires des graphiques. étagère, etc. En modifiant une partie du modèle en un seul endroit, ces modifications sont appliquées à toutes les pages du site.

Qu'est-ce qu'une page Web/un site Web statique ?

Page Web statique est un document Web qui se trouve sur le serveur sous la forme dans laquelle l'utilisateur le voit dans son navigateur. Autrement dit, un tel document n'est pas assemblé à partir de parties distinctes (modèles), mais se trouve sur le serveur tel quel, sous forme assemblée, et est téléchargé depuis le serveur sous la forme d'un seul fichier auquel sont connectés des styles CSS et/ou des scripts.
Pour modifier le contenu d'un tel document, vous devez d'abord le modifier sur votre ordinateur de travail dans un éditeur HTML, puis le télécharger à nouveau sur le serveur. Pour modifier une partie du design ou, par exemple, ajouter/supprimer un élément du menu de navigation, cela nécessitera de modifier (changer) toutes les pages du site.

Web designer et programmeur web, quelle est la différence ?

Un concepteur Web et un programmeur Web travaillent dans le même domaine, mais effectuent des tâches différentes. Un concepteur de sites Web est impliqué dans le prototypage des conceptions de pages, le développement d'un modèle de conception de site Web, la création d'une mise en page de conception graphique, sa découpe en fragments séparés et son optimisation, la sélection des polices et des couleurs. Un concepteur de sites Web peut effectuer la mise en page des pages d'un site Web, mais ce n'est pas sa responsabilité ; pour cela, il existe des personnes spécialement formées - les concepteurs de mise en page.
Qui est un programmeur Web ?
Un programmeur Web, ou plutôt un développeur Web (développeur de serveur), est une personne qui développe des applications Web spéciales, écrivant des scripts dans différents langages de programmation pour certains modules de pages Web.
Conclusion : pour qu'un site Web soit à la fois beau et fonctionnel, il faut à la fois un concepteur Web et un programmeur Web. Et pour que le site soit convivial, il doit

La promotion d'un site Web (promotion) s'entend comme le déplacement d'un site Web en haut des résultats de recherche pour certains mots-clés dans les moteurs de recherche Google, Yandex, etc.
Meilleurs résultats de recherche- il s'agit de la première page d'un site Web d'un moteur de recherche avec les 10 premiers liens vers des sites. Pour ces 10 positions, il y a une lutte irréconciliable entre les sites sur le même sujet. Selon les statistiques, les sites qui se situent en tête (occupent les trois premières positions) collectent le plus grand nombre de visiteurs. Pour atteindre ce sommet, certaines ressources paient d’énormes sommes d’argent. Mais il ne suffit pas d'y arriver, il faut y rester, et cela conduit à une lutte constante non seulement entre les grandes sociétés de référencement, mais aussi entre les entreprises privées.



 

Il pourrait être utile de lire :