En route vers des applications durables en utilisant l'exemple de générateur de site statique PSKOV

Pskov veche


Bonjour, je m'appelle Mikhail Kapelko. Je suis engagé dans le développement de logiciels professionnels depuis plus de 10 ans, pendant mon temps libre je développe des jeux et des outils pour leur création.


Dans cet article, je vais parler de ma première application de bureau longue durée - le générateur de site statique PSKOV.


Longévité


Par une application durable, je veux dire une application qui fonctionne sans un seul changement sur les systèmes d'exploitation publiés entre 2010-2030. En d'autres termes, une application durable a 10 ans de rétrocompatibilité et 10 ans de durabilité. Cependant, PSKOV fonctionne même sur Windows 2000, il a donc 19 ans de compatibilité descendante.


Techniquement, PSKOV est un fichier HTML unique avec un balisage compressé (HTML), des styles (CSS) et du code (JavaScript). PSKOV est exécuté strictement dans un navigateur Web sans interagir avec le serveur.


Une telle organisation offre au PSKOV les opportunités suivantes:


  • il peut être copié sans restrictions
  • il peut être placé sur n'importe quel hébergement
  • il peut être exécuté localement
  • ça peut fonctionner sans internet

Je ne peux pas garantir une durabilité de 10 ans, car Je ne possède pas l'avenir. Dans le même temps, l'histoire de HTML, CSS et JavaScript suggère que ces technologies se développent avec la plus haute compatibilité descendante possible. Premièrement, les nouvelles fonctionnalités JavaScript ne remplacent pas les anciennes. Deuxièmement, les fabricants de navigateurs Web souhaitent que leurs navigateurs Web fonctionnent avec autant de sites que possible. Ainsi, par exemple, la balise <center> , déclarée obsolète en 2014, fonctionne sans problème 5 ans plus tard en 2019.


En même temps, toute application dans un navigateur Web a une sérieuse limitation - une cellule trompeusement appelée sandbox. Cette cellule refuse l'accès au système de fichiers local de l'utilisateur et à presque toutes les ressources sur Internet sans l'autorisation du propriétaire de la ressource (CORS). En conséquence, l'application peut donner quelque chose à un serveur spécifique ou à un utilisateur sous la forme d'un fichier à télécharger. Il n'est pas pratique de télécharger des fichiers un par un ou dans une archive, c'est pourquoi l'approche serveur prévaut désormais dans le monde, dont je traiterai un peu plus tard les problèmes.


Pour libérer PSKOVA de la cellule, j'ai dû créer LFSD , un minuscule script Python qui devait être exécuté avec mes mains pendant que PSKOVA fonctionnait. LFSD permet à PSKOV de fonctionner avec le système de fichiers local de l'utilisateur. Python est sélectionné en raison de sa présence par défaut sur Linux et macOS, ainsi que de sa capacité à installer sur Windows (même Windows 2000).


Historique


PSKOV a été testé avec succès pour créer les petits sites suivants:



Maintenant sur les raisons de créer PSKOVA précisément sous la forme d'une application durable pour un navigateur Web.


Raison numéro 1: l'accumulation et la préservation des connaissances sous une forme accessible


Ce n'est pas la première année que je travaille à la création d'outils de développement de jeux pratiques. Jusqu'à récemment, les connaissances accumulées étaient des applications de bureau natives , des articles de formation sur les technologies connexes ou des résultats vidéo . Les types de connaissances accumulées indiqués se distinguent par le fait que ces connaissances sont essentiellement mortes:


  • peu de gens téléchargent une application inconnue
  • seules quelques personnes liront des articles
  • des personnes regarderont au moins une partie de la vidéo

À bien des égards, cette mort est due à l'inaccessibilité: vous devez faire un effort inconnu pour obtenir un résultat inconnu. Il est peu probable que quelqu'un puisse être leurré aujourd'hui. La situation est complètement différente avec une application dans un navigateur qui fonctionne potentiellement partout: vous devez faire un effort connu - ouvrir un lien - pour obtenir un résultat inconnu. L'histoire de la révolution Twitter suggère que presque tout le monde sait comment ouvrir des liens et aimer le changement du "régime sanglant".


Raison numéro 2: la démocratie


Aujourd'hui, toute personne qui éternue sur Internet se fait par le biais de services qui appartiennent presque toujours à une entreprise: messages , cartes , recherche , musique , code source , etc. De plus, sans aucune discussion avec ces utilisateurs, sans lesquels ce service ne décollerait jamais.


Dans d'autres cas, la société peut simplement interdire à un navigateur concurrent d'utiliser son service, comme cela s'est récemment produit avec la version Web de Skype . Cependant, il y a des gens qui ne sont pas d'accord avec une telle politique. Grâce à eux, des outils pour désactiver les verrous apparaissent.


À mon avis, cet état de fait est inacceptable. Cependant, la faute en incombe non seulement à l'entreprise galopante, mais aussi aux utilisateurs simples, chacun de nous. Vous pouvez affirmer que les utilisateurs n'ont pas le choix, que quelqu'un d'autre (pouvoir, reptiliens, soulignement, nécessaire) a rendu ce monde injuste. Quelqu'un peut même directement blâmer le pouvoir / reptiloïde et croire que sans eux, nous vivrons. Malheureusement, l'histoire de l'humanité dit le contraire : «l' État n'est pas une sorte de horde hostile qui a occupé la société, mais celle qui se développe hors de la société et la reflète ».


Faisant partie des gens, j'ai commencé par moi-même et j'ai décidé d'utiliser mon pouvoir pour le bien: créer les applications dont j'ai besoin pour qu'elles fonctionnent pour tout le monde partout et toujours. PSKOV est la première tentative qui a largement dépassé mes attentes. Bien sûr, PSKOVA a ses propres limites sous la forme de LFSD et fonctionne sur HTTP sans cryptage; Il reste beaucoup à faire pour augmenter la disponibilité de PSKOV, mais maintenant je suis prêt à discuter avec n'importe qui: PSKOV fonctionnera sans un seul changement dans 10 ans. Comme le dit le proverbe, souvenez-vous de ce tweet.


Ceci conclut l'histoire de ma première application de bureau à long terme - générateur de site statique PSKOV.

Source: https://habr.com/ru/post/fr462685/


All Articles