Category: Développement

Observabilité pour GitHub Actions avec OpenTelemetry

2025-06-15
Observabilité pour GitHub Actions avec OpenTelemetry

Ce guide montre comment obtenir une observabilité de bout en bout de vos pipelines CI/CD en utilisant OpenTelemetry pour surveiller GitHub Actions. En configurant le récepteur GitHub de l'OpenTelemetry Collector, vous pouvez collecter des traces et des métriques de vos workflows, vous permettant d'identifier les goulots d'étranglement, de déboguer les erreurs et d'analyser les dépendances. Le guide fournit une configuration étape par étape, y compris la configuration d'un webhook GitHub, l'installation de l'OpenTelemetry Collector, la configuration des récepteurs et des processeurs, et la gestion de l'authentification. Des extraits de configuration YAML sont inclus. Enfin, ces données sont envoyées à une plateforme d'observabilité comme SigNoz pour la visualisation et l'analyse.

Développement

Lisp : Un support créatif pour les programmeurs

2025-06-15

Cet essai soutient que Lisp n'est pas seulement un langage de programmation, mais un support créatif pour les programmeurs, semblable à l'écriture ou à l'art. L'auteur affirme qu'une bonne programmation, comme l'écriture, implique exploration et découverte, suivies du raffinement de la présentation. La nature dynamique de Lisp le rend idéal pour l'expérimentation et l'itération, permettant aux programmeurs d'ajuster et d'améliorer leur code, tout comme un écrivain révise un manuscrit. À l'aide d'exemples tels que la cartographie et l'écriture, l'auteur illustre l'interaction entre découverte et raffinement, critiquant l'approche privilégiant les performances dans la conception des langages de programmation comme nuisant à la créativité et à la flexibilité. L'auteur plaide pour une approche plus flexible et exploratoire du développement logiciel, reflétant l'esprit des méthodologies Agile.

Contournement de la Sécurité : Décryptage du Mécanisme de Mise à Jour d’une VM pour Obtenir Facilement des Flags

2025-06-15
Contournement de la Sécurité : Décryptage du Mécanisme de Mise à Jour d’une VM pour Obtenir Facilement des Flags

Un étudiant a découvert que les fichiers de mise à jour (*.gpg) d’une machine virtuelle d’un cours de sécurité contenaient des jetons pour soumettre des travaux. En analysant le programme de mise à jour `installUpdate`, il a découvert qu’il utilisait le décryptage GPG, dépendant des fichiers `/root/.vmPassphrase` et `/root/.gnupg`. En montant le disque de la VM, l’étudiant a obtenu ces fichiers, a décrypté les mises à jour, a extrait les jetons et a terminé les travaux plus tôt que prévu. Les mises à jour contenaient du code Java générant des jetons cryptés avec AES. L’auteur note que cette attaque dépendait de l’accès complet au disque de la VM et suggère d’utiliser des VM distantes comme amélioration. Malgré l’achèvement anticipé, l’auteur souligne l’importance du processus d’apprentissage et de la réalisation des travaux du cours.

Développement

ICONIC : Icônes de compétences élégantes pour les READMEs GitHub

2025-06-15
ICONIC : Icônes de compétences élégantes pour les READMEs GitHub

ICONIC est une bibliothèque axée sur les développeurs, proposant des icônes de compétences élégantes en forme de bulle, conçues pour les READMEs GitHub, les portfolios et les CV. Elle offre des icônes claires et esthétiques, des variantes claires et sombres, et une intégration facile dans Markdown/HTML. De plus, elle inclut une API d'aperçu HTML (backend Django) et des SVG téléchargeables pour une présentation simple de vos compétences.

Développement bibliothèque d'icônes

arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

2025-06-15
arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

arXivLabs est un cadre permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv s'engage à respecter ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui ajoutera de la valeur à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Sommet des développeurs Core de Python : JIT, threads virtuels et l'avenir

2025-06-15
Sommet des développeurs Core de Python : JIT, threads virtuels et l'avenir

Le sommet annuel des développeurs core de Python a présenté des discussions passionnantes. Les ingénieurs de Meta ont exploré les compilateurs JIT branchables, dans le but de simplifier le développement grâce à de nouvelles API. Les idées de Java ont stimulé les débats sur les threads virtuels pour Python, augmentant la concurrence. Le sommet a également inclus des débats sur les opérateurs de fusion nulle, les outils de codage assistés par IA et la philosophie « le pire est le meilleur ». Enfin, les développeurs ont demandé à se concentrer sur les benchmarks de mémoire et se sont penchés sur l'évolution future du système de types de T-strings.

Développement Threads virtuels

Restaurer les icônes d'applications aux formes originales dans macOS 26 Tahoe

2025-06-15
Restaurer les icônes d'applications aux formes originales dans macOS 26 Tahoe

macOS 26 Tahoe remplace les icônes d'applications aux formes originales et uniques dans le Dock par des icônes arrondis de style iOS, un changement qui déplaît à de nombreux utilisateurs. Cet article fournit une solution permettant aux utilisateurs et aux développeurs de restaurer les formes personnalisées des icônes. Les utilisateurs peuvent remplacer le fichier .icns dans le paquet de l'application ; les développeurs peuvent utiliser NSApplication.shared.dockTile.contentView pour modifier l'icône au moment de l'exécution. Retrouvez la gloire de votre Dock !

Développement Icônes d'applications

De SQL Server aux bases de données clé-valeur : autopsie d’une refonte de base de données ratée

2025-06-15

Un développeur senior raconte son expérience de refonte d’une base de données chez un ancien employeur. Le système d’origine, utilisant SQL Server, souffrait de goulots d’étranglement de performances et de pannes fréquentes dues à des procédures stockées complexes. La refonte a opté pour des bases de données clé-valeur simples, mais en raison d’une incompatibilité du modèle de données et d’un manque de prise en charge des transactions, les opérations d’E/S ont explosé, les performances se sont détériorées et un système de points de contrôle complexes a été introduit. La refonte n’a finalement pas résolu les problèmes initiaux et a créé de nouveaux défis. Ce récit humoristique reflète l’importance du choix de la technologie et de la conception de l’architecture, ainsi que l’impact négatif de la simplification excessive.

Guide pratique pour compiler des programmes C sur macOS

2025-06-14

Cet article détaille le parcours de l'auteur pour compiler des programmes C/C++ sous macOS, en soulignant les difficultés et les solutions rencontrées. De l'installation des compilateurs et de la gestion des dépendances (à l'aide d'outils comme `apt-get` et `brew`), à la navigation dans les `Makefiles` et les scripts `./configure`, l'auteur fournit un guide pratique. Les points clés incluent la gestion des avertissements du compilateur, la résolution des erreurs de liaison à l'aide de variables d'environnement telles que `CPPFLAGS` et `LDLIBS`, et la compilation sélective de cibles avec `make`. L'auteur souligne également l'importance de comprendre la compilation C, même pour les programmeurs qui ne travaillent pas avec C, en raison de sa prévalence dans les outils et les bibliothèques système. L'article se termine par la contribution réussie de l'auteur d'un paquet compilé à Homebrew, montrant les avantages pratiques de la maîtrise du processus de compilation.

Développement

Découpler la programmation bas niveau de la conception de systèmes : repenser la « programmation système »

2025-06-14

Cet article explore l’évolution du terme « programmation système ». L’auteur soutient qu’il confond deux idées distinctes : la programmation bas niveau (traitant des détails d’implémentation de la machine) et la conception de systèmes (création et gestion d’ensembles complexes de composants interagissant). Des améliorations apportées à l’assembleur dans les années 1970 à l’essor des langages de script dans les années 1990, en passant par les progrès de performance des langages actuels, les frontières de la programmation système sont devenues de plus en plus floues. L’auteur propose de redéfinir la « programmation système » comme « programmation bas niveau », laissant la conception de systèmes comme un domaine distinct. Il soutient que les principes de la programmation fonctionnelle sont précieux dans la conception de systèmes et suggère de séparer l’enseignement de la programmation bas niveau et de la conception de systèmes dans l’enseignement de l’informatique afin de favoriser la pollinisation croisée des idées.

Développement

Rocky Linux 10 publié : la divergence s’accentue entre les alternatives à RHEL

2025-06-14
Rocky Linux 10 publié : la divergence s’accentue entre les alternatives à RHEL

Rocky Linux 10, « Red Quartz », est désormais disponible. Cette version ajoute la prise en charge de l’architecture RISC-V, mais abandonne les anciens modèles de Raspberry Pi. Comparé à AlmaLinux 10 et RHEL 10, sortis plus tôt cette année, des différences subtiles apparaissent, tant au niveau du matériel que des logiciels. La plus notable est l’exigence de processeurs x86-64-v3 pour RHEL 10 et Rocky Linux 10, tandis qu’AlmaLinux 10 prend en charge, exceptionnellement, les x86-64-v2. De plus, l’assistant IA de RHEL 10, « Lightspeed », est absent de Rocky Linux 10. Bien que fonctionnellement similaires, Rocky Linux 10 diverge subtilement de ses alternatives RHEL en termes de compatibilité matérielle, de fonctionnalités IA et de support commercial, se créant ainsi une niche sur le marché.

Développement

Programmation sans libc : Maîtriser les appels système Linux avec strace

2025-06-14

L’auteur a récemment entrepris de créer un logiciel sans libc afin de mieux comprendre les appels système et les mécanismes internes de Linux. Cela impliquait la création d’un shell minimal, d’un jeu de Snake, d’un serveur HTTP en assembleur ARM64 pur et d’une implémentation de threads. Le débogage reposait fortement sur strace, et l’article détaille de nombreuses options et indicateurs utiles de strace. Ceux-ci vont du suivi des processus enfants et de l’impression d’informations détaillées sur les structures au suivi sélectif des appels système et même à l’injection d’erreurs d’appels système à des fins de débogage. Cela fournit des informations précieuses sur les techniques avancées de programmation et de débogage des systèmes Linux.

Développement Appels système

Limitation de l'imbrication des groupes mutuellement exclusifs d'Argparse : une énigme frustrante

2025-06-14

Le module argparse de Python, bien qu'il offre des fonctionnalités pratiques pour gérer les arguments de ligne de commande, y compris les groupes mutuellement exclusifs, présente une limitation frustrante en matière d'imbrication. Prenons l'exemple d'un programme avec plusieurs paramètres de délai d'expiration où les utilisateurs peuvent ajuster les délais d'expiration individuels ou les désactiver complètement. Argparse ne prend pas en charge l'imbrication d'une option « pas de délai d'expiration » dans un groupe d'options de délai d'expiration individuelles, ce qui rend la configuration fastidieuse. Bien qu'il soit possible d'imbriquer un groupe mutuellement exclusif dans un groupe régulier, l'inverse n'est pas pris en charge, et la documentation officielle indique explicitement cette limitation. Cela oblige les développeurs à vérifier manuellement si des options spécifiques ont été utilisées, ce qui ajoute de la complexité.

Développement

Oracle de vérité en Lisp : une histoire curieuse sur la théorie des types, l'isomorphisme de Curry-Howard et call/cc

2025-06-14

Cet article tente d'écrire un « oracle de vérité » en Lisp, un programme qui détermine la vérité ou la fausseté d'énoncés mathématiques arbitraires. L'auteur introduit l'isomorphisme de Curry-Howard, expliquant comment les preuves logiques correspondent aux expressions en programmation fonctionnelle typée. En utilisant la fonction call/cc de Racket (isomorphe à la loi de Peirce), une tentative est faite pour implémenter un programme isomorphe à la loi du tiers exclu. De manière inattendue, l'oracle renvoie toujours faux jusqu'à ce qu'il tente d'accéder à une valeur de type impossible, révélant les différences entre la logique classique et la logique constructive, et le mécanisme de flux de contrôle non standard de call/cc. Enfin, l'auteur utilise une métaphore d'un « pacte avec le diable » pour expliquer ce comportement étrange, mettant en lumière le mécanisme semblable à un voyage dans le temps derrière call/cc.

Développement théorie des types

Automatisation des messages texte quotidiens avec les prévisions météo

2025-06-14

Fatigué d'ouvrir l'application météo tous les matins ? L'auteur a exploré deux méthodes : d'abord, une automatisation Zapier qui envoyait un SMS quotidien avec les prévisions météo vers 7 h. Cependant, faute de personnalisation et de dépendance à un tiers, il a construit un système plus flexible utilisant TypeScript, Twilio et GitHub Actions. L'API Open-Meteo fournit les données météo, Twilio envoie les SMS et GitHub Actions déclenche la tâche à 6 h 45 tous les jours (en tenant compte des fuseaux horaires). Bien que le résumé personnalisé soit moins détaillé que celui de Zapier, il a gagné en contrôle et en rentabilité, et prévoit d'améliorer les détails du résumé.

Développement météo

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

2025-06-14
arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

arXivLabs est une infrastructure permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités d'arXiv directement sur le site web. Les individus et les organisations participantes partagent les valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. arXiv est engagé envers ces valeurs et ne travaille qu'avec des partenaires qui les respectent. Vous avez une idée de projet à valeur ajoutée pour la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

L'architecture de données unifiée de Netflix : modéliser une fois, représenter partout

2025-06-14
L'architecture de données unifiée de Netflix : modéliser une fois, représenter partout

L'explosion des offres de contenu de Netflix (films, séries, jeux, événements en direct, publicités) a créé un réseau complexe de systèmes de support. Pour résoudre les problèmes de modèles dupliqués, de terminologie incohérente et de qualité des données, Netflix a construit l'architecture de données unifiée (UDA). L'UDA est un graphe de connaissances permettant aux équipes de définir des modèles une fois et de les réutiliser de manière cohérente dans tous les systèmes. En utilisant un métamodèle interne appelé Upper, l'UDA traduit les modèles de domaine en diverses structures de données techniques (GraphQL, Avro, SQL, etc.), automatisant le déplacement et la transformation des données entre les conteneurs. Cela améliore l'efficacité et la cohérence des données. Deux systèmes de production, la gestion principale des données (PDM) et Sphere, illustrent la puissance de l'UDA, gérant respectivement les données de référence faisant autorité et les rapports opérationnels en libre-service.

Développement Architecture de données

D'expert quantitatif à IHM cérébrale : Une feuille de route d'auto-apprentissage pour 2025

2025-06-14

Un ingénieur expérimenté avec une expérience en finance quantitative et en développement de logiciels fait la transition vers le domaine fascinant des interfaces cerveau-ordinateur (IHM). Il s'est lancé dans un parcours d'auto-apprentissage de 12 à 24 mois, structuré en trois phases : matériel de base (construction d'une horloge numérique, amplification de signaux bioélectriques), systèmes intermédiaires (radio analogique/numérique, traitement du signal basé sur FPGA) et sujets avancés (stimulation neuronale en boucle fermée, transfert de données sans fil). Ce plan ambitieux combine l'auto-apprentissage, des projets pratiques et l'engagement communautaire, dans le but d'obtenir un poste dans le monde universitaire, une start-up ou l'industrie dans le domaine des IHM.

Développement Auto-apprentissage

Progrès récents en programmation linéaire en nombres entiers (MILP)

2025-06-14

La programmation linéaire en nombres entiers (MILP) est devenue une pierre angulaire de la recherche opérationnelle grâce à l'efficacité accrue des solveurs modernes. Ces solveurs peuvent désormais trouver des solutions globalement optimales en quelques secondes pour des problèmes qui étaient inabordables il y a dix ans. Cette polyvalence a permis des applications réussies dans de nombreux domaines, tels que les transports, la logistique, la gestion de la chaîne d'approvisionnement, la gestion des revenus, la finance, les télécommunications et la fabrication. Malgré ce succès, de nombreux défis persistent, et la MILP est un domaine de recherche actif et dynamique. Cet article passe en revue les progrès les plus importants des méthodes de résolution MILP, en se concentrant sur les aspects computationnels et les améliorations récentes des performances pratiques, en mettant l'accent sur les études comportant des expériences computationnelles. L'étude est structurée autour des méthodes de branch-and-cut, de la décomposition de Dantzig-Wolfe et de la décomposition de Benders, et se conclut par une discussion sur les défis actuels et les orientations futures.

Comment écrire le pire code Python possible

2025-06-14
Comment écrire le pire code Python possible

Ce guide humoristique vous apprend à écrire le code Python le plus incompréhensible et frustrant possible. À travers une série d'exemples négatifs, tels que l'utilisation de noms de variables cryptiques (comme `data1`, `temp`) et de boucles imbriquées complexes, l'auteur montre comment créer un code vraiment terrible. Le but ultime est de souligner l'importance d'écrire un code propre et compréhensible, évitant ainsi la création d'une dette technique difficile à maintenir.

Développement

Le noyau Linux 6.16 corrige les vulnérabilités de vidage de mémoire : Adieu à l'API « stupide »

2025-06-14

La version 6.16 du noyau Linux améliore considérablement la gestion des vidages de mémoire, corrigeant des vulnérabilités de sécurité de longue date. Les conceptions précédentes de l'API présentaient des failles, telles que des gestionnaires de vidage de mémoire s'exécutant avec des privilèges root, ce qui en faisait des cibles attrayantes pour les attaques, et des conditions de concurrence entraînant des vulnérabilités. Les nouvelles améliorations introduisent pidfd pour garantir que les gestionnaires fonctionnent sur le processus défaillant correct et permettent aux gestionnaires de se lier à une socket pour recevoir les vidages de mémoire, réduisant ainsi les risques d'escalade des privilèges et prévenant efficacement les attaques.

Développement vidage de mémoire

Éclairage volumétrique dans React Three Fiber : Raymarching avec post-traitement

2025-06-14
Éclairage volumétrique dans React Three Fiber : Raymarching avec post-traitement

Cet article explore la création d’effets d’éclairage volumétrique réalistes dans React Three Fiber en combinant le post-traitement et le raymarching volumétrique. L’auteur explique méticuleusement les transformations des systèmes de coordonnées, la reconstruction des rayons 3D à partir de l’espace écran et l’utilisation des buffers de profondeur pour optimiser les performances. Des techniques avancées telles que la modélisation de la lumière à l’aide de SDF, le mappage des ombres et la diffusion de la lumière sont abordées, aboutissant à un effet d’éclairage volumétrique dynamique avec des ombres et du brouillard. Plusieurs démonstrations présentent la technique dans des arches et des scènes spatiales, tout en explorant également les sources de lumière multiples et l’ombrage omnidirectionnel.

Développement éclairage volumétrique

Green Tea GC : une approche consciente de la mémoire pour améliorer les performances de Go

2025-06-14
Green Tea GC : une approche consciente de la mémoire pour améliorer les performances de Go

L'équipe Go développe Green Tea, un ramasse-miettes expérimental conçu pour résoudre les goulots d'étranglement des performances des algorithmes traditionnels de ramassage-miettes dans les systèmes multinœuds et les architectures mémoire non uniformes. Green Tea améliore la localité spatiale et temporelle en analysant des blocs de mémoire contigus au lieu d'objets individuels, réduisant ainsi considérablement la surcharge CPU du ramassage-miettes. Les évaluations initiales montrent une réduction de 10 à 50 % des coûts CPU de GC sur certaines charges de travail intensives en GC. Les travaux futurs incluent l'exploration de l'accélération SIMD et d'un réseau concentrateur pour des gains de performances supplémentaires.

Développement

Blog WordPress alimenté par Claude : un serveur MCP personnalisé

2025-06-14
Blog WordPress alimenté par Claude : un serveur MCP personnalisé

En trois jours, l'auteur a construit un serveur personnalisé de protocole de contexte de modèle (MCP) qui connecte Claude directement à son blog WordPress. Ce serveur gère la complexité de l'API REST de WordPress, permettant à Claude de créer des articles de blog en HTML correctement formatés, de gérer automatiquement les catégories et les balises, et même de récupérer des informations sur le blog. L'auteur considère qu'il s'agit d'un progrès significatif dans la création de contenu assistée par l'IA, tout en conservant le contrôle éditorial.

Développement

arXivLabs : Projets expérimentaux avec des collaborateurs communautaires

2025-06-14
arXivLabs : Projets expérimentaux avec des collaborateurs communautaires

arXivLabs est un framework qui permet aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv s'engage envers ces valeurs et ne travaille qu'avec des partenaires qui les respectent. Vous avez une idée de projet qui ajoutera de la valeur à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

FileDB : Un stockage clé-valeur inspiré de Bitcask, implémenté en Zig

2025-06-14
FileDB : Un stockage clé-valeur inspiré de Bitcask, implémenté en Zig

FileDB est une implémentation en Zig d'un stockage clé-valeur inspiré de l'article Bitcask de Riak. Il utilise une table de hachage structurée en journal pour les métadonnées et ajoute des enregistrements à des fichiers disque pour un débit élevé. La compaction et la synchronisation périodiques garantissent la durabilité des données. Les tests de performance de son client compatible Redis montrent des vitesses de lecture supérieures à 100 000 requêtes par seconde et des performances d'écriture impressionnantes.

sandboxfs : Une tentative ratée d’accélération du sandboxing de Bazel sur macOS

2025-06-13
sandboxfs : Une tentative ratée d’accélération du sandboxing de Bazel sur macOS

Un ingénieur Google a tenté d’améliorer les performances du sandboxing de Bazel sur macOS avec le projet sandboxfs. sandboxfs utilisait un système de fichiers en espace utilisateur pour créer des hiérarchies de fichiers virtuelles plus efficacement, remplaçant l’approche initiale des liens symboliques de Bazel. Cependant, parce que les performances des liens symboliques sur macOS n’étaient pas le principal goulot d’étranglement, et en raison de problèmes d’implémentation et de changements dans l’écosystème macOS, sandboxfs a finalement été abandonné. Malgré cela, l’auteur pense que son idée centrale — la création efficace de sandbox — reste prometteuse pour résoudre les problèmes de performances du sandboxing de Bazel sur macOS.

Développement

Implémentation de Datalog en Python : un langage de base de données relationnelle plus puissant que SQL

2025-06-13
Implémentation de Datalog en Python : un langage de base de données relationnelle plus puissant que SQL

Cet article montre comment implémenter Datalog, un langage de base de données relationnelle plus puissant que SQL, à l’aide de Python. Datalog, un sous-ensemble de Prolog, n’est pas Turing-complet, mais excelle dans la modélisation des relations. L’article explique en détail les concepts de base de Datalog, notamment les prédicats, les faits, les règles et les variables, et fournit une implémentation simple en Python avec l’algorithme d’évaluation naïve. Grâce à cette implémentation, vous pouvez créer et interroger des programmes Datalog, et découvrir l’élégance et la puissance de cette approche de modélisation relationnelle.

Développement

MUMPS : Le héros méconnu des bases de données de santé

2025-06-13

MUMPS, un langage de programmation né dans les années 1960, a été initialement développé pour gérer les dossiers médicaux des patients à l'hôpital général du Massachusetts. Ses capacités uniques de base de données intégrée en ont fait la base de données dominante pour les systèmes d'information de santé et les dossiers électroniques de santé aux États-Unis, desservant plus de 78 % des patients. L'histoire de MUMPS est une histoire d'innovation et d'adaptation, de ses premières versions sur PDP-7 aux implémentations open source et aux produits commerciaux actuels. Il a été témoin de l'évolution rapide de la technologie informatique et continue de fournir un soutien critique à l'industrie de la santé.

Développement TI santé

arXivLabs : Projets expérimentaux en collaboration avec la communauté

2025-06-13
arXivLabs : Projets expérimentaux en collaboration avec la communauté

arXivLabs est un cadre qui permet aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv est engagé envers ces valeurs et ne travaille qu'avec des partenaires qui les respectent. Vous avez une idée de projet qui ajoutera de la valeur à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement
1 2 60 61 62 64 66 67 68 214 215