Category: Développement

Hotspot : Une interface graphique élégante pour l'analyse de performance de Linux perf

2025-05-22
Hotspot : Une interface graphique élégante pour l'analyse de performance de Linux perf

KDAB a développé Hotspot, une interface graphique autonome pour l'analyse de données de performance, initialement axée sur la visualisation des données Linux perf dans une interface similaire à KCachegrind. Elle offre une visualisation graphique, un filtrage de la timeline et la possibilité de lancer perf pour profiler les applications. Disponible en tant qu'AppImage pour une utilisation facile sur plusieurs distributions, ou via les gestionnaires de paquets (AUR, Debian, Ubuntu, Fedora), Hotspot permet aux utilisateurs d'analyser le temps CPU et hors CPU, en exportant les données pour le partage. Bien qu'il ne soit pas encore complet en termes de fonctionnalités, Hotspot simplifie l'analyse de performance de Linux.

Développement interface graphique

Les critiques cinglantes de Dijkstra sur les propositions de langage Ada

2025-05-22
Les critiques cinglantes de Dijkstra sur les propositions de langage Ada

Edsger Dijkstra, lauréat du prix Turing, a examiné quatre propositions pour le langage de programmation Ada (rouge, vert, bleu et jaune). Il a qualifié la proposition rouge de «à la fois avancée et rétrograde d'une manière si incongrue que j'en suis resté perplexe». La proposition verte a été jugée comme montrant une «incompétence technique, probablement aggravée par la malhonnêteté». La proposition bleue était «inacceptablement complexe», avec une documentation décrite comme un «mélange inextricable de documentation technique et de discours commercial». Enfin, Dijkstra est devenu célèbre pour s'inquiéter de la sécurité occidentale dépendant de la proposition verte gagnante, suggérant même qu'il se sentirait plus en sécurité si l'Armée rouge soviétique l'adoptait. Cette anecdote souligne l'engagement indéfectible de Dijkstra envers des normes techniques rigoureuses et une conception claire en ingénierie logicielle.

Développement

Pourquoi Debian modifie-t-il ses paquets ?

2025-05-22

Il y a un an et demi, j'ai écrit "Pourquoi Debian est-il comme il est ?", ce qui a suscité de nombreuses questions sur les raisons pour lesquelles Debian modifie ses paquets logiciels. Cet article décrit les principales raisons : le respect des directives du manuel des politiques Debian (par exemple, les emplacements de configuration système et de documentation) ; la garantie de la compatibilité entre les programmes (par exemple, les emplacements des sockets de domaine Unix, les comptes utilisateurs) ; la suppression du code qui "téléphone à la maison" ou contourne le système d'empaquetage Debian (pour des raisons de confidentialité et de sécurité) ; la correction ou la rétrocompatibilité des corrections de bogues pour améliorer l'expérience utilisateur ; l'évitement de l'inclusion de code légalement problématique (conformément aux directives du logiciel libre Debian) ; et l'ajout de pages de manuel manquantes. Essentiellement, ces modifications garantissent la stabilité du système, la sécurité et le respect des principes du logiciel libre.

Développement

La Mine d'Or des Tutoriels de Graphisme Informatique d'Inigo Quilez

2025-05-22

Inigo Quilez, expert chevronné en infographie, se consacre à l'apprentissage et au partage de ses connaissances depuis 1994. Son site web propose une vaste collection de tutoriels d'infographie couvrant des sujets allant des SDF et du ray marching aux fractales et techniques mathématiques. Les tutoriels présentent des extraits de code concis et des explications claires, adaptés à différents niveaux de compétence. Il fournit également des tutoriels vidéo et d'autres ressources, et son code est sous licence MIT pour une réutilisation facilitée.

Développement

DuckDB sur un MacBook Pro 2012 : Avons-nous perdu une décennie sur les architectures distribuées ?

2025-05-22
DuckDB sur un MacBook Pro 2012 : Avons-nous perdu une décennie sur les architectures distribuées ?

Cet article teste DuckDB sur un MacBook Pro 2012 pour étudier si la vitesse d'innovation du matériel a dépassé la croissance des données, rendant les architectures distribuées inutiles. Les résultats montrent que l'ordinateur portable de dix ans peut exécuter des requêtes SQL analytiques complexes, bien que plus lentement que les machines modernes, mais dans des délais raisonnables. Cela conduit à une réflexion sur l'accent mis au cours de la dernière décennie sur l'analyse de données distribuées, suggérant que la technologie de base de données mononœud était capable de gérer de grands ensembles de données à l'époque, remettant en question la nécessité du passage aux systèmes distribués.

Développement

Serveur de langue Kotlin expérimental pour VS Code

2025-05-22
Serveur de langue Kotlin expérimental pour VS Code

Un serveur de langue Kotlin pré-alpha officiel est désormais disponible pour Visual Studio Code, implémentant le protocole de serveur de langue pour Kotlin. Construit sur IntelliJ IDEA et son plugin Kotlin, ce serveur prend en charge la plupart des fonctionnalités essentielles, mais il est expérimental et ne garantit pas la stabilité. Actuellement, seuls les projets Kotlin Gradle pour JVM uniquement sont pris en charge directement. Des parties de l'implémentation sont actuellement à code fermé pour une vitesse de développement plus rapide, avec des plans pour un code source ouvert complet ultérieurement. Bien qu'il soit facilement installable en tant qu'extension VS Code, les autres éditeurs nécessitent une configuration manuelle. Les utilisateurs sont encouragés à l'essayer et à fournir des commentaires, mais les contributions directes de code ne sont pas encore prises en charge.

Développement Serveur de langue

Du rejet à l'acceptation : le pouvoir de la première page

2025-05-22
Du rejet à l'acceptation : le pouvoir de la première page

Un article initialement rejeté a été révisé de manière spectaculaire, ce qui a conduit à son acceptation. L'auteur détaille méticuleusement les modifications apportées, en se concentrant sur la page initiale cruciale (titre, résumé, figure 1, introduction). En rendant le titre spécifique et mémorable, la figure 1 visuellement attrayante et l'introduction et le résumé concis et engageants, l'auteur a amélioré l'impact de l'article. D'autres révisions ont inclus l'ajout de lignes de base, d'ablations et la garantie d'une signification statistique, en abordant les raisons possibles du rejet. L'auteur conclut qu'une meilleure communication améliore considérablement l'impact scientifique.

Trouver des informations dans les e-mails avec les LLMs et un serveur MCP

2025-05-22

L'auteur a construit un serveur MCP pour donner à un grand modèle linguistique (LLM) un accès en lecture seule à ses e-mails. Grâce à une conversation avec Gemini (un LLM), l'auteur montre comment des outils simples de recherche et de récupération peuvent être utilisés pour trouver le nom du fils de Donovan dans les e-mails. Bien que la stratégie de recherche initiale de Gemini ait employé plusieurs mots clés (comme "son", "boy", "baby"), la plupart ont mené aux parents de Donovan. Finalement, Gemini a identifié des indices dans les résultats de recherche initiaux, en analysant les sujets et le contenu des e-mails, trouvant avec succès le nom du fils : Monty. Le processus met en évidence la puissance des LLMs combinés à des outils spécifiques pour la récupération d'informations, et souligne l'importance de stratégies de recherche précises.

Développement Recherche d'Informations

Tableau HTML de CSV recherchable en JavaScript pur

2025-05-22
Tableau HTML de CSV recherchable en JavaScript pur

Fatigué de lutter avec les données CSV ? Ce projet en JavaScript pur transforme vos fichiers CSV en tableaux HTML esthétiques, recherchables et filtrables. Avec un minimum de code, visualisez vos données, personnalisez la mise en forme, activez les téléchargements et intégrez le tableau facilement. Consultez la démo et simplifiez la gestion de vos données dès aujourd'hui !

Développement

Aventures dans le code hérité : une odyssée COBOL

2025-05-22

La maintenance de 200 000 lignes de code COBOL a mis au jour un trésor de hacks ingénieux et de bizarreries historiques. L’auteur a découvert des nombres en base 10, une analyse de chaînes intelligente utilisant des définitions de données et une instruction « REDEFINES » utilisée pour l’internationalisation (même avec des redéfinitions en espagnol !). Des sorties anticipées ont été implémentées pour une terminaison abrupte du travail, et un fichier contenait mystérieusement les 800 premiers nombres naturels sous forme de constantes de chaîne. L’histoire se termine par la révélation que la commande « dd » d’UNIX provient de l’instruction « DD » de COBOL pour la définition de données, montrant l’héritage inattendu de la programmation sur mainframe.

Développement code hérité

arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

2025-05-21
arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

arXivLabs est un cadre permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur le site web. Les participants doivent adhérer aux valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. Vous avez une idée pour améliorer la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Optimisation du rendu des tableaux iText Core : de 5 minutes à 7 secondes

2025-05-21
Optimisation du rendu des tableaux iText Core : de 5 minutes à 7 secondes

L'ingénieur Guust d'Apryse a optimisé les performances de rendu des tableaux d'iText Core. En évitant les calculs répétés d'effondrement des bordures et la surcharge inutile de balisage, le temps de rendu d'un tableau de 50 000 cellules est passé de 5 minutes à 7 secondes. Les optimisations se sont concentrées sur la fonction `CollapsedTableBorders#getVerticalBorder` et le traitement des balises, améliorant considérablement les performances grâce à la mise en cache, à la suppression des appels de fonction redondants et à l'ajout de balises en bloc. Cette optimisation est incluse dans iText Core 9.1.0.

Développement rendu PDF

Rocky Linux 10 adopte RISC-V : un grand pas pour l'open source

2025-05-21

Préparez-vous pour Rocky Linux 10 ! Cette version marque une étape importante : le support officiel de l’architecture RISC-V. Grâce aux efforts collaboratifs de la communauté Fedora RISC-V et du groupe AltArch SIG de Rocky, une version riscv64gc sera incluse, ciblant des plateformes telles que StarFive VisionFive 2, QEMU et SiFive HiFive Premier P550. Bien que certaines fonctionnalités puissent être limitées sur certaines plateformes comme la P550, la fonctionnalité prête à l’emploi sur VisionFive 2 et QEMU est un point fort. Cette initiative communautaire, lancée début 2024, met en évidence la puissance de la collaboration open source avec les efforts upstream de Fedora RISC-V.

Développement

ACE-RISCV : Framework de calcul confidentiel open source pour RISC-V

2025-05-21
ACE-RISCV : Framework de calcul confidentiel open source pour RISC-V

ACE-RISCV est un projet open source qui fournit un framework de calcul confidentiel avec un moniteur de sécurité formellement vérifié. Ciblant RISC-V avec la portabilité à l'esprit, il se concentre sur la vérification formelle de l'implémentation du moniteur de sécurité. Le projet prend en charge l'attestation locale et utilise la cryptographie post-quantique (PQC), notamment ML-KEM, SHA-384 et AES-GCM-256. Des instructions détaillées de compilation et d'exécution sont fournies pour une architecture RISC-V 64 bits.

Développement

P vs. PSPACE : L’espace est-il computationnellement plus puissant que le temps ?

2025-05-21
P vs. PSPACE : L’espace est-il computationnellement plus puissant que le temps ?

Une question centrale en théorie de la complexité est la relation entre les classes de complexité P et PSPACE. P englobe les problèmes résolubles en un temps raisonnable, tandis que PSPACE traite de la complexité spatiale. La croyance dominante est que PSPACE est plus grand que P, en raison de la réutilisabilité de l’espace, contrairement au temps. Pour le prouver, il faudrait démontrer que certains problèmes dans PSPACE sont insolubles en temps polynomial. L’article relate la percée de 1975 de Hopcroft, Paul et Valiant, montrant le léger avantage de l’espace sur le temps, mais les progrès ont stagné. Le travail de Ryan Williams a finalement brisé l’impasse, offrant de nouvelles perspectives pour résoudre le problème P vs. PSPACE.

Développement

Appwrite Sites : Déploiement et hébergement de sites web en un seul endroit

2025-05-21
Appwrite Sites : Déploiement et hébergement de sites web en un seul endroit

Appwrite lance Sites, un nouveau produit qui vous permet de déployer et d'héberger des sites web et des applications web directement au sein d'Appwrite. Fini les allers-retours entre plusieurs plateformes et les configurations complexes ; il suffit de construire, de déployer et de lancer. Sites prend en charge les sites statiques et les applications SSR, intégrant Git, un CDN global, une protection DDoS et s'intégrant parfaitement aux services de bases de données, de fonctions, de stockage et d'authentification d'Appwrite. Plusieurs modèles déployables en un clic sont disponibles, avec prise en charge de l'auto-hébergement. Appwrite Sites est gratuit jusqu'au 1er juillet 2025.

Google AI Studio : Développement d'applications IA boosté par Gemini 2.5 Pro

2025-05-21
Google AI Studio : Développement d'applications IA boosté par Gemini 2.5 Pro

Google AI Studio a reçu une mise à jour majeure intégrant le modèle Gemini 2.5 Pro pour une génération de code considérablement améliorée. Les développeurs peuvent rapidement créer et déployer des applications web basées sur l'IA à l'aide de simples invites textuelles, images ou vidéos. La nouvelle version intègre également des modèles multimodaux tels que Imagen, Lyria RealTime et Veo, offrant un déploiement en un clic sur Cloud Run, ainsi qu'une comparaison et une restauration pratiques des versions de code. De plus, le nouveau support audio natif et un outil de contexte URL améliorent l'interactivité et la récupération d'informations.

Développement

Planificateur Go : des débuts modestes à une puissance impressionnante

2025-05-21
Planificateur Go : des débuts modestes à une puissance impressionnante

Cet article explore en profondeur l’évolution du planificateur Go, de son modèle initial inefficace avec une seule file d’attente d’exécution globale au modèle GMP (Goroutine, Machine, Processor) hautement performant. Il détaille les rôles et mécanismes de chaque composant du modèle GMP, notamment la création de goroutines, la préemption, la gestion des appels système et le rôle de netpoll dans les E/S réseau et fichiers. Les mécanismes de préemption coopérative et non coopérative sont expliqués. En décortiquant le code source du runtime Go, les lecteurs acquièrent une compréhension plus approfondie du modèle de concurrence de Go, ce qui leur permet d’écrire des programmes concurrents plus efficaces.

Développement Planificateur

Composants Web Storefront de Shopify : Intégration simplifiée du commerce électronique

2025-05-21
Composants Web Storefront de Shopify : Intégration simplifiée du commerce électronique

Shopify a lancé les composants Web Storefront, un ensemble de composants HTML qui simplifient l'intégration des fonctionnalités de commerce électronique de Shopify sur n'importe quel site web. Affichez des produits, des collections et le processus de paiement avec un minimum de HTML. Ces composants gèrent la complexité de l'interaction avec l'API Storefront de Shopify, éliminant ainsi le besoin de JavaScript complexe. Créez des expériences d'achat personnalisées avec CSS et HTML, adaptées à l'intégration dans du contenu existant ou à la création de pages entièrement nouvelles.

LlamaDev : le nouvel outil de gestion de monorepo de LlamaIndex

2025-05-21
LlamaDev : le nouvel outil de gestion de monorepo de LlamaIndex

La maintenance du monorepo de LlamaIndex, qui compte plus de 650 paquets Python, a présenté des défis importants. Initialement, Poetry était utilisé pour les projets individuels et Pants pour l'orchestration, mais des problèmes d'échelle sont apparus avec la vitesse de construction et la maintenance du serveur de cache. Pour y remédier, l'équipe de LlamaIndex a créé LlamaDev, remplaçant Poetry par uv et gérant en interne les graphes de dépendances et le déclenchement des tests. LlamaDev améliore considérablement la vitesse de construction, simplifie le débogage et améliore l'expérience du développeur, facilitant ainsi la participation des contributeurs au projet.

Développement

Langfuse lance des tableaux de bord personnalisables : Libérer la puissance des données d'utilisation de LLM

2025-05-21
Langfuse lance des tableaux de bord personnalisables : Libérer la puissance des données d'utilisation de LLM

Le troisième jour du lancement de Langfuse, ils ont introduit des tableaux de bord personnalisables : un moyen puissant de visualiser l'utilisation de LLM directement dans l'interface utilisateur de Langfuse. Que vous souhaitiez suivre les tendances de latence, surveiller les commentaires des utilisateurs ou corréler les coûts et les performances, les nouveaux tableaux de bord vous permettent de créer les graphiques dont vous avez besoin, là où vous en avez besoin. Pour ceux qui préfèrent utiliser leur propre pile d'analyse, les mêmes capacités de requête sont disponibles via leur API. Cet article détaille le parcours, de l'idéation du produit à la mise en œuvre technique, aux tests et au lancement, en partageant les leçons apprises lors de la création d'informations flexibles et en temps réel sur vos pipelines LLM. En abstraisant le modèle de données, en construisant un moteur de requête flexible et performant et un générateur de tableaux de bord, Langfuse a réussi à fournir des tableaux de bord personnalisables, itérant grâce aux tests bêta et aux commentaires des utilisateurs pour ajouter plus de composants de graphiques, de widgets redimensionnables, des outils améliorés et même des tableaux de bord gérés par Langfuse, offrant des thèmes prédéfinis précieux.

Développement Tableaux de bord

arXivLabs : Expérimentations en collaboration avec la communauté

2025-05-21
arXivLabs : Expérimentations en collaboration avec la communauté

arXivLabs est une plateforme permettant de collaborer au développement de nouvelles fonctionnalités d'arXiv, directement sur le site web. Les individus et les organisations participant doivent adhérer aux valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. Vous avez une idée pour améliorer la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Visualisation du graphe d'inclusion de Chromium : une aventure GraphML de 150 Mo

2025-05-21
Visualisation du graphe d'inclusion de Chromium : une aventure GraphML de 150 Mo

Cet article décrit la visualisation du graphe d'inclusion massif de Chromium à l'aide de clang-include-graph, un outil en ligne de commande. Le processus a consisté à construire Chromium pour générer le fichier compile_commands.json, puis à utiliser clang-include-graph pour produire un fichier GraphML de 150 Mo. Ce fichier, contenant plus de 140 000 nœuds et 1,3 million d'arêtes, a été visualisé avec Gephi. Des scripts Python ont analysé le graphe, révélant des statistiques intéressantes, telles qu'un composant fortement connecté de 92 nœuds responsable de 99 % des cycles. L'auteur explore différents agencements de visualisation et discute des défis liés au travail avec un ensemble de données aussi volumineux.

Développement

Les appels de fonctions LLM ne sont pas évolutifs : l’orchestration de code est plus simple et plus efficace

2025-05-21
Les appels de fonctions LLM ne sont pas évolutifs : l’orchestration de code est plus simple et plus efficace

Renvoyer la sortie complète des appels d’outils aux LLM est coûteux et lent. Cet article soutient que les schémas de sortie, permettant la récupération de données structurées, permettent aux LLM d’orchestrer le traitement via du code généré – une approche plus simple et plus efficace. Les méthodes traditionnelles, où les sorties des outils sont renvoyées au LLM sous forme de messages pour déterminer l’étape suivante, fonctionnent bien avec des petits ensembles de données, mais échouent à grande échelle (par exemple, de gros blobs JSON des serveurs MCP Linear et Intercom). L’article propose l’exécution de code comme méthode fondamentale de traitement des données, utilisant des variables comme mémoire et du code pour orchestrer plusieurs appels de fonctions pour un traitement de données évolutif, surmontant les problèmes de coût, de vitesse et de perte de données potentielle des LLM qui gèrent de grands ensembles de données. Cela nécessite des environnements d’exécution IA sécurisés et sans état, actuellement en développement initial.

Devstral : LLM open source surpasse GPT-4.1-mini sur le benchmark d'ingénierie logicielle

2025-05-21
Devstral : LLM open source surpasse GPT-4.1-mini sur le benchmark d'ingénierie logicielle

Mistral AI et All Hands AI ont collaboré pour lancer Devstral, un grand modèle de langage (LLM) agentique pour les tâches d'ingénierie logicielle. Devstral excelle sur le benchmark SWE-Bench Verified, atteignant un score supérieur à 46,8 %, soit plus de 6 % de mieux que les modèles open source précédents et surpassant même GPT-4.1-mini. Il gère les problèmes complexes d'ingénierie logicielle, tels que la compréhension des relations contextuelles au sein de grandes bases de code et l'identification de bugs subtils. Devstral est léger, fonctionnant sur une seule RTX 4090 ou un Mac avec 32 Go de RAM, et prend en charge le déploiement local, l'utilisation en entreprise et l'intégration Copilot. Le modèle est open source et disponible via une API et diverses options de téléchargement.

Développement

Édition de texte collaborative sans CRDT ni OT

2025-05-21

Cet article de blog présente une nouvelle approche de l'édition de texte collaborative qui évite les complexités des Types de Données Répliquées Sans Conflit (CRDT) et de la Transformation Opérationnelle (OT). L'idée principale est d'attribuer des ID uniques globaux à chaque caractère et d'utiliser des opérations "insérer après". Le serveur met à jour son état littéralement en fonction de ces opérations, tandis que les clients utilisent la réconciliation du serveur pour les mises à jour locales optimistes. Cette approche est plus simple et plus flexible que CRDT/OT, permettant des opérations et des fonctionnalités personnalisées, telles que la gestion de texte enrichi et les contrôles d'accès. Une bibliothèque npm complémentaire, Articulated, aide à la mise en œuvre.

Développement édition collaborative

Reprise multi-appareils sous Windows 11 : Dites adieu aux expériences interrompues

2025-05-21
Reprise multi-appareils sous Windows 11 : Dites adieu aux expériences interrompues

Microsoft a présenté une nouvelle fonctionnalité de reprise multi-appareils pour Windows 11 lors de la Build 2025, similaire à la fonctionnalité Handoff d'Apple. Cela permet aux développeurs de poursuivre l'utilisation de l'application de manière transparente entre les appareils. Une démonstration a mis en avant Spotify, permettant aux utilisateurs de reprendre une chanson sur leur PC Windows là où ils l'avaient laissée sur leur téléphone. WhatsApp a également été présenté. Cette fonctionnalité, apparemment le successeur du projet Rome, promet des expériences plus fluides entre les appareils et une meilleure découverte des applications sur Windows pour les développeurs tiers.

Développement Reprise multi-appareils

Blocs, Procs et Lambdas en Ruby : Subtiles Différences dans les Closures

2025-05-21
Blocs, Procs et Lambdas en Ruby : Subtiles Différences dans les Closures

Cet article explore les différences entre les blocs, les procs et les lambdas en Ruby. Bien qu'ils regroupent tous du code pour l'exécution, ils diffèrent subtilement : les Procs sont des objets, assignables et appelables avec des méthodes, contrairement aux blocs qui ne font que partie de la syntaxe d'appel de méthode ; un appel de méthode permet au maximum un bloc mais plusieurs procs ; les lambdas vérifient le nombre d'arguments, les procs non ; et les lambdas et les procs traitent le mot-clé `return` différemment. L'article explique également les closures, l'origine des noms 'proc' et 'lambda', et aborde le calcul lambda et les fonctions anonymes.

Développement

Optimisation au moment de la liaison (LTO) : le prochain niveau d’optimisation du compilateur ?

2025-05-21
Optimisation au moment de la liaison (LTO) : le prochain niveau d’optimisation du compilateur ?

Cet article explore l’optimisation au moment de la liaison (LTO), une technique qui améliore les performances d’un programme en effectuant des optimisations pendant la phase de liaison. Les compilateurs traditionnels optimisent au sein de fichiers individuels, tandis que la LTO permet des optimisations plus complètes entre les fichiers, telles que l’intégration de fonctions et l’amélioration de la localité du code. Bien que la LTO puisse apporter des améliorations significatives des performances (par exemple, une réduction de 9,2 % du temps d’exécution et une réduction de 20 % de la taille du binaire dans le test du projet ProjectX), elle nécessite également des temps de compilation et de liaison plus longs et davantage de mémoire. L’auteur compare des expériences sur ProjectX et ffmpeg pour illustrer les avantages et les inconvénients de la LTO et suggère d’essayer la LTO sur des projets qui n’ont pas été optimisés de manière agressive pour la vitesse, en concluant que les gains de performance finaux dépendent du projet spécifique.

evolved.lua : Une bibliothèque ECS rapide et flexible pour Lua

2025-05-21
evolved.lua : Une bibliothèque ECS rapide et flexible pour Lua

evolved.lua est une bibliothèque Système Entité-Composant (ECS) rapide et flexible pour Lua. Elle utilise une approche basée sur les archétypes pour stocker les entités et leurs composants, employant une Structure de Tableaux (SoA) pour une itération et un traitement efficaces. La bibliothèque prend en charge les requêtes, les opérations différées, les opérations par lots et des fonctionnalités comme un constructeur d'entités pour la création simplifiée de systèmes complexes. Installez via luarocks ou clonez le référentiel ; la documentation comprend une vue d'ensemble, des exemples et une feuille de triche.

Développement
1 2 80 81 82 84 86 87 88 214 215