3 points par GN⁺ 2024-01-15 | 1 commentaires | Partager sur WhatsApp

Qu’est-ce qu’AsmBB ?

  • AsmBB est un moteur de forum web extrêmement rapide et léger, créé par JohnFound.
  • Il est entièrement écrit en langage assembleur et utilise SQLite comme backend de base de données.
  • Il peut fonctionner même sur un hébergement modeste tout en traitant simultanément de nombreux visiteurs sans latence.
  • Grâce à sa conception interne et à la réduction des dépendances, c’est une application web très sécurisée.
  • Il prend en charge les bases de données chiffrées pour une sécurité renforcée.
  • Les exigences d’exécution sont très faibles : un serveur Linux x86 (32 bits ou 64 bits), sans besoin particulier de bibliothèques préinstallées.
  • Il fonctionne bien même sur les VPS les plus petits et les moins chers, et peut aussi être utilisé sur un hébergement mutualisé prenant en charge FastCGI.
  • Un serveur web prenant en charge l’interface FastCGI est nécessaire ; il a été testé avec Nginx, Apache, Lighttpd, Hiawatha et RWASA.
  • Il est facile à personnaliser grâce à un puissant système de templates permettant d’adapter le forum sans modifier directement le code.

Téléchargement, installation et bidouillage

  • Télécharger directement le paquet binaire : asmbb.tar.gz (ce lien pointe toujours vers la dernière version du paquet binaire).
  • Suivre l’avancement, signaler des bugs et cloner les sources : dépôt source d’AsmBB
  • L’installer sur votre propre serveur pour disposer du forum le plus rapide : tutoriel d’installation avec NGINX et systemd
  • L’installer en moins de 2 minutes avec RWASA : tutoriel vidéo également disponible sur YouTube

L’avis de GN⁺ :

  • AsmBB est un moteur de forum web haute performance écrit en assembleur, dont l’atout principal est d’offrir une grande rapidité et un haut niveau de sécurité même sur des serveurs peu puissants.
  • Le fait qu’il soit facilement personnalisable et compatible avec divers serveurs web le rend particulièrement attractif.
  • Cette technologie constitue une alternative intéressante pour les développeurs qui veulent construire des services web efficaces dans des environnements aux ressources limitées.

1 commentaires

 
GN⁺ 2024-01-15
Avis Hacker News
  • Doutes sur la sécurité d’AsmBB

    • Exprime un point de vue sceptique face à l’affirmation selon laquelle AsmBB serait très sûr grâce à sa conception interne et à la réduction des dépendances.
    • Souligne l’intérêt d’utiliser des dépendances bien testées et note que des bugs peuvent apparaître lorsqu’on écrit un logiciel complexe en assembleur.
    • C’est particulièrement vrai pour le traitement des chaînes de caractères.
  • Éloges sur l’usage de l’assembleur et avis sur la sécurité

    • Porte un jugement positif sur l’utilisation du langage assembleur, tout en rappelant que réduire les dépendances ne signifie pas automatiquement plus de sécurité.
    • Indique que la réduction des dépendances diminue les vulnérabilités potentielles, mais que l’assembleur ne garantit pas en lui-même la sûreté mémoire, ce qui peut accroître les risques.
    • Exprime son affection pour les applications en assembleur et ajoute qu’il serait intéressant de le porter sur aarch64 pour pouvoir l’exécuter sur un Pi-Zero ou un Pi-W.
  • Recherche sur les forums distribués

    • Indique mener des recherches sur les forums distribués et rappelle qu’après le déclin d’Usenet, des logiciels de forum comme phpBB ont gagné en popularité.
    • Soulève la nécessité d’un nouveau forum combinant fonctions distribuées et répliquées avec une bonne expérience utilisateur.
    • Dit trouver un intérêt particulier au défi et au côté puzzle d’un système distribué.
  • Temps de traitement et importance d’un CDN

    • Souligne que le temps de traitement est très rapide, mais qu’il faut 500 à 1000 ms pour transmettre le document jusqu’au Danemark.
    • Mentionne que, dans ce cas, un CDN pourrait être plus efficace qu’un code très performant.
  • Question sur la façon de se connecter à une base de données en assembleur

    • S’interroge sur la manière de se connecter à une base de données avec du code en assembleur.
    • Dit comprendre cela en théorie, mais estime qu’écrire des tâches simples demanderait un effort énorme.
  • Écriture en assembleur avec SQLite comme backend

    • Précise que le projet est écrit en assembleur mais utilise SQLite comme backend.
    • Fait remarquer que, dans beaucoup d’applications, les entrées/sorties risquent davantage d’être le goulot d’étranglement que le CPU.
  • Demande d’explications sur la prise en charge des caractères emoji Unicode

    • Souhaite davantage de détails sur l’affirmation selon laquelle les caractères emoji Unicode sont pris en charge d’une manière « vraiment native ».
  • Avis sur le bouton de désactivation des notifications en direct et l’exposition de la liste des utilisateurs

    • Mentionne l’existence d’un bouton permettant de désactiver les notifications en direct.
    • Estime que montrer la liste des utilisateurs du forum à des visiteurs non connectés n’est peut-être pas une bonne idée et se demande si cela peut être configuré.
  • Demande de limitation de débit pour les notifications en direct

    • Indique que les notifications en direct se produisent beaucoup trop fréquemment et qu’une limitation de débit serait nécessaire.
  • Remarque sur le manque d’informations concernant le langage d’assembleur et le système d’exploitation

    • Fait remarquer que le titre ne précise ni le type d’assembleur utilisé ni le système d’exploitation sur lequel cela s’exécute.
  • Possibilité d’une implémentation similaire en C et motivation de l’usage de l’assembleur

    • Mentionne qu’il serait possible d’obtenir un résultat similaire en C sans utiliser la bibliothèque standard.
    • Ajoute qu’il n’y a pas de dépendances en dehors des appels système et suggère que l’usage de l’assembleur n’a pas d’autre justification qu’un exercice intellectuel.