ActualitĂ© : Sony WH-1000XM4 : lâancien fleuron de la marque vaut-il toujours le coup face au WH-1000XM6 ?

Il est temps de s'intéresser à nouveau aux nouveautés de Haiku pour ce dernier trimestre.
Les gros changements sont:
Le Google Summer of Code est un programme organisĂ© par Google pour encourager de nouveaux dĂ©veloppeurs Ă se lancer dans la contribution aux logiciels libres. Il prend la forme d'un stage, oĂč un projet de logiciel libre fournit un sujet et une Ă©quipe d'encadrement, et Google se charge de financer le nouveau contributeur pour quelques semaines.
Cette annĂ©e, la candidature de Haiku a Ă©tĂ© rejetĂ©e, la prĂ©fĂ©rence Ă©tant donnĂ©e Ă des projets engagĂ©s dans l'intelligence artificielle et dans la cybersĂ©curitĂ© (deux domaines beaucoup demandĂ©s par les personnes souhaitant participer au programme). Ce n'est finalement peut-ĂȘtre pas une mauvaise chose pour Haiku: les dĂ©veloppeurs d'autres projets se sont plaints d'avoir reçu des centaines de candidatures visiblement gĂ©nĂ©rĂ©es par des LLM sans aucun travail de prĂ©paration, ce qui leur demande donc beaucoup de temps pour faire le tri dans les candidatures. Les dĂ©veloppeurs de Haiku vont cette annĂ©e pouvoir se consacrer Ă d'autres tĂąches.
Le travail de refonte du Tracker se poursuit. Les changements intégrés en début d'année ont provoqué un certain nombre de régressions qui sont corrigées petit à petit:
Toujours beaucoup de nettoyage de code Ă faire dans le Tracker:
Optimisation de la méthode de surveillance des dossiers, utilisation d'un "node monitor" (équivalent de inotify sous Linux) récursif pour surveiller un dossier et tous ses sous-dossiers au lieu de créer un monitor pour chaque dossier. Cela a nécessité des changements au niveau du noyau avec l'ajout du flag B_QUERY_WATCH_ALL
pour couvrir ce cas d'usage.
Par jscipione, waddlesplash
L'infobulle sur le "scrubber" (barre de navigation temporelle dans le fichier) s'affiche dÚs que la souris est au-dessus de la barre. Elle contient le marqueur de temps correspondant à la position de la souris, permettant de naviguer avec précision dans le fichier. Ceci a nécessité des évolutions dans BToolTip, la classe responsable des infobulles, qui n'était pas prévue pour faire des infobulles persistantes poursuivant le déplacement de la souris.
Ajout d'une option pour afficher une vidéo à 25% de sa taille originale (les contenus en 4K ou plus se faisant plus courants).
Par AkashKumar7902, x512, waddlesplash
WebPositive ne prétend plus savoir traiter les liens utilsant le protocole gopher. Ces liens ne fonctionnaient plus depuis le retour à l'utilisation de cURL pour la couche réseau de WebKit au lieu d'essayer de réimplémenter un client HTTP maison.
AmĂ©lioration de la gestion des sessions : sauvegarde du workspace utilisĂ© pour chaque fenĂȘtre, restauration de la session complĂšte lorsque le navigateur est dĂ©marrĂ© en cliquant sur un lien, avec ouverture du lien dans une fenĂȘtre du workspace courant s'il y en a dĂ©jĂ une, et dans une nouvelle fenĂȘtre sinon.
Par nephele, ilzu
Amélioration de performances, en particulier lors de l'affichage des résultats de recherche, qui étaient trÚs trÚs lents sur les machines un peu anciennes.
Par apl, oco, waddlesplash
Affichage de "system resources" avant "caches" afin de rendre les statistiques d'utilisation mémoire plus claires et plus lisibles.
Correction de problĂšmes dans la mesure d'utilisation de resources par le noyau.
Par OscarL, waddlesplash
Correction d'un bug d'initialisation de la couleur du curseur, visible principalement lorsque le terminal est utilisé comme réplicant dans une autre application. Cette possibilité est utilisée dans l'IDE Genio par exemple.
Par jackburton
Interdiction d'entrer des caractĂšres de contrĂŽle ASCII dans un fichier texte (via les raccourcis clavier control+une lettre).
Par OscarL
Ajout de la possibilitĂ© de sĂ©lectionner un rectangle Ă capturer (en plus des possibilitĂ©s existantes de capturer tout l'Ă©cran ou la fenĂȘtre active).
Nettoyage de code inutile dans les préférences d'affichage
AmĂ©lioration de la gestion des erreurs dans les prĂ©fĂ©rences de sons si le dossier oĂč devraient se trouver les fichiers son n'existe pas.
Par captain0xff, humdinger
strace: Décodage des arguments passés à rlimit
ainsi que de l'argument "type" pour mmap
, affichage correct des valeurs de type ssize_t
ne pouvant pas ĂȘtre reprĂ©sentĂ©es sur 32 bits.
Fusion des outils query et filteredquery. Ces deux outils permettent de rechercher des fichiers Ă partir de leurs attributs (xattrs) qui sont indexĂ©s par le systĂšme de fichier. Cette mĂ©thode de recherche retourne tous les rĂ©sultats, le filtrage pour limiter Ă certains dossiers doit donc ĂȘtre fait par l'outil aprĂšs avoir rĂ©cupĂ©rĂ© les rĂ©sultats de la recherche. Cette fonction Ă©tant trĂšs utile, il n'y a pas de raison de l'implĂ©menter comme un outil sĂ©parĂ©.
keymap: l'option -h
affiche l'aide, en conformité avec les bonnes pratiques d'interface utilisateur. L'option pour afficher un header est donc réaffectée et devient -H
.
leakanalyzer (outil d'analyse des fuites mĂ©moire): ignore la mĂ©moire allouĂ©e en interne par le "locale kit" pour le support des locales dans la librairie C, cette mĂ©moire ne peut pas ĂȘtre libĂ©rĂ©e.
listusb: correction de l'alignement vertical du statut des ports qui n'était pas en face des autres informations affichées.
waitfor (petite application permettant d'attendre différents évÚnements, trÚs utile dans certains scripts) peut maintenant attendre la disponibilité d'une connexion réseau.
Par humdinger, jmairboeck, korli, OscarL, waddlesplash
Les raccourcis claviers pour les menus peuvent maintenant ne pas utiliser la touche "Commande" du clavier. Cela permet de dĂ©finir des raccourcis sans touches modificatrices ou avec des touches non-standard. L'utilisation de ce type de raccourcis est relativement rare, mais nĂ©cessaire dans quelques cas particuliers. Par exemple, la touche "Supprimer" peut ĂȘtre utilisĂ©e pour supprimer un fichier ou un Ă©lĂ©ment de liste de lecture, la touche "F2" pour renommer un fichier dans le Tracker, âŠ
Correction de la gestion des raccourcis claviers dans BPopUpMenu
qui pouvaient ĂȘtre associĂ©s Ă la mauvaise fenĂȘtre.
Amélioration du mode sombre: meilleure méthode de choix de la couleur de fond dans BTextView
, utilisation d'une combinaison de couleurs cohérentes pour les boutons des barres de défilement.
Ajout de définitions et de documentation pour tous les cÎdes de contrÎle ASCII dans InterfaceDefs.h. Certains d'entre eux n'étaient pas documentés, ce qui pouvait laisser penser qu'il restait de la place libre utilisable pour coder d'autres choses.
Ajout de vérifications dans BMenuField::SetLabel
pour traiter correctement les labels NULL
.
Optimisations de BScrollView
et BColumnListView
pour limiter les rafraßchissements inutiles de l'affichage (dans le cadre des améliorations de performances pour HaikuDepot). Dans BColumnListView
, ajout d'APIs pour ajouter et supprimer un ensemble d'éléments d'un seul coup, ce qui est beaucoup plus rapide que de les traiter un par un.
Meilleure gestion du sémaphore de synchronisation des menus dans BWindow
. Tous les menus dans Haiku sont implĂ©mentĂ©s comme des fenĂȘtres, ce qui signifie que chaque menu s'exĂ©cute dans un thread dĂ©diĂ© avec sa propre boucle d'Ă©vĂšnements. La synchronisation peut donc ĂȘtre particuliĂšrement complexe.
Correction d'un use-after-free (utilisation de mĂ©moire libĂ©rĂ©e qui ne devrait logiquement plus ĂȘtre accĂ©dĂ©e) dans BSlider
.
BDecimalSpinner
(un contrÎle pour changer une valeur numérique au clavier ou avec des boutons '+' et '-') utilise BNumberFormat
et affiche donc le nombre en fonction des préférences de localisation.
Par apl, bitigchi, jscipione, korli, nipos, nephele, PulkoMandy, waddlesplash, x512
Modification de BObjectList
pour passer l'argument "owning" en paramÚtre de template plutÎt qu'en paramÚtre du constructeur. Cela améliore les résultats d'analyse statique qui détectaient de nombreux faux positifs "double free" ou "use after free", et rend également plus difficile de faire des erreurs sur la gestion de la mémoire avec ces listes.
Certaines utilisations de BObjectList<BString>
ont été remplacées par la classe dédiée BStringList
, plus simple Ă utiliser pour ce cas particulier.
Amélioration de performances dans BList
, BMessage
et certaines parties du code les utilisant beaucoup pour rĂ©duire la quantitĂ© d'allocations mĂ©moire dynamiques, en utilisant la pile comme stockage temporaire ou simplement en retardant au maximum les allocations. Par exemple, plutĂŽt que de prĂ©-allouer de la mĂ©moire pour une liste dĂšs la crĂ©ation de cette derniĂšre, on attend l'insertion du premier Ă©lĂ©ment dans la liste. On Ă©limine ainsi des allocations dans les cas oĂč du code crĂ©e une liste, mais n'insĂšre finalement jamais rien dedans.
Amélioration des erreurs remontées par les classes de traitement de fichiers JSON.
Ajout de vérifications de pointeurs NULL
manquantes dans BString
pour corriger des crashs quand il n'y a plus de mémoire et qu'une allocation échoue.
Par ilzu, waddlesplash
Amélioration de BFilePanel
pour mieux réagir lorsque le dossier de destination n'existe pas.
Inhibition de BBlockCache
lors de l'utilisation d'un allocateur mémoire de debug ou avec des gardes pour détecter les mauvaises utilisations mémoire. Dans ce cas, il vaut mieux se dispenser des gains de performance de la mise en cache mais détecter correctement l'utilisation de mémoire aprÚs sa remise à disposition dans le cache.
Ajout d'un type MIME pour les BMessage
serialisés sur disque (souvent utilisés pour sauvegarder les préférences d'applications par exemple).
Par augiedoggie, nephele, waddlesplash
Amélioration du clavier virtuel pour se mettre à jour automatiquement lors des changements de résolution d'écran et de disposition du clavier. Ce clavier virtuel n'est pas inclus par défaut dans l'installation de Haiku, il est réservé aux personnes aventureuses qui utilisent Haiku sur une tablette ou qui débugguent un pilote de clavier en ne disposant que d'un écran tactile comme périphérique d'entrée.
Correction du traitement des appels systĂšmes interrompus (SIGINT
), ce qui permet Ă input server de s'arrĂȘter (et de se redĂ©marrer) lorsqu'on le lui demande. Cela est principalement utile pour tester les pilotes de pĂ©riphĂ©riques d'entrĂ©e.
L'Ă©cran de veille utilise le mot de passe "systĂšme" (configurĂ© dans /etc/passwd) au lieu d'implĂ©menter son propre systĂšme de mot de passe. La commande screen_blanker permet de lancer l'Ă©cran de veille immĂ©diatement, et peut ĂȘtre configurĂ©e comme un raccourci clavier pour implĂ©menter un verrouillage simple de la session (note: ne faites pas confiance Ă l'Ă©cran de veille pour sĂ©curiser votre session, actuellement il est assez facile Ă contourner par exemple Ă l'aide du debugger noyau).
Améliorations sur le launch_daemon: correction du traitement des conditions échouées pour lancer un service, ajout de la possibilité de définir une condition sur le contenu d'un fichier au format "driver settings" (format similaire aux fichiers ini) en plus des fichiers BMessage
(format binaire), correction de l'arrĂȘt des services.
Remise en route du test_app_server (outil de test permettant de lancer un deuxiĂšme app_server dans une fenĂȘtre, et donc de tester des changements sur le serveur graphique sans avoir besoin de redĂ©marrer tout le systĂšme).
Correction de bugs dans app_server pour l'affichage de texte: retrait de code dupliqué, ajout de nouveaux cas de test, meilleure gestion du clipping et des "bounding boxes" des glyphes, correction de problÚmes sur les lignes de "décoration" (texte souligné, barré) utilisées en combinaison avec une transformation (rotation, déformation).
Par augiedoggie, korli, nipos, madmax
Le pilote i2c prend en charge les plateformes AMD en plus des machines PCH Intel. Le module i2c utilisĂ© (conçu par Designware) est le mĂȘme pour les deux fabricants Ă quelques petits dĂ©tails prĂšs.
Amélioration de la détection du pointeur racine ACPI: ce pointeur était fourni par le bootloader sur les machines EFI, mais détecté par l'OS aprÚs démarrage sur les machines BIOS. C'est désormais la seule responsabilité du bootloader dans les deux cas, ce qui simplifie le code.
Correction d'un crash sur certaines machines dans le pilote des batteries ACPI.
Ajout de vérifications supplémentaires et corrections du traitement de quelques cas particuliers dans la pile XHCI (USB3).
La gestion des "révisions" des périphériques virtio a été mise en conformité avec la spécification virtio. Pour les anciennes versions de virtio, ce champ de la configuration PCI indiquait la version du protocole virtio à utiliser. Mais cela implique qu'un seul pilote virtio (identifiant les périphériques par leur ID PCI uniquement) doit implémenter toutes les versions de virtio. Pour les nouvelles spécifications, ce sera donc le "device ID" qui va changer, et il sera beaucoup plus simple de développer des pilotes spécifiques "virtio v1", "virtio v2", etc pour chaque version majeure.
Mise à jour des pilotes wifi iaxwifi200 (nommé iwx chez BSD) et ethernet atheros813x pour supporter de nouvelles générations de matériel. Import du nouveau pilote FreeBSD pour les cartes MT7601U, mais il n'y a pas encore de confirmation de son bon fonctionnement sous Haiku.
Nettoyage de code dans les pilotes SCSI et ralinkwifi.
Dans le pilote NVMe, activation de l'option de mise en veille automatique qui permet de réduire la consommation électrique lorsque le disque n'est pas sollicité (réduction de 1W constatée sur certaines machines).
Correction de problĂšmes dans les pilotes d'entrĂ©e (clavier, souris) qui empĂȘchent de redĂ©marrer l'input_server et de retrouver l'usage de ces pĂ©riphĂ©riques.
Ajout de la tablette graphique Cintiq13HD dans le pilote Wacom.
Correction du pilote framebuffer pour ne mapper en mĂ©moire que la zone utilisĂ©e pour le framebuffer, et pas toute la mĂ©moire de la carte graphique. Non seulement cela rĂ©duit la consommation mĂ©moire reportĂ©e, mais surtout, le reste de la mĂ©moire peut ainsi ĂȘtre configurĂ© pour autre chose (par exemple, de l'accĂ©lĂ©ration 3D).
Ajout des cartes Polaris 10 et correction de quelques erreurs de versions du chipset pour d'autres cartes dans le pilote Radeon HD. Ces cartes récentes sont toujours désactivées dans le pilote, le support reste expérimental et peut conduire à un écran noir. Il vaut mieux donc utiliser les pilotes VESA ou framebuffer pour l'instant.
Par ilzu, korli, Lt-Henry, waddlesplash
Poursuite d'investigations pour amĂ©liorer le temps d'exĂ©cution de "git status" qui est anormalement lent par rapport Ă la mĂȘme opĂ©ration sous Linux. AmĂ©lioration de l'itĂ©ration sur les arbres B+ dans BFS, qui faisaient plusieurs "get" et "put" du mĂȘme bloc disque successif (les opĂ©rations "get" et "put" permettent d'obtenir l'accĂšs exclusif Ă un bloc disque, puis de le libĂ©rer, le cache de blocs se chargeant de lire les blocs depuis le disque, puis de les réécrire lorsque c'est nĂ©cessaire).
Amélioration également des verrous de parallélisme dans BFS, ce qui devrait corriger quelques kernel panic.
Correction d'un blocage de ramfs lors de l'utilisation de "trim" pour libérer de la mémoire.
Ajout d'un contrĂŽle du flag O_DIRECTORY
dans plusieurs systÚmes de fichiers lors de l'ouverture d'un fichier. En particulier cela permet d'écrire une image disque sur un disque à l'aide de la commande cp fichier.image /dev/disk/.../raw
.
Plusieurs corrections sur le pilote NFS4 qui était délaissé depuis quelque temps: gestion des inodes "périmés" (fichier présent dans un cache local, mais supprimé par une autre machine sur le serveur), et correction d'autres problÚmes rendant le pilote instable. Ajout également de divers outils de debug pour investiguer l'état du pilote.
Le serveur userlandfs peut ĂȘtre lancĂ© plusieurs fois (B_MULTIPLE_LAUNCH
), ce qui permet d'utiliser plusieurs systĂšmes de fichiers FUSE ou userlandfs en mĂȘme temps.
Par augiedoggie, Jim906, waddlesplash, x512
dlsym(RTLD_NEXT)
et d'autres fonctions similaires du runtime_loader recherchent maintenant les symboles dans toutes les régions ELF chargées, et pas seulement dans la premiÚre.
Ajout de RTLD_NOLOAD
dans la fonction dlopen
, ce qui permet d'accéder à des symboles déjà présents dans l'exécutable sans charger un fichier de librairie à nouveau. Il ne s'agit pas d'une fonction standard C ou POSIX, mais d'une extension proposée par GNU et la glibc.
Ajout de la fonction getloadavg
qui permet d'obtenir une mesure de la charge du systĂšme. Cela peut ĂȘtre simplement informatif (dans des outils comme htop
) ou utilisé pour allouer au mieux les ressources CPU (l'outil de build ninja
peut par exemple utiliser cette valeur pour décider combien de jobs lancer en parallÚle)
Mise en conformité de l'ordre d'appel des destructeurs de pthread_key
(il faut potentiellement appeler les destructeurs plusieurs fois, jusqu'Ă PTHREAD_DESTRUCTOR_ITERATIONS
, pour contourner les problĂšmes d'interdĂ©pendances). Correction de l'ordre d'appel des destructeurs lors de l'arrĂȘt d'une application: les destructeurs globaux C++ doivent ĂȘtre appelĂ©s avant les destructeurs de threads (il existe plusieurs mĂ©thodes pour enregistrer des fonctions Ă exĂ©cuter Ă l'arrĂȘt d'un thread ou d'un programme, et c'est assez compliquĂ© de toutes les sĂ©quencer correctement).
Une petite optimisation de pthread_cond_signal
pour éviter un appel systÚme dans certains cas.
Poursuite du remplacement de fonctions de la libroot par les versions provenant de musl: memmove
, strlen
, strlcat
, ainsi que toutes les fonctions de conversions entre chaĂźnes de caractĂšres et nombres flottants.
Synchronisation de l'implémentation de glob
avec FreeBSD.
Optimisation de la famille de fonctions memcmp
, strcmp
, strncmp
: utilisation de comparaisons sur 64 bits lorsque c'est pertinent, retrait de calculs inutiles.
Réécriture et optimisation des fonctions génériques memcpy
et memset
(utilisées pour les machines qui n'ont pas une version optimisée manuellement en assembleur). Utilisation de la version optimisée de NetBSD pour les machines x86 32 bits. Pour la version 64 bits, le code utilisé par Haiku est meilleur que celui des autres systÚmes, et reste donc en place. Le bootloader utilise uniquement la version générique pour simplifier les choses (il n'a pas besoin de fonctions de trÚs haute performance).
Correction de la fonction write()
avec une taille supÚrieure à 2Gio sur les systÚmes 64 bits (la taille était accidentellement tronquée à 32 bits).
Mise en conformité POSIX de la fonction dup3
: retour de EINVAL si l'ancien et le nouveau descripteur de fichier sont identiques.
Déplacement de la fonction qsort_r
de la libgnu vers la libroot (elle a été standardisée dans POSIX Issue 8). Il s'agit d'une version de qsort permettant de passer un paramÚtre supplémentaire à la fonction de comparaison contenant un contexte réservé à l'utilisateur de la fonction.
Nettoyage du code restant dans la libroot qui provient de la glibc: retrait de dĂ©clarations internes prĂ©sentes dans les en-tĂȘtes publics, retrait de fonctions qui ont dĂ©jĂ Ă©tĂ© remplacĂ©es, suppression de fichiers non utilisĂ©s, remplacement d'un maximum de fonctions par les versions de musl ou de BSD, ajout des fonctions stdio_ext de musl en remplacement des fonctions privĂ©es supprimĂ©es, retrait d'une partie des fonctions mathĂ©matiques au profit de celles de musl, retrait d'une couche d'abstraction pour l'interfaçage entre la glibc et le support des locales dans Haiku. Certaines parties de la glibc continuent d'ĂȘtre utilisĂ©es pour assurer la compatibilitĂ© avec BeOS, mais l'objectif est de minimiser cette partie et d'utiliser les fonctions de BSD ou de musl, qui sont souvent beaucoup plus simples. La raison est que la glibc est conçue pour pouvoir ĂȘtre utilisĂ©e comme librairie C alternative sur de nombreux systĂšmes, et doit donc avoir un comportement trĂšs proche de la librairie C originale. Par exemple, le format des nombres "long double" peut ĂȘtre diffĂ©rent d'une architecture et d'un systĂšme Ă l'autre, et la glibc implĂ©mente de nombreux formats spĂ©cifiques, lĂ oĂč musl se contente des formats les plus classiques.
Mise Ă jour de getopt
, printf
et scanf
avec la verson de la glibc 2.41. Pour l'instant ces fonctions continuent d'utiliser la version de la glibc, afin de prĂ©server la compatibilitĂ© avec les applications existantes (notamment les applications pour BeOS). En effet, des structures internes sont exposĂ©es dans l'ABI et ne peuvent pas ĂȘtre facilement remplacĂ©es par une autre implĂ©mentation.
Tous ces changements sur la librairie C standard sont faits également en collaboration avec un développeur de la gnulib, dont la suite de tests permet de repérer de nombreux comportements incorrects ou non standards.
Finalisation d'un gros chantier de refonte de la gestion de la mĂ©moire, avec en particulier la possibilitĂ© de fusionner des zones de mĂ©moire adjacentes lorsqu'elles sont redimensionnĂ©es. Suite Ă ces changements, l'allocateur mĂ©moire hoard2 a pu ĂȘtre remplacĂ© par une nouvelle implĂ©mentation basĂ©e sur celle de OpenBSD, avec quelques adaptations et amĂ©liorations spĂ©cifiques Ă Haiku, dont en particulier un cache d'allocation global pour chaque application. Le nouvel allocateur est lĂ©gĂšrement plus rapide en gĂ©nĂ©ral, et plusieurs ordres de grandeur plus rapide sur certains cas particuliers (par exemple: gcc avec les options de link-time-optimization, ou le compilateur SDCC, ou un test de compilation passe de plusieurs heures Ă une ou deux minutes). Ce nouvel allocateur est Ă©galement moins consommateur de mĂ©moire et permet aux applications d'allouer plus de mĂ©moire (hoard2 limitait les allocations Ă environ 3Go y compris sur les systĂšms 64 bits).
Amélioration des messsages d'erreur de la "guarded heap" (allocateur mémoire de débug) pour afficher des messages d'erreurs plus spécifiques au lieu de "generic segfault".
Ajout de macros manquantes dans le fichier elf.h ainsi que de la constante MAP_FILE (inutile mais présente sur Linux et tous les systÚmes BSD) pour faciliter le portage de WebKit.
Interdiction de l'appel de create_sem
avec un compteur négatif. Cela était interdit par BeOS mais autorisé par Haiku et il n'y a pas vraiment de raison de le faire.
Modification du code assembleur d'appel des appels systĂšmes pour inclure des informations de debug sur la pile d'appels. D'autre part, dladdr
a été modifié pour pouvoir accéder aux informations sur ces symboles, qui sont chargés dans la commpage (une zone de mémoire partagée entre le noyau et les processus utilisateurs, qui n'est pas à proprement parler une section de code classique en mémoire). Cela permet à libunwind d'analyser une stacktrace comprenant un appel systÚme.
Par korli, PulkoMandy, trungnt2910, waddlesplash, zeldakatze
DĂ©sactivation des Ă©tats de veille C5 et C6 sur les machines Intel "Skylake", car elles empĂȘchent ces machines de dĂ©marrer correctement pour l'instant.
Réparation du cache d'objets "guarded heap" qui permet de détecter et d'investiguer certains problÚmes d'allocation mémoire dans le noyau.
Traitement d'un cas d'erreur dans le cache de fichiers, si la taille d'un fichier est devenue plus petite que son cache entre le moment ou une application demande un accĂšs et le moment oĂč l'accĂšs va effectivement ĂȘtre rĂ©alisĂ©.
Protection de l'accĂšs Ă certains "spinlock" par des mutex. L'accĂšs aux spinlocks doit ĂȘtre rapide, puisque l'attente est faite de façon active et monopolise un coeur de CPU. Il faut donc s'assurer que le spinlock pourra ĂȘtre rapidement disponible. En particulier, l'affichage de logs Ă l'Ă©cran lors du dĂ©marrage pouvait considĂ©rablement ralentir les choses (l'affichage se fait page Ă page et le processus de dĂ©marrage est mis en pause en attendant que l'utilisateur appuie sur une touche).
DĂ©placement de la calibration du timer APIc x86 dans le noyau au lieu du bootloader. AmĂ©lioration de la prĂ©cision de la mesure et utilisation de la calibration fournie via les registres CPUID si elle est disponible (c'est le cas pour certains hyperviseurs par exemple, sur lesquels le systĂšme virtualisĂ© peut difficilement faire lui-mĂȘme une mesure fiable).
Correction du traitement d'un cas particulier par mprotect, qui se manifestait par un kernel panic lors de l'utilisation du navigateur Iceweasel.
Ajout d'un timeout sur l'envoi d'infos sur le port sĂ©rie sur les machines x86. Par exemple sur le Steam Deck, le port sĂ©rie n'est pas du tout prĂ©sent et cela empĂȘchait le dĂ©marrage du systĂšme.
Réécriture de la fonction x86_{read|write}_msr pour les machines 32 bit en tant que fonction inline (c'était déjà le cas pour les machines 64 bits).
Correction de problĂšmes trouvĂ©s en essayant de dĂ©marrer Haiku sur un laptop trĂšs rĂ©cent: ajout du support de X2APIC dans le bootloader EFI, allocation de la page "PML4" avec une adresse physique < 4Go pouvant ĂȘtre codĂ©e sur 32 bits, et Ă l'inverse traitement correct de la table GDT lorsqu'elle se trouve au-delĂ de cette limite de 4Go.
DĂ©placement de code de bfs vers le VMCache gĂ©nĂ©rique pour traiter le cas particulier du mmap sur un fichier dont la taille n'est pas un multiple de la taille de pages du systĂšme. La derniĂšre page doit alors ĂȘtre remplie avec des 0. Cela avait Ă©tĂ© corrigĂ© pour bfs, mais le problĂšme Ă©tait Ă©galement prĂ©sent pour d'autres systĂšmes de fichiers dont en particulier ramfs.
Réécriture des FIFOs noyaux (utilisés pour implémenter pipe(2)
). Le benchmark stress-ng --pipe 1
passe de 230 Mo/s Ă 2.5Go/s (dans une machine virtuelle).
Ajout d'une option syslog_max_history pour pouvoir conserver plus que 2 fichiers de syslog (ce qui reste l'option par défaut).
Nettoyage et optimisation de la structure Thread utilisĂ©e dans le noyau pour reprĂ©senter les threads: utilisation d'une liste doublement chaĂźnĂ©e pour accĂ©lĂ©rer les manipulations de la liste, correction du dĂ©comptage du temps CPU utilisĂ© par les processus, correction d'une fuite mĂ©moire, et correction d'un problĂšme dans la fonction get_next_thread_info si les identifiants de threads bouclent (c'est-Ă dire que plus de 4 milliards de threads ont Ă©tĂ© créés et que des identifiants de threads ont donc dĂ» ĂȘtre recyclĂ©s).
Le kernel panic se produisant si un thread tente de libérer un mutex qui ne lui appartient pas affiche automatiquement la stacktrace du thread qui est propriétaire du mutex.
Ajout d'un appel à cpu_pause dans le code des conditions variables pour réduire la consommation électrique inutile lors d'une attente active.
Correction de plusieurs problĂšmes de sauvegarde du contexte de la FPU pour l'architecture x86_64:
Cela corrige des crashs d'application et mĂȘme des kernel panic dans certains cas.
Les drapeaux de protection des zones de mémoire du noyau ne sont plus visibles par les utilisateurs non privilégiés. L'utilisateur "user" principal peut toujours y accéder, cela est utilisé par exemple par ProcessController. Correction d'un flag mal positionné pour les zones mémoire de l'allocateur "slab", qui n'étaient pas indiquées comme accessibles en écriture.
Renommage des fonctions concernant la gestion des interruptions pour Ă©viter l'abbrĂ©viation "int" qui pouvait prĂȘter Ă confusion avec "integer" dans certains cas. Utilisation du mot complet "interrupt" lorsque c'est possible, ou Ă dĂ©faut de "intr".
Correction d'une fuite de mémoire dans la gestion de la mémoire physique avec du paging à 5 niveaux (LA57).
Correction d'un interblocage dans le cache du systÚme de fichier identifié à l'aide des tests de gVisor.
Correction d'un bug dans la fonction vsnprintf du noyau qui n'affichait pas correctement les nombres inférieurs à 0.1 (les 0 aprÚs le point étaient perdus, et donc 0.01, 0.001. 0.0001, ⊠étaient tous affichés comme 0.1).
L'appel systĂšme create_dir
retourne EEXIST
si un fichier ou un dossier existe dĂ©jĂ Ă l'endroit demandĂ©, et ce, mĂȘme si le systĂšme de fichier est en lecture seule. Auparavant, l'appel systĂšme retournait EROFS
, ce qui perturbe certaines applications.
AmĂ©lioration du traitement des "doubles fautes" (lorsque le traitement d'une exception matĂ©rielle dĂ©clenche une autre exception matĂ©rielle) sur x86. Le registre GS Ă©tait corrompu, ce qui empĂȘchait l'utilisation du debugger dans ce cas, et plusieurs autres problĂšmes conduisaient vraissemblablement Ă une "triple faute" (une exception dans le traitement de l'exception dans le traitement de⊠bon vous voyez le principe), et Ă un redĂ©marrage de la machine car Ă ce stade il est peu probable qu'aucune autre opĂ©ration ne remette le systĂšme dans un Ă©tat cohĂ©rent.
Amélioration du bootloader PXE pour afficher clairement "Network" dans la méthode de démarrage, ainsi que l'adresse IP du serveur de disque fournissant le rootfs.
Remise en route du développement sur la console graphique utilisée pour simuler un mode texte pour le menu de démarrage, lorsque la machine ne fournit pas un mode texte matériel ou au niveau de son BIOS (c'est le cas par exemple sur certains Chromebooks avec SeaBIOS). Pour l'instant, cela nécessite une version du bootloader compilée spécifiquement pour ce cas de figure, car on ne sait pas encore détecter de façon fiable si le mode texte du BIOS est disponible.
Par Anarchos, augiedoggie, korli, phcoder, waddleslplash
Poursuite du travail pour corriger tous les warnings détectés par le compilateur, ainsi que quelques problÚmes détectés par les sanitizers de gcc (libasan et libubsan) qui sont maintenant compatibles avec Haiku.
Correction de problĂšmes empĂȘchant de cross-compiler Haiku depuis FreeBSD ou un systĂšme Linux utilisant la libc musl. Correction Ă©galement de problĂšmes pour le build depuis macOS.
Suppression de fichiers inutiles dans la version de unzip intégrée dans le build de Haiku.
Généralisation des options permettant d'activer la "stack protection" à plus de parties du systÚme.
Remplacement de la commande which
par command -v
. Cette derniÚre est un builtin de la plupart des shells, elle est donc plus rapide à exécuter et ne nécessite pas une dépendance supplémentaire.
Migration de Python 2 à Python 3 pour le script générant les fichiers "libroot stubs" (utilisé uniquement lors du bootstrapping de Haiku pour une nouvelle architecture).
Mise Ă jour de la version de m4
utilisée pour le bootstrap de Haiku (compilation de tous les paquets à partir des sources, utile en particulier pour le portage sur une nouvelle architecture).
Ajout des modules PCI manquants dans l'image de bootstrap.
Par korli, PulkoMandy, waddlesplash
Ce trimestre, il y a principalement du travail sur la documentation interne. Il s'agit d'un document destiné aux développeurs de Haiku, par opposition aux développeurs d'applications pour Haiku, qui se tourneront plutÎt vers le Haiku book pour les informations sur les interfaces publiques du systÚme.
Mise à jour de la documentation sur la procédure à suivre pour synchroniser du code avec d'autres systÚmes. Haiku réutilise du code de FreeBSD, NetBSD, OpenBSD, musl et quelques autres, et maintient également deux copies de gcc et des binutils. Il est important d'avoir une procédure bien définie pour tracer ce qui a été importé, depuis quelle version, et quels changements ont été effectués. Plusieurs documentations existaient avec différentes fçons de faire, dont certaines étaient obsolÚtes.
Dans la documentation du device manager, ajout d'une image montrant un exemple de device tree, pour mieux visualiser ce qui est expliqué dans la page.
Déplacement d'articles sur l'implémentation des appels systÚmes du site web principal vers la documentation interne (dans le cadre d'un trÚs long projet pour réorganiser la documentation et libérer le site principal de nombreux articles techniques pour en faire une vitrine plus orientée vers les utilisateurs).
Ajout dans la documentation interne d'un article sur le profilage et l'analyse de performance des applications.
Correction de liens internes morts dans la documentation interne sur la gestion des paquets, suite Ă des erreurs de formatage.
Mise Ă jour de la documentation interne sur le processus de bootstrap.
Par kuku929, oco, PulkoMandy, waddlesplash
Commentaires : voir le flux Atom ouvrir dans le navigateur
Le bureau LXQt est sorti le 17 avril 2025 en version 2.2.0. Comme prévu depuis la version 2.0, le développement est centré sur le confort : améliorations du support Wayland et ergonomie.
Pour mémoire, LXQt est un environnement de bureau fondé sur Qt, issu du rapprochement de deux projets, Razor-qt et LXDE, et publié sous licence GPL.
Le support de Wayland est encore meilleur, particuliĂšrement en multi-Ă©crans oĂč on utilise des noms dâĂ©crans plutĂŽt que des nombres (appelez vos Ă©crans mieux ça fera sourire Miou-Miou). En outre vous pourrez utiliser les derniĂšres versions stables des compositeurs Wayland.
Niveau ergonomie, le gestionnaire de fichiers PCManFM-Qt accepte les terminaux personnalisĂ©s, le terminal QTerminal est encore plus lisible et tous les deux amĂ©liorent plein de petits trucs puisque câest dans les dĂ©tails que ça se cache. Dernier point notable, les utilisateurs de portables peuvent crĂ©er des profils dâĂ©nergie pour mieux gĂ©rer la batterie.
Pendant ce temps-là LXDE est abandonné.
Commentaires : voir le flux Atom ouvrir dans le navigateur
OĂč lâon sâessaie Ă dresser un panorama des logiciels comptables libres. Ă lâorigine de cette dĂ©pĂȘche, une recherche dâun logiciel de paye libre oĂč il a semblĂ© que cela pouvait ĂȘtre utile.
Il sâagit bien de logiciels de comptabilitĂ© pour un usage professionnel ou associatif, pas de gestion de finances personnelles qui ont fait lâobjet dâune autre dĂ©pĂȘche il y a quelque temps. Ăvidemment, il nây a aucune prĂ©tention Ă lâexhaustivitĂ©, mais plus Ă donner un panel de logiciels avec quelques idĂ©es pour choisir le vĂŽtre, le cas Ă©chĂ©ant. NâhĂ©sitez pas Ă les essayer quand câest possible et Ă croiser les informations pour vous faire votre opinion. Les fiches sont succinctes, mais câest lâoccasion pour vous dâĂ©crire plein de nouvelles dĂ©pĂȘches puisque la plupart de ces logiciels nâont pas eu de prĂ©sentations rĂ©centes sur LinuxFr.org.
Entrons tout de suite dans le vif du sujet. Voici des courtes prĂ©sentations avec des points forts et des points faibles qui se dĂ©gagent des expĂ©riences des rĂ©dacteurs et rĂ©dactrices. Pour vous aider Ă faire un choix, cette liste est suivie dâexplications plus gĂ©nĂ©rales.
Compta libremen com est un logiciel de compta en partie double, simple et efficace. Il utilise une interface web sans fioritures. Le logiciel est Ă©crit en Perl et sâappuie sur Postgresql et mod_Perl, avec un serveur Apache. Un fork amical fournit une image Docker et quelques amĂ©liorations. Libremen propose une offre en ligne.
Commentaires de lâauteur recueillis par courriel : on a un peu dâaide Ă la saisie, il y a les raccourcis claviers (calcul du numĂ©ro de piĂšce, recopie de la ligne prĂ©cĂ©dente) et aussi les fenĂȘtres dĂ©roulantes pour les numĂ©ros de compte, plus le fait que le navigateur enregistre les derniĂšres saisies ; je crois avoir documentĂ© toutes les fonctions, la documentation est dite âminimumâ, le logiciel est minimaliste par essence, donc la doc aussi :-)
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | oui |
IntĂšgre | documents TVA, export FEC |
Comptabilité | en partie double |
ComptabilitĂ© analytique | oui, champ âLibreâ |
Imports | écritures en CSV |
Exports | écritures en CSV |
Transmission automatisée | non |
En réseau | oui, et aussi sur Internet |
Documentation | oui, minimum |
Forum | non |
Le logiciel existe en deux versions, Diacamma Asso pour les associations et Diacamma Syndic pour les copropriétés. Diacamma utilise une interface web, avec un serveur intégré. Un installeur est fourni pour Windows, macOSX et Linux (Debian conseillée). Le CHATONS Sleto propose une offre en ligne.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | non |
IntÚgre | achats, ventes, factures, adhérents, documents et + |
Comptabilité | en partie double |
Comptabilité analytique | oui, simplifiée |
Imports | écritures comptables, articles, contacts |
Exports | écritures en CSV |
Transmission automatisée | non |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | restreint aux connectés, gratuit |
Dolibarr est un puissant ERP pour tous types dâentreprises et dâassociations. Il existe des prĂ©-sĂ©lections des modules nĂ©cessaires Ă votre activitĂ©. Dolibarr utilise une interface web avec des serveurs web et SQL. Un installeur est fourni pour Windows et des paquets pour plusieurs distributions Linux. Beaucoup dâoffres dâhĂ©bergement existent. Il rĂ©unit une forte communautĂ©, surtout francophone. Le dĂ©veloppement est trĂšs actif.
Notez quâon parle souvent de Dolibarr sur LinuxFr.org et quâun journal sur une migration dâERP a produit des interventions de haut niveau.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, adhĂ©rents, documents, stock, et plein dâautres |
Comptabilité | simplifiée ou en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | des journaux, du Grand Livre, et des écritures sous différents formats |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Une solution en ligne de gestion dâexploitation agricole.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Un puissant ERP créé en Inde, le fork Dokos est la version française. Ăcrit en Python et JavaScript au-dessus dâune base Postgresql. Modulaire, il se positionne comme Odoo (voir ci-dessous). Comparons-les : lâinterface est plus austĂšre, la renommĂ©e moindre entraĂźne peu de contributeurs tiers Ă proposer des modules, lâĂ©quipe est plus petite, mais tout aussi dynamique, ERPNext Ă©volue vite, il est basĂ© sur le framework FRAPPĂ qui est stable et permet dâextraire les applications de lâERP, lâensemble est intĂ©gralement libre.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, documents, stock et plein dâautres modules |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | écritures en CSV |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
MĂȘme Ă©quipe quâERPNext. Câest juste le morceau comptable dâERPNext, refait en application de bureau et portable par dessus SQLite. Pour les petites entreprises.
Sous le nom sympathique et tarabiscotĂ© de Galette (Gestionnaire dâAdhĂ©rents en Ligne ExtrĂȘmement TarabiscotĂ© mais Tellement Efficace) se cache un logiciel Ă destination des associations.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntÚgre | achats, ventes, factures, adhérents |
Comptabilité | simplifiée ou en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
GnuCash figure dans la bibliothĂšque logicielle de la plupart des distributions Linux. Câest un logiciel qui fait aussi bien la comptabilitĂ© personnelle que la comptabilitĂ© professionnelle. Il propose des fonctionnalitĂ©s de CRM de base : gestion des adresses des clients et des fournisseurs.
Interface | Bureau (Gtk) |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | |
Documentation | oui, complĂšte |
Forum | oui |
Un logiciel qui fonctionne tout seul et qui est souvent fourni dans les distributions Linux. Il est surtout utilisable pour les finances personnelles, mais il propose un mode comptabilitĂ© libĂ©rale et peut ĂȘtre utilisĂ© par des micro-entreprises.
Interface | Bureau (GTK-3) |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Laurux intĂšgre les outils classiques de gestion dâentreprise : comptabilitĂ©, facturation, gestion de stock et tous les composants nĂ©cessaires aux prises de dĂ©cisions cohĂ©rentes. DĂ©veloppĂ© en Gambas avec Qt Ă destination des PME, son auteur a aussi voulu crĂ©er un logiciel simple dâinstallation et dâutilisation livrĂ© avec toute la documentation utile. Lâauteur fournit une attestation individuelle de conformitĂ©, obligatoire dans la loi française. Son forum communautaire est accueillant.
Interface | Bureau (Qt) |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, point de vente |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | plein de formats |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Ledger est un outil en ligne de commande, quâon nourrit avec de simples fichiers textes. La puissance de la ligne de commande en fait tout lâintĂ©rĂȘt. DĂ©veloppĂ© en C++ il a Ă©tĂ© portĂ© sur de nombreux autres langages. Ledger ne fait que la comptabilitĂ© en partie double. Plusieurs extensions facilitent son utilisation, sans entraver la rapiditĂ© de saisie.
Interface | Console (terminal) |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Au dĂ©part centrĂ© sur la compta, Noalyss est devenu un logiciel de gestion dâentreprise trĂšs complet. Noalyss utilise une interface web avec des serveurs web et Postgresql. Des paquets et une procĂ©dure dâinstallation existent pour Linux, Windows et MacOSX. Activement dĂ©veloppĂ© en Belgique, sa communautĂ© importante est conviviale.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | ? |
IntĂšgre | achats, ventes, factures, stock, documents, etc. |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | ? |
En réseau | oui, et aussi sur Internet |
Aide | docu, wiki, tutos |
Communauté | forum, liste |
Odoo est un puissant ERP, modulaire, utilisĂ© par des micro-entreprises comme des multinationales. Lâentreprise Odoo connaĂźt une croissance rapide depuis vingt ans, et emploie plus de 2000 personnes dans le monde. Le fondateur dâOdoo poste rĂ©guliĂšrement des dĂ©pĂȘches annonçant les nouvelles versions dâOdoo sur LinuxFr.org, et un journal sur une migration dâERP a produit des interventions de haut niveau. Odoo est Ă©crit en Python et utilise Postgresql, son interface est Ă©crite en XML et Javascript. Il est facile Ă installer.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, stocks, documents et plein dâautres modules |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
OpenConcerto est un progiciel de gestion intĂ©grĂ©e (PGI ou ERP). Sa cible : les entreprises, grandes ou petites. Câest une application java Ă installer sur chaque poste utilisateur. Guillaume Maillard, son auteur, est un vieil habituĂ© de LinuxFr.org.
Interface | Bureau (version Web prévue en 2023) |
Aide Ă la saisie | oui |
Saisie au km | oui |
IntĂšgre | achats, ventes, factures, stock, paye, documents |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | FEC (DGFIP), EBP, Sage, Relation experts (Coala), Quadratus, Cegid CCMX |
Transmission automatisée | SEPA |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Un logiciel principalement destinĂ© aux associations, qui peut aussi ĂȘtre utilisĂ© par des micro-entreprises. On lâutilise via un navigateur, il y a mĂȘme une application pour mobile. Câest un logiciel complet de gestion dâassociation : membres, cotisation, comptabilitĂ©, communication.
Interface | web |
Aide Ă la saisie | oui |
Saisie au km | |
IntĂšgre | achats, ventes, factures, |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | écritures comptables |
Exports | |
Transmission automatisée | |
En réseau | oui, et aussi sur Internet |
Documentation | oui, complĂšte |
Forum | oui |
Tryton est un puissant ERP pour entreprises de toutes tailles. Il est accessible via un client Web, une application native ou bien une ligne de commande en Python. Lâapplication cliente est dispo pour Windows, Mac et Linux, le serveur est empaquetĂ© pour plusieurs distributions Linux. Comme Odoo dont il est un fork, Tryton est basĂ© sur une architecture trois tiers Ă©crite en Python (et un peu de ECMAScript version 6) avec PostgreSQL comme base de donnĂ©es. Les auteurs nous parlent rĂ©guliĂšrement de Tryton sur LinuxFr.org.
Interface | Bureau, Web, Console |
Aide Ă la saisie | oui |
Saisie au km | oui |
IntĂšgre | achats, ventes, factures, stock, projet, etc. |
Comptabilité | en partie double |
Comptabilité analytique | oui |
Imports | CSV, AEB43, CODA, OFX ou CAMT.053 |
Exports | FEC ou CSV |
Transmission automatisée | Chorus, SEPA |
En réseau | oui, et aussi sur Internet |
Documentation | oui |
Forum | oui |
Bien entendu, il manque plein de logiciels. On sâest limitĂ© Ă ceux quâon a pu tester. Si ce petit rĂ©sumĂ© ne vous suffit pas ou nâest plus Ă jour, voici des sites avec des listes complĂ©mentaires (merci dâindiquer en commentaire si vous en connaissez dâautres).
Avant tout pour faciliter la saisie comptable, fastidieuse quand elle est faite sur du papier (ou des tablettes de cire Ă lâorigine !). Toutes les formes de comptabilitĂ© demandent une rigueur, des connaissances, du calcul et du temps â câest un mĂ©tier. Le logiciel comptable facilite tout ça.
Mais aussi pour lâautomatisation du suivi comptable, câest-Ă -dire la production automatique de synthĂšses lisibles et comprĂ©hensibles. Vous pensez peut-ĂȘtre au bilan, mais on a couramment besoin de consulter toutes les dĂ©penses Ă©lectriques ou toutes les recettes de pub sur LinuxFr.org. On a aussi besoin dâenvoyer pĂ©riodiquement ces synthĂšses Ă lâadministration, comme la transmission des recettes de TVA.
Enfin, la comptabilitĂ© enregistre toutes sortes dâopĂ©rations, produites par dâautres logiciels spĂ©cialisĂ©s (salaires, fabrication, factures, etc.). IntĂ©grer tout cela dans un mĂȘme outil permet de gagner du temps et dâĂ©viter les fautes de frappe (une facture gĂ©nĂšre automatiquement les Ă©critures comptables correspondantes). Ăa donne des logiciels plus ou moins touffus, certains intĂ©grant toute la gestion dâentreprise, voire tous les outils de travail de lâentreprise â on les nomme ERP (ou PGI en français).
Quand SAP et les AS400 rĂ©gnaient en maĂźtre sur ce domaine, les ERP Ă©taient exclusivement de trĂšs gros logiciels intĂ©grant non seulement la gestion et la comptabilitĂ©, mais aussi la production, la vente, le dĂ©cisionnel, etc. La forte adaptation aux processus de lâentreprise via un paramĂ©trage puissant, Ă©tait leur gros atout et justifiait un coĂ»t dâinstallation trĂšs Ă©levĂ©. On en est mĂȘme venu Ă appeler «SAP» ce type de logiciels.
La langue Ă©voluant sans cesse, de nos jours on appelle ERP tout logiciel intĂ©grant la gestion, le point de vente, la compta et deux trois outils de moindre importance, tandis quâon les nommait autrefois «logiciels de gestion». Mais la puissance nâest pas la mĂȘme (le besoin de formation non plus !). On a donc essayĂ© de distinguer dans la liste un puissant ERP paramĂ©trable et adaptable aux processus de lâentreprise, dâun logiciel intĂ©grant les outils de gestion.
Comme on va le voir, il y a beaucoup de critĂšres, des vĂ©rifications, des questions Ă se poser. Les articles dĂ©jĂ mentionnĂ©s de LWN.net montrent assez bien les implications de vos choix. Si vous avez de quoi faire adapter lâoutil Ă vos besoins, choisissez un ERP, puissant ou non.
Ăa dĂ©pend de votre statut fiscal, lequel est dĂ©terminĂ© par votre chiffre dâaffaires sauf dans certains cas prĂ©cisĂ©s par la loi, et ça dĂ©pend si vous voyez la comptabilitĂ© comme un outil de gestion ou une obligation fiscale. Vous pouvez donc tenir une comptabilitĂ© pour des raisons fiscales, pour des raisons lĂ©gales ou pour des raisons pratiques (ou les trois). Mais pour les mĂȘmes raisons, vous pouvez tenir diffĂ©rentes formes de comptabilitĂ© :
Sauf la premiĂšre, ces comptabilitĂ©s sâappuient sur une classification conventionnelle des opĂ©rations quâon appelle le [plan comptable]]. Celui-ci varie selon les pays et votre statut juridique. Lâutilisation du Plan comptable permet de produire les synthĂšses mentionnĂ©es plus haut â du calcul de la TVA au Bilan dâexercice.
Il y a des plans comptables tout prĂȘts, adaptĂ©s Ă des activitĂ©s particuliĂšres (comme les associations), mais tous dĂ©rivent dâun Plan comptable plus gĂ©nĂ©ral. Votre logiciel doit permettre dâimporter ou de crĂ©er le Plan comptable souhaitĂ©.
En passant, sachez quâil y a des types de comptabilitĂ©, et que leur choix ne permet pas de suivre les mĂȘmes choses. Par exemple, le monde anglo-saxon suit plutĂŽt les finances tandis que le Vieux Continent suit plutĂŽt les biens. Mais lĂ , on rentre dans des dĂ©bats de professionnels quâil nâest pas nĂ©cessaire dâaborder, dâautant que les frontiĂšres (comptables) bougent en ce moment. VĂ©rifiez ce qui est permis auprĂšs de lâadministration. Reposons notre question prĂ©alable en y rĂ©pondant du point de vue pratique :
Rappelons que beaucoup de logiciels ne se limitent pas Ă la comptabilitĂ© pure, mais intĂšgrent dâautres outils utiles Ă la gestion (graphiques des recettes, gestion de cotisations, Ă©dition de factures, transmission automatisĂ©e aux administrations, etc.). Et attention, les Ă©crans de saisie proposĂ©s dans les logiciels sont des aides dont un utilisateur expĂ©rimentĂ© se passe trĂšs bien.
La comptabilitĂ© est une obligation, câest peut-ĂȘtre obscur, fastidieux, vous la faites Ă reculons, mais la vie est ce quâelle est, nous sommes dans le systĂšme, il faut donc y passer, chaque jour, semaine, annĂ©e⊠Alors le meilleur choix, passe aussi par la facilitĂ© dâinstallation, les couleurs, la facilitĂ© de prise en main, etc.
Tout dépend donc surtout de vous :
NB Si qui peut le plus, peut le moins, sachez toutefois rester modestes si vous manquez de temps et de compĂ©tences, parce que les outils intĂ©grĂ©s demandent une certaine maĂźtrise. Eh oui ! plus vous intĂ©grez de trucs, plus il faut remplir et paramĂ©trer les trucs avant dâutiliser la partie comptable. Par exemple, sur le cas simple dâune vente, avec un outil intĂ©grĂ© il faudra avoir créé les produits, leurs taxes, le client, son bon de commande et les moyens de paiements avant dâattaquer la partie comptable.
En application du 3° bis du I de l'article 286 du Code gĂ©nĂ©ral des impĂŽts (CGI), toute personne assujettie Ă la taxe sur la valeur ajoutĂ©e (TVA) qui effectue des livraisons de biens et des prestations de services Ă destination de clients particuliers et qui enregistre les rĂšglements reçus en contrepartie au moyen dâun logiciel ou dâun systĂšme de caisse, est tenue dâutiliser un logiciel ou un systĂšme qui satisfasse aux conditions dâinaltĂ©rabilitĂ©, de sĂ©curisation, de conservation et dâarchivage des donnĂ©es en vue du contrĂŽle de lâadministration fiscale.
Tous les dĂ©tails dans lâarticle du Bulletin Officiel des Finances Publiques - ImpĂŽts (BOFIP) TVA - RĂ©gimes dâimposition et obligations dĂ©claratives et comptables - Obligations dâordre comptable - Obligation dâutilisation de logiciels ou systĂšmes de caisse sĂ©curisĂ©s
Fichier texte tabulaire de 18 champs délimités par barres verticales ou par tabulations, ayant un nommage et un encodage précis ou éventuellement au format XML. Ce format est utilisé par la DGFiP pour pouvoir faire un contrÎle automatisable de la comptabilité. Elle fournit un utilitaire de validation de format pour Windows.
En France, la loi « anti-fraude » de 2016 et lâarticle 286 du Code des impĂŽts imposent une certification des logiciels de caisse (câest-Ă -dire des points de vente qui collectent des espĂšces) pour Ă©viter les trucages de la comptabilitĂ© via modifications du code-source. Ah ben alors fini le libre ? Mais non mon bon, les logiciels libres sont autorisĂ©s, on en a beaucoup parlĂ© sur LinuxFr.org. Toutes les structures nây sont pas tenues, typiquement il faut ĂȘtre assujetti Ă la TVA.
NB Depuis la loi de finance 2018, article 105, les logiciels de comptabilitĂ© nâont pas Ă ĂȘtre certifiĂ©s.
Si vous avez encore des doutes, consultez la FAQ en français facile Ă©crite par lâĂ©quipe de Dolibarr.
On nâen a pas beaucoup parlĂ© alors que cette dĂ©pĂȘche a commencĂ© avec la recherche dâun logiciel de paie libre. Disons tout de suite quâil est prĂ©fĂ©rable de sâappuyer sur des professionnels, en effet la gestion de la paye repose sur trois piliers :
Certains logiciels ont des modules de gestion des payes (OpenConcerto pour la paie française, Odoo pour plusieurs paysâŠ). Lâavantage est de faciliter les Ă©critures comptables. Mais attention, la gestion de la paye impose un suivi juridique et un suivi des taux des cotisations, car le cadre lĂ©gal varie selon les professions, les salaires et varie aussi dans le temps. Cette actualisation permanente est faite par les professionnels (comptables et experts comptables). Sauf Ă bien connaĂźtre votre profession ou Ă ĂȘtre dans un cadre relativement simple (par exemple celui des intermittents du spectacle en France), vous gagnerez du temps, de lâargent et de la « lĂ©galitĂ© » en passant par des professionnels. Les options les plus courantes sont de choisir un cabinet dâexpertise comptable ou un service en ligne (nettement moins cher). Lisez ou relisez les commentaires du forum.
Sâagissant de la saisie et du traitement comptable de la paie, nâimporte quel logiciel de comptabilitĂ© peut le faire, les logiciels de paye Ă©tant souvent susceptibles de mĂącher le travail Ă ce niveau-lĂ .
Commentaires : voir le flux Atom ouvrir dans le navigateur
Les mĂ©andres de l'espace de rĂ©daction sont parfois mystĂ©rieux. La rĂ©daction de certaines dĂ©pĂȘches s'Ă©talent parfois sur de long mois, parfois sans mĂȘme comprendre pourquoi la dĂ©pĂȘche ne part pas vers le stade de la publication. C'est ce qui est arrivĂ© Ă cette dĂ©pĂȘche qui ne suit donc pas autant qu'elle aurait pu l'actualitĂ© de la sortie de la nouvelle mouture de la microcarte de la Fondation Raspberry Pi, qui porte le nom trĂšs original de Raspberry Pi 5. Cette dĂ©pĂȘche - qui nous offre une comparaison de cette nouvelle Ă©dition avec son illustre ancĂȘtre ainsi qu'une investigation de ses nouveautĂ©s - reste substantielle et il nous a semblĂ© qu'il valait mieux la publier mĂȘme tardivement plutĂŽt que de la plonger dans l'oubli Ă©ternel.
Cette dĂ©pĂȘche ne traitera pas de lâensemble de ce que lâon peut faire, la prĂ©cĂ©dente dĂ©pĂȘche sur les SoC faite pour la sortie de la Raspberry Pi 4 est toujours dâactualitĂ© en ce qui concerne ces sujets.
Sorti en 2019, le RPi4 avait fait forte impressionâmais quasiment en constante pĂ©nurie entre 2020 et 2023, il commençait par accuser le coup par rapport Ă la concurrence du Rockchip RK3588 (Quad-core Cortex-A76 + Quad-core Cortex-A55).
Aussi, la Raspberry Pi 5 introduit des avancées significatives par rapport à la Raspberry Pi 4, dont le Tableau 1 présente une synthÚse des différences.
Composants | Raspberry Pi 4 | Raspberry Pi 5 |
---|---|---|
SoC | Broadcom BCM2711 | Broadcom BCM2712 |
CPU | Quad-core Cortex-A72 (1.8 GHz) | Quad-core Cortex-A76 (2.4 GHz) |
GPU | VideoCore VI (500 MHz) | VideoCore VII (800 MHz) |
Mémoire | 1, 2, 4, 8 GB LPDDR4-3200 SDRAM | 4, 8 GB LPDDR4X-4267 SDRAM |
Wi-Fi | Dual-band 802.11ac | Dual-band 802.11ac |
Bluetooth | 5.0, BLE | 5.0, BLE |
USB | 2 USB 3.0, 2 USB 2.0, 1 Type-C port | 2 USB 3.0, 2 USB 2.0, 1 Type-C port |
Stockage | MicroSD | MicroSD (SDR104âčR/WâËŁÂČ) + ligne PCIe pour NVME M.2 SSD |
Ethernet | Gigabit Ethernet | Gigabit Ethernet |
Puissance | JusquâĂ 7.5 W | 2 modes : jusquâĂ 15 W et jusquâĂ 25 W |
Gestion HDMI | 2 HDMI 2.0 (1 gérant 4k@60 Hz) | 2 HDMI 2.0 (tous les deux gérant 4k@60 Hz) |
Format vidéo | H.264 (AVC) | H.265 (HEVC) |
PCIe | Non | 1 lane PCIe pour périphériques haute performance |
Bouton dâalimentation | Non | Oui |
Tableau 1 : comparatif des Raspberry Pi 4 et 5
La Raspberry Pi 5 introduit des avancĂ©es significatives par rapport Ă la Raspberry Pi 4, en particulier avec lâintroduction du southbridge RP1. Voici une comparaison dĂ©taillĂ©e mettant en Ă©vidence les principales diffĂ©rences et lâimpact du RP1 :
Le RP1 est un contrĂŽleur dâentrĂ©e/sortie (I/O) conçu pour le Raspberry Pi 5, reprĂ©sentant le programme dâingĂ©nierie le plus complexe et coĂ»teux entrepris par Raspberry Pi, avec un dĂ©veloppement sâĂ©tendant sur plus de sept ans et ayant coĂ»tĂ© environ 25 millions de dollars. Ce contrĂŽleur est le premier produit phare de Raspberry Pi Ă utiliser une puce conçue en interneâ.
â Description : Le RP1 est un southbridge de 12Ă12 mm avec un pas de 0.65 mm en BGA (Ball Grid Array), fournissant la majoritĂ© des capacitĂ©s dâE/S pour la Raspberry Pi 5.
â CaractĂ©ristiques : Il comprend un point de terminaison PCIe 2.0 Ă 4 voies, un contrĂŽleur Ethernet MAC Gigabit et deux contrĂŽleurs hĂŽtes USB 3.
â AmĂ©liorations : Plus du double de la bande passante USB utilisable par rapport Ă la Raspberry Pi 4.
â Documentation RP1 : RP1 Datasheet
â Lâarticle dâEben Upton pour annoncer le RP1 : RP1 : the silicon controlling Raspberry Pi 5 (ce court article est accompagnĂ© dâune vidĂ©o YT de 35 minutes Ă ce sujet, mais dont le contenu est reproduit textuellement en suivant un lien)
â Lien direct vers la vidĂ©o YT : RP1 : the silicon controlling Raspberry Pi 5
Le RP1 constitue une avancĂ©e importante, puisque les GPIOs âphysiquesâ de la carte ne sont plus directement reliĂ©es aux GPIOs du microprocesseur et de leurs fonctions possibles (SPI/I2C/UART/I2S) attribuĂ©es par le fondeur dans le silicium.
Afin de permettre de mieux visualiser les évolutions des performances Alasdair Allan a fait un benchmark complet dont certains éléments sont repris ici.
Tout dâabord une analyse des performances du CPU avec geekbench. Les Figures 1 et 2 montrent une augmentation des performances en single core dâapproximativement 2.2x,
Figure 1. : Comparaison des performances single core entre RPi4 et 5
Figure 2. : Comparaison des performances multi core entre RPi4 et 5
Compilation de différents benchmarks entre RPi 4 et 5
Benchmark | Unités | Raspberry Pi 4 | Raspberry Pi 5 | Augmentation de Performance |
---|---|---|---|---|
Sysbench Mono-Thread | MBps | 699 | 1041 | x1,49 |
Sysbench Multi-Thread | MBps | 2794 | 4165 | x1,49 |
Stress-ng Mono-Thread | op/s | 104,78 | 182,68 | x1,74 |
Stress-ng Multi-Thread | op/s | 413,12 | 737,21 | x1,78 |
Bzip Mono-Thread | secondes | 44,98 | 20,53 | x2,19 |
Bzip Multi-Thread | secondes | 28,59 | 14,36 | x1,99 |
Gimp Redimensionner | secondes | 67,01 | 29,95 | x2,24 |
Gimp Rotation | secondes | 77,24 | 32,77 | x2,36 |
Gimp Niveaux Auto | secondes | 80,52 | 34,64 | x2,32 |
Gimp Masque Flou | secondes | 115,16 | 49,71 | x2,32 |
Speedometer 2.1 | score | 20,5 | 62,5 | x3,05 |
Glmark2 | score | 97 | 202 | x2,08 |
Openarena Timedemo | FPS | 8,77 | 27,05 | x3,08 |
RAMspeed Ăcriture | MBps | 4391 | 29355 | x6,69 |
RAMspeed Lecture | MBps | 5902 | 27931 | x4,73 |
HDparm Lecture | MBps | 43,81 | 90,05 | x2,06 |
dd Ăcriture | MBps | 34,49 | 61,23 | x1,78 |
Iozone 4 K Ăcriture RAND | MBps | 9,38 | 15,22 | x1,62 |
Iozone 4 K Lecture RAND | MBps | 4,71 | 4,6 | x0,98 |
Temps de démarrage | secondes | 33,4 | 19,1 | x1,74 |
La Figure 3. issue du travail dâAdafruit permet de mettre Ă jour le graphique sur la vitesse performance de la commutation des I/O proposĂ© dans la dĂ©pĂȘche sur la RPi4. La Figure 4. quant Ă elle montre une lĂ©gĂšre amĂ©lioration de la performance par Watt sur le nouveau modĂšle.
Figure 3. Ăvolution de la vitesse de commutation dâune sortie numĂ©rique
Figure 4. Ăvolution de la performance en fonction de la puissance Ă©lectrique
â Interfaces: Le RP1 fournit deux interfaces USB 3.0 et deux interfaces USB 2.0, ainsi quâun contrĂŽleur Ethernet Gigabit.
â Source: Circuit Digest â The New Raspberry Pi 5 is here
Le Gigabit Ethernet fourni par le RP1 est en tout point semblable Ă celui du RBPi4 (voir : RP1 : the silicon controlling Raspberry Pi 5:
Liam 13:21: So weâve got the Ethernet MAC but not the PHY. So the Ethernetâs brought out to an RGMII interface, which then connects to an on-board Ethernet PHY.
Eben 13:35: And this is a fairly similar architecture to Raspberry Pi 4, except that in that case, the MAC was in the Broadcom device, but there was still an external â in fact exactly the same external â PHY, [BCM]54213. Cool. So thatâs the overall structure of the design.
Ces interfaces dâentrĂ©e/sortie vidĂ©o peuvent ĂȘtre qualifiĂ©es dâhistoriques dans lâĂ©cosystĂšme RaspberryPi puisquâelles sont prĂ©sentes depuis la version 1. Le RBPi5 apporte toutefois une nouveautĂ© assez remarquable par rapport Ă ses prĂ©dĂ©cesseurs : au lieu dâavoir un port CSI (pour une camĂ©ra) et un port DSI (pour un Ă©cran), les ports du RBPi5 peuvent ĂȘtre configurĂ©s pour lâune ou lâautre fonction. Malheureusement, cela sâest traduit par des changements notables au niveau de la disposition des composants sur la carte, qui ne sont pas sans susciter quelques grincements de dents parmi les utilisateurs.
â Le port audio a disparu, pour laisser sa place au port MIPI DSI (qui peut faire CSI Ă prĂ©sent), lui-mĂȘme remplacĂ©, au-dessus du lecteur de carte microSD, par un connecteur FPC exposant les lignes PCIe.
â le port DSI est passĂ© de 15 pins Ă 22 pins (comme sur la carte CMIo4)
â Et, encore une fois, les ports Ethernet et USB ont Ă©tĂ© inversĂ©s.
Si cela ne pose pas de problÚmes particuliers pour un utilisateur lambda, de nombreux projets basés sur les cartes RasperryPi à la recherche de performance de calcul (et donc potentiellement intéressés par ce nouveau RBPi5) doivent entiÚrement revoir la conception de leur matériel.
Câest un reproche que lâon peut trouver dans de nombreux tĂ©moignages : mettre un HAT (carte dâextension) sur un RBPi, juste au dessus du CPU, câest un non-sens en termes de refroidissement (et ce, quelle que soit la version du RBPi).
Mais, pour relativiser, on peut dire la mĂȘme chose de quasiment toutes les autres solutions alternatives au RBPi.
Ce format (86x56 mm) est devenu une rĂ©fĂ©rence pour presque tous les acteurs du monde des SBC. Et donc, il sâagit lĂ aussi dâun constat plus gĂ©nĂ©ral, non spĂ©cifiquement adressĂ© Ă RaspberryPi. Mais sachant que ce sont les locomotives du marchĂ©, peut ĂȘtre pourraient-ils initier une nouvelle approcheâŠ
Certes, ce format permet dâĂ©laborer des solutions compactes, mais lâon peut constater :
â quâaugmenter la puissance et les fonctionnalitĂ©s des puces embarquĂ©es tout en restant sur ce format conduit Ă un gaspillage inutile de ressources : il est en effet impossible dâimplĂ©menter toutes les fonctionnalitĂ©s matĂ©rielles proposĂ©es par les puces sur une si petite surface, et par ailleurs il devient difficile de refroidir efficacement le systĂšme.
â pour exposer le port PCIe, RaspberryPi a supprimĂ© le port audio, dĂ©placĂ© le port DSI ; mais pour alimenter le bouzin, il vous faut du 5V 4A. Ensuite un peu tout le monde se trouve plantĂ© lĂ : dĂ©brouillez-vous.
Commentaires : voir le flux Atom ouvrir dans le navigateur
Suite Ă une question posĂ©e en 2023, cette dĂ©pĂȘche propose un Ă©tat des lieux des sources librement accessibles (sans imposer un jeton pour accĂ©der aux API pour obtenir de maniĂšre structurĂ©e lâinformation) permettant de suivre les jours en tensions pris en compte dans lâoption tarifaire TEMPO chez EDF. Cette option tarifaire consiste Ă payer moins cher lâĂ©lectricitĂ© Ă condition de la payer 3 fois plus cher 22 jours dans lâannĂ©e : les jours en tensions, gĂ©nĂ©ralement durant lâhiver.
Cette option permet de lisser la charge sur le rĂ©seau de transport de lâĂ©lectricitĂ©. Pour faire bon usage de cette option, il faut surveiller la couleur du jour pour dĂ©terminer sâil vaut mieux rĂ©duire le chauffage Ă©lectrique et les autres sources de consommations Ă©lectriques. Lâinformation est affichĂ©e le jour mĂȘme sur le compteur Ă©lectrique, mais il peut ĂȘtre utile dâĂȘtre prĂ©venu. On peut consulter le site de EDF, mais il peut ĂȘtre plus intĂ©ressant de disposer dâune API pour rĂ©cupĂ©rer cette information, et ainsi pouvoir lâintĂ©grer dans un systĂšme domotique, par exemple.
En effet, les forums domotiques attestent que câĂ©tait pourtant trĂšs utilisĂ©, depuis le 29/08/2024 (avant-veille du changement de saison Tempo) les URL concernĂ©es (resp. couleur du jour+lendemain et compteurs saison en cours) rĂ©pondent en erreur:
Couleurs jour/lendemain
Totaux en cours
On voit une autre URL apparaĂźtre ces derniers jours sur les forums, mais elle ne donne pas spĂ©cifiquement les couleurs jour/lendemain mais des compteurs: nombre de jours bleus, rouges et blancs depuis le dĂ©but de lâannĂ©e. Il faudrait donc dĂ©duire la couleur du jour en fonction de ce qui change dâun jour Ă lâautre! On a vu plus simple, mais comme ça marche pas on ne risque pas de lâutiliser:
URL nouvelle
{
âerrorsâ: [],
âcontentâ: [
{
âtypeJourEffâ: « TEMPO_BLANC »,
âlibelleâ: « TEMPO BLANC 2024 2025 »,
ânombreJoursâ: 43,
âpremierJourâ: « 2024-09-01 »,
âdernierJourâ: « 2025-08-31 »,
âpremierJourExcluâ: null,
âdernierJourExcluâ: null,
ânombreJoursTiresâ: 0,
âetatâ: âOUVERTEâ
},
{
âtypeJourEffâ: « TEMPO_BLEU »,
âlibelleâ: « TEMPO BLEU 2024 2025 »,
ânombreJoursâ: 300,
âpremierJourâ: « 2024-09-01 »,
âdernierJourâ: « 2025-08-31 »,
âpremierJourExcluâ: null,
âdernierJourExcluâ: null,
ânombreJoursTiresâ: 12,
âetatâ: âOUVERTEâ
},
{
âtypeJourEffâ: « TEMPO_ROUGE »,
âlibelleâ: « TEMPO ROUGE 2024 2025 »,
ânombreJoursâ: 22,
âpremierJourâ: « 2024-11-01 »,
âdernierJourâ: « 2025-03-31 »,
âpremierJourExcluâ: null,
âdernierJourExcluâ: null,
ânombreJoursTiresâ: 0,
âetatâ: « NON_COMMENCEE »
}
]
}
Le site dâEDF utilise une API interne indiquant la couleur, jour par jour, pour une plage de dates donnĂ©e. Il faut remplir quelques en-tĂȘtes HTTP pour que la requĂȘte soit acceptĂ©e :
curl \
'https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf=2023-9-12&dateApplicationBorneSup=2023-9-15&identifiantConsommateur=src' \
-H 'accept: application/json, text/plain, */*' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
Exemple de réponse:
{
âerrorsâ: [],
âcontentâ: {
âdateApplicationBorneInfâ: « 2023-09-12 »,
âdateApplicationBorneSupâ: « 2023-09-16 »,
âdateHeureTraitementActivETâ: « 2024-09-11T11:19:26Z »,
âoptionsâ: [
{
âoptionâ: âTEMPOâ,
âcalendrierâ: [
{
âdateApplicationâ: « 2023-09-12 »,
âstatutâ: « TEMPO_BLEU »
},
{
âdateApplicationâ: « 2023-09-13 »,
âstatutâ: « TEMPO_BLEU »
},
{
âdateApplicationâ: « 2023-09-14 »,
âstatutâ: « TEMPO_BLEU »
},
{
âdateApplicationâ: « 2023-09-15 »,
âstatutâ: « TEMPO_BLEU »
}
]
}
]
}
}
Ces APIs semblent rĂ©pondre en erreur « La syntaxe de la requĂȘte est erronĂ©eâŻÂ» alĂ©atoirement lorsquâon y accĂšde avec curl. Une requĂȘte peut fonctionner une fois puis subitement cesser de rĂ©pondre. Sâagit-il dâune limitation du nombre de requĂȘtes venant de la mĂȘme IP? Dâune authentification Ă effectuer pour avoir le droit de faire des requĂȘtes? Ou juste dâun systĂšme complĂštement buggĂ© qui plante une fois sur 10?
Pour ceux, que jâimagine nombreux, a qui cela va poser problĂšme et qui ne veulent (ou peuvent) obtenir lâinfo via un module tĂ©lĂ©info Ă monter sur son compteur, il y a une URL dont je nâai pas trouvĂ© rĂ©fĂ©rence sur le site de RTE (qui ne propose que des API Ă jetons) qui se trouve en regardant le github source dâun site tiers donnant Ă©galement lâinfo:
Source tierce
Lâinfo dĂ©livrĂ©e par le compteur arrive en prime bien plus tardivement: En dĂ©but de soirĂ©e au lieu de fin de matinĂ©e. Câest parce quâelle transite par Enedis, une autre entreprise qui se charge de la distribution de lâĂ©lectricitĂ© (les lignes Ă basse tension et les compteurs Ă©lectriques).
On peut donc utiliser cette indirection ou regarder les sources afin de trouver lâURL en question, pour laquelle on a une info hĂ©las bien plus verbeuse oĂč il faut faire son marchĂ© : on rĂ©cupĂšre un JSON de tous les jours Ă©coulĂ©s depuis le dĂ©but de la saison en cours, et il faut :
â extraire lâinfo aux bonnes dates,
â refaire ses compteurs de jours bleu/blanc/rouge pour savoir sâil reste des jours rouges ou blancs prĂ©vus avant la fin de lâhiver,
â traiter le flag âfallbackâ qui, selon la documentation, indique un mode dĂ©gradĂ©, mais ce flag ne semble jamais ĂȘtre mis Ă âtrueâ dans lâhistorique des donnĂ©es disponibles, et son rĂŽle exact nâest pas clair.
Il est au final navrant quâEDF remplace un truc simple qui marchait trĂšs bien par un machin alambiquĂ© qui tombe en marche une fois sur 10âŠ
Je ne donne pas lâURL librement accessible, mais non documentĂ©e, de RTE car je nâaimerais pas quâelle croule sous les demandes: Ceux qui sont capables de lâutiliser de maniĂšre raisonnĂ©e sans exploser des quotas sauront bien la trouver avec les infos donnĂ©es!
(RTE, RĂ©seau de Transport de lâĂlectricitĂ© est lâentreprise qui sâoccupe du rĂ©seau Ă©lectrique Ă haute tension en France. Ce sont eux qui dĂ©terminent les jours oĂč le rĂ©seau va ĂȘtre trĂšs chargĂ©, et câest ça qui dĂ©termine le prix de lâĂ©lectricitĂ©).
Un avantage Ă lâutiliser, câest que lâinfo est disponible encore plus tĂŽt quâelle ne lâĂ©tait chez EDF (câĂ©tait gĂ©nĂ©ralement MAJ peu aprĂšs 11h00), permettant dâanticiper encore un peu plus un jour rouge, sachant quâils sont souvent en sĂ©rie, si on a quelques lessives Ă lancerâŠ
Sâil y a des suggestions dâalternatives (sans jetons dâAPI) non citĂ©es, merci de les indiquer en commentaires.
Commentaires : voir le flux Atom ouvrir dans le navigateur
En plein procĂšs du financement libyen de la campagne 2007, Reflets rouvre une enquĂȘte sur une histoire mĂ©connue : 30 millions d'euros versĂ©s sur ordre de l'ElysĂ©e pour Ă©quiper l'hĂŽpital de Benghazi. Et dans cette affaire, il y a eu mort d'homme. Depuis nos rĂ©vĂ©lations en 2015, le Parquet national financier s'est saisi du volet corruption de ce dossier. Une audience est prĂ©vue en juin prochain.
« M. GuĂ©ant a dit : il faut qu'on s'occupe de l'hĂŽpital de Benghazi. On s'en est occupĂ©s. » Cette phrase anodine, jetĂ©e en pleine sĂ©ance du tribunal ce lundi 20 janvier par Nicolas Sarkozy, a eu lâeffet dâun coup de tonnerre sur les connaisseurs du dossier. Ă peine prononcĂ©e, elle a fait resurgir tout un pan du passĂ© trouble de la France en Libye, oĂč la libĂ©ration des infirmiĂšres bulgares sert de sordide toile de fond Ă des intrigues franco-libyennes. Or ces intrigues oĂč l'argent de la France a coulĂ© Ă flots ont coĂ»tĂ© la vie Ă un Français, Patrice RĂ©al, le soir du 2 mars 2014 Ă Benghazi. Qui sâen souvient ?
Ce responsable de la sĂ©curitĂ© du fameux Benghazi Medical Center, 49 ans, employĂ© par un prestataire de la trĂšs controversĂ©e sociĂ©tĂ© française Ideal Medical Product Engineering (IMPE) est mort criblĂ© de balles, alors quâil Ă©tait passager dâun minibus, de retour du souk de Benghazi. LâenquĂȘte -classĂ©e sans suite- nâa jamais permis de savoir qui Ă©taient les tueurs et surtout pourquoi cet homme apparemment sans histoire a Ă©tĂ© visĂ©. Sa mort a fait lâobjet de quelques Ă©chos dans la presse, mais en 2014, personne ne sâĂ©tait jamais inquiĂ©tĂ© de savoir qui il Ă©tait, ni dâoĂč il venait. Des rumeurs jamais confirmĂ©es Ă©voquaient un agent secret français. En 2015, avec Jacques Duplessy (nous sommes deux journalistes travaillant aujourdâhui pour Reflets), nous avions dĂ©nouĂ© les premiers fils de lâĂ©nigme, avec la conviction que le Benghazi Medical Center n...