Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Kivy : un cadriciel graphique unique en Python

Kivy est un cadriciel (framework) graphique, permettant de développer des interfaces tactiles (ou utilisable à la souris) sur toutes les plateformes, y compris mobiles. Il s'accompagne d'une suite de logiciels très pratiques que nous allons présenter ici.

logo Kivy

Sommaire

Kivy : boîte à outils graphique multi-plateformes

Kivy permet de créer des interfaces graphiques naturellement adaptées aux écrans tactiles (mais qui restent utilisables sur un environnement de bureau traditionnel, à la souris et sans écran tactile). Il est écrit principalement en Python mais les parties critiques sont écrites en Cython, ce qui lui permet d’avoir de bonnes performances.

Une interface Kivy peut s’écrire de deux façons (ou, plus couramment, par une combinaison de ces deux façons) : en Python directement, ou via kv, une syntaxe déclarative dont nous parlons plus bas.

Pour vous donner une idée, voici un exemple de hello world repris du site officiel de Kivy :

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()

Ce qui donnera :
capture d’écran du hello world

Une interface est composée de « widgets » agencés via des « layouts ». Certains widgets permettent de facilement mettre en place des composants communs de nos jours, comme par exemple le widget Carousel :
capture d’un widget Carousel

D’autre part, Kivy fournit des outils qui simplifient la vie du développeur ou de la développeuse, en particulier un système de propriétés (à ne pas confondre avec les propriétés Python) qui permet de mettre automatiquement l’interface à jour quand elles sont modifiées, ou de facilement attacher une fonction de rappel (« callback »), voir plus bas pour un exemple simple. On peut aussi citer un mécanisme d’animations très pratique et efficace.

kv : interface graphique en déclaratif

kv est un langage permettant de décrire des interfaces, il met à profit les propriétés mentionnées plus haut et l’interface va se mettre à jour automatiquement quand des propriétés utilisées dans kv sont modifiées.

Reprenons le hello world vu plus haut, et faisons-le avec kv:

Widget:
    Button:
        text: "Hello World"

Plutôt simple non ?
Le code kv est généralement mis dans des fichiers séparés avec l’extension .kv.

Les propriétés

Kivy a donc un concept de propriété, qui permettent la liaison de données bidirectionnelles (two-way data binding), ou en d’autres termes de facilement avoir l’état mis à jour entre le code python et l’interface décrite dans le fichier kv. C’est à l’usage très pratique et facile.

Un exemple va sans doute aider à comprendre.

Commençons par faire un environnement virtuel Python avec Kivy:

$ mkdir demo

$ cd demo

$ python -m venv env

$ source env/bin/activate

$ pip install kivy

Ensuite créez le fichier demo.py suivant :

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty

class CompteurWidget(BoxLayout):
    compteur = NumericProperty(0)

    def increment(self):
        self.compteur += 1

class DemoApp(App):
    def build(self):
        return CompteurWidget()

DemoApp().run()

Et maintenant, dans le même répertoire, ajoutez le fichier demo.kv suivant, ce dernier sera automatiquement découvert par Kivy parce qu’il s’appelle comme notre application (DemoApp) sans le suffixe App et en minuscule :


<CompteurWidget>:
    orientation: 'vertical'
    padding: 20

    Label:
        text: str(root.compteur)
        font_size: 30

    Button:
        text: "Incrémenter"
        on_press: root.increment()

Il ne nous reste plus qu’à lancer le programme :

python demo.py

Et à admirer :

capture d’écran du programme de démo

Le label se met automatiquement à jour quand le compteur compteur est incrémenté.

La lectrice ou le lecteur assidu de DLFP pourra faire un TapTempo en exercice.

Note: Ne vous arrêtez pas au fait que l’UI est un peu "moche" par défaut, il y a des extensions beaucoup plus attractives (cf. KivyMD plus bas), et il est très facile de personnaliser l’interface et d’en faire une très belle en modifiant un peu ses fichiers .kv.

Plyer : accéder facilement aux fonctionnalités matérielles de votre appareil

Plyer est une bibliothèque permettant d’accéder à nombre de fonctions utiles de manière indépendante de la plateforme. Ainsi vous avez une API commune pour afficher une notification, demander l’état de la batterie, faire vibrer l’appareil, faire de la synthèse vocale de texte (« text-to-speech »), ouvrir un fichier avec le dialogue natif de la plateforme, etc.

Bien que développé par la même équipe que Kivy, ce paquet est utilisable indépendamment et est donc particulièrement utile pour n’importe quel projet multi-plateformes. Référez-vous à la page du projet pour avoir un tableau des fonctionnalités supportées selon les plateformes, et à la documentation pour plus de détails.

Python For Android : utiliser Python… sur Android

Si vous souhaitez distribuer votre application sur Android, vous allez devoir avoir une version de Python compilée pour cette plateforme, ainsi que de tous les paquets nécessitant une compilation.

C’est le rôle de Python pour Android, qui est une collection d’outils qui s’appuient sur l’Android SDK pour permettre d’utiliser Kivy ou d’autre paquets Python sur Android, et ainsi faire votre propre distribution Python.

Si vous utilisez un paquet qui n’est pas en pur Python (c’est-à-dire qu’il y a des parties à compiler) et qui n’est pas encore disponible ou qui l’est mais dans une version trop ancienne, vous pouvez écrire ou mettre à jour des « recettes » (recipes en anglais) qui indiquent comment compiler. Référez-vous à la documentation pour voir comment faire.

Notez toutefois qu’il y a une pénalité à utiliser du Python par rapport à une application dans un langage compilé : il faut charger l’interprète au démarrage, et au tout premier lancement de votre application (et uniquement au premier) il y a aura une phase de décompression de vos fichiers. En dehors de ces petits inconvénients, ça fonctionne très bien.

Là encore, le projet est indépendant de Kivy et peut être utilisé avec un autre cadriciel.

Kivy for iOS : déployez sur les appareils Apple

À l’instar d’Android, l’équipe de Kivy fournit les outils pour faire votre distribution Python pour iOS.

Il vous faudra posséder une machine Apple pour les utiliser, à cause des restrictions imposées par cette plateforme (ceci n’est pas spécifique à Kivy pour iOS, mais s’applique à tous les outils pour développer sur iOS).

Ainsi avec une seule base de code (et après avoir passé un peu de temps pour configurer correctement les outils de compilation), vous pouvez déployer votre application Kivy/Python sur toutes les plateformes majeures (hormis le web, pour lequel il existe d’autres options comme Brython, Pyodide ou PyScript, mais c’est un sujet pour une autre dépêche).

Pyjnius : utiliser l’API Java Android depuis Python

Parfois l’utilisation de Plyer mentionné plus haut et de la bibliothèque standard Python ne suffisent pas, et vous avez besoin d’accéder à l’API d’Android, mais cette dernière est faite pour être utilisée avec Java ou Kotlin.

Pour pouvoir utiliser l’API d’Android depuis Python, PyJNIus est disponible. Ce paquet permet d’accéder aux classes Java comme à des classes Python en utilisant JNI (« Java Native Interface » ou « Interface Native de Java »).

Ce paquet fournit une méthode autoclass qui convertit automatiquement une classe Java en Python, c’est très facile à utiliser et souvent suffisant pour les cas simples.

KivyMD, des widgets Material Design

KivyMD n’est pas un projet officiel de l’équipe Kivy, mais un projet tiers dédié à la création d’un ensemble de Widgets thémables adoptant Material Design.

Image d’exemple de KivyMD issue de la documentation

L'image ci-dessus est issue de la documentation de KivyMD, vous trouverez également des démos vidéo sur le dépôt du projet.

Quelques limitations

Une petite note sur mon expérience personnelle (Goffi). Kivy est un excellent cadriciel, et l’équipe est accueillante et réactive : c’est un projet que je recommanderais en général. Ceci dit, dans mon cas particulier (un client XMPP ayant de nombreuses fonctionnalités), j’ai quelques limitations qui me poussent actuellement à chercher des alternatives, notamment basées sur Qt (PyQt et PySide) :

  • l’accessibilité est un problème majeur. L’équipe y travaille, mais aujourd’hui les applications Kivy ne sont pas accessibles. C’est notamment dû au fait que l’interface utilisateur est entièrement gérée par Kivy, au lieu d’utiliser des composants natifs, et c’est un point complètement bloquant pour moi.
  • il n’y a pas de webview ou de rendu HTML natif, ce qui est bloquant parce que je fais du rendu de blogs.
  • le rendu de texte est incomplet, notamment sur les plateformes mobiles. C’est compliqué de faire un rendu riche avec des émojis, par exemple, un gros problème pour une application de messagerie de nos jours.
  • le support des portails Freedesktop est inexistant : il faut faire l’implémentation à la main, alors qu’il est natif sur des cadriciels majeurs comme GTK ou Qt. Je pense par exemple à l’ouverture ou l’enregistrement de fichier. Les portails sont particulièrement nécessaires si on veut voir son application sur Flatpak. Plus de détails sur ce ticket.
  • le support Wayland existe, mais lors de mes tests sur des distributions GNU/Linux sur Pinephone, il n’a pas fonctionné et je n’ai pas pu afficher l’application.
  • le chargement de l’interprète Python prend un certain temps, ce qui rend le lancement de l’application sur plateformes mobiles telle qu’Android et probablement iOS (que je n’ai pas testé) un peu lent. Sachant que sur ces plateformes l’application peut être tuée à n’importe quel moment auquel cas il faut tout relancer, cela peut mener à une mauvaise expérience utilisateur. Ceci dit, avec une distribution optimisée (en enlevant les paquets non utilisés), et sur les téléphones actuels qui sont très puissants, le problème est sans doute moindre.

Notez que je n’ai pas eu l’occasion de travailler avec Kivy récemment, peut-être que ces remarques ne sont plus à jour. Merci d’indiquer en commentaires s’il y a eu de l’évolution sur ces points.

Aussi, mon cas d’utilisation est très demandant (rendu HTML, affichage de texte performant, etc). Dans la plupart des cas, Kivy remplit sans problème toutes les cases (sauf l’accessibilité, qui reste son problème le plus important à mon sens).

Conclusion

Comme vous pouvez le voir, un travail considérable a été effectué sur Kivy et son écosystème, et il en sort un cadriciel performant, pratique, et qui peut potentiellement fonctionner sur la plupart des plateformes. Kivy est agréable à utiliser, et dispose d’une communauté très active et disponible.

Ce cadriciel mérite de s’y attarder, et est une option sérieuse si vous voulez développer un projet rapidement pour une ou plusieurs plateformes.

Une note d’histoire

Cette dépêche a été commencée le 04 octobre 2018 à 14:19 (au premier jour de la Pycon FR 2018, à Lille, où une partie de l’équipe de Kivy était présente). Je crois que c’est haut la main la dépêche qui est restée le plus longtemps dans l’espace de rédaction. Comme quoi, tout vient à point à qui sait attendre, comme dirait l’autre.

Merci à toutes les personnes qui ont participé à la correction de la dépêche.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Logiciels libres pour la comptabilité d'entreprise

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.
Image d’illustration

    Sommaire

    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

    logo compta libremen
    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

    Diacamma

    logo Diacamma
    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
    • Points forts : le facturier qui permet aussi de faire des statistiques des ventes et d’éditer des factures et des reçus, le récapitulatif à gauche de l’écran, une vision comptable par « journaux auxiliaires ».
    • Points faibles : les fenêtres modales pour les écritures, la saisie par « journal auxiliaire » qui alourdit le processus, le vocabulaire pas très adapté au secteur.
    • Licence : GNU General Public License 3
    • Site : https://www.diacamma.org/

    Dolibarr

    logo Dolibarr
    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
    • Points forts : il est possible d’ajouter des extensions avec le magasin d’application, le dolistore. Dolibarr est également disponible chez certains hébergeurs à travers Softaculous. Une gestion fine des droits par groupe d’utilisateurs et par utilisateurs. Avec certains droits réservés aux utilisateurs internes c’est-à-dire ceux qui ne sont ni client ni fournisseur.
    • Points faibles : l’aspect « usine à gaz » de Dolibarr et sa prise en main qui peut être ardue.
    • Licence : GNU GPL V3 et plus
    • Site : http://www.dolibarr.org
    • Dolibarr sur LinuxFr.org.

    Ekyagri

    logo Ekyagri
    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
    • Points forts : la facilité de la saisie des écritures, la gestion des immobilisations, sa conception bien pensée pour le secteur. L’aide est bien faite, elle indique notamment des niveaux de difficultés des tâches. On peut la télécharger au format PDF.
    • Points faibles : le site n’est pas très clair sur la récupération des données. On n’a pas de module de recherche sur l’aide en ligne et rien n’est indiqué sur les sauvegardes.
    • Licence : AGPL v3
    • Site : https://ekylibre.com/ekyagri/

    ENDI

    logo endi

    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

    ERPNext / Dokos

    Titre de l’image
    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

    Frappebook

    Logo FrappeBook
    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.

    • Points forts : Application portable, on peut l’emmener sur sa clef USB. L’interface est sobre et bien finie.
    • Points faibles : au lancement on se retrouve dans une compta anglo-saxonne, il faut paramétrer pour avoir une compta “européenne”.
    • Licence : GNU General Public Licence version 3
    • Site : https://frappebooks.com/
    • Code source : https://github.com/frappe/books

    Galette

    Titre de l’image
    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
    • Points forts : Il est très facile à prendre en main, en comptabilité simple ou double. Il y a une aide en ligne copieuse ainsi qu’une liste d’entraide. Le logiciel propose plusieurs plans comptables (Au moins deux pour les plans comptables français et d’autres pour la plupart des pays européens). On peut aussi ajouter son propre plan comptable. Il offre des fonctionnalités de comptabilité analytique. On peut utiliser sa propre instance, récupérer la base de données ou exporter la comptabilité sous divers formats (CSV, FEC, ODS et XLSX). Il est possible d’importer une comptabilité dans ces formats. Le logiciel est en constante évolution, avec un développeur très réactif. Des modules permettent de gérer aussi les paiements en ligne (puisque c’est aussi un logiciel de gestion de facturations et de clients). Il y a un module PdV (point de vente, caisse).
    • Points faibles :
    • Licence : GNU General Public Licence version 3
    • Site : https://galette.eu/site/fr/
    • Code source : https://github.com/galette/galette
    • Galette sur linuxFr.org.

    GnuCash

    logo GnuCash
    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
    • Points forts : on peut paramétrer des écritures répétitives (paiements mensuels par exemple) et le logiciel vous le rappelle dans des délais fixés par vous à l’ouverture. Sa bibliothèque de rapports (ou états) est riche : bilan, comptes de résultat, portefeuille d’action, facture, quittance, graphiques. Et c’est personnalisable souvent. Les rapprochements bancaires se font avec pré-affectation des comptes grâce à de l’inférence bayésienne.
    • Points faibles : Il n’y a pas de plan comptable intégré, il faut l’ajouter. Ni de fonctionnalité d’import d’un plan comptable (ou alors, je n’ai pas trouvé), pas de comptabilité analytique, non plus. Il n’est pas complètement traduit en français et la traduction est un peu étonnante parfois. La prise en main n’est pas évidente.
    • Systèmes d’exploitation : Windows, MacOS, GNU/Linux, Unixes
    • Interface : graphique
    • Licence : GNU General Public License Version 2 ou Version 3
    • Site : https://gnucash.org/
    • Code source : https://sourceforge.net/projects/gnucash/
    • GnuCash sur linuxFr.org (dépêches anciennes).

    Grisbi

    logo Grisbi
    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
    • Points forts : il n’est pas compliqué à installer, on peut importer des fichiers au format CSV (évidemment) mais aussi aux formats QIF, OFX et Gnucash. Pour les rapprochements bancaires, soit dit en passant, choisir le format QIF c’est encore celui qui fait le mieux le travail. Et on peut l’exporter au format QIF ou CSV. Deux formats souvent utilisés par les logiciels de comptabilité. Il propose un pratique simulateur de crédit. Il est assez facile à prendre en main. Quand on fait un rapprochement bancaire, pour une comptabilité personnelle, en bout de course, on a une bonne partie des écritures comptables qui sont saisies.
    • Points faibles : pas de comptabilité analytique, pas de compte de résultat ni de bilan et, évidemment, il n’est pas possible d’éditer des factures. L’interface GTK avait quelques bugs sous Windows (il y a plusieurs années, peut-être corrigés depuis), comme des menus déroulants qui empêchent de valider un formulaire tant qu’on a pas cliqué à côté pour les fermer.
    • Logiciel inspiré de l’ex MsMoney (qui n’est plus vendu par Microsoft)
    • Licence : GNU General Public License Version 2
    • Site : https://fr.grisbi.org/
    • Code source : https://github.com/grisbi/grisbi
    • Grisbi sur LinuxFr.org.

    Laurux

    logo Laurux

    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
    • Points forts : Logiciel multiposte performant et fiable. Gestion de la compta, des stocks et achats/devis/factures très simples. Se prend en mains sans trop de complication. Et des développeurs présents, c’est hyper important de souligner le travail de Patrick et Damscot. Pour être plus large, j’ai, par le passé, utilisé Adicom, EBP, l’AS400 (une usine à gaz de fou ce logiciel), et un autre système dans le négoce également. Avec Laurux, je retrouve les avantages de l’AS400 sans avoir les complications d’utilisation.
    • Points faibles :
    • Licence : GNU General Public Licence version 3
    • Site : https://www.laurux.fr/
    • Code source :
    • Laurux sur LinuxFr.org.

    Ledger

    Avatar de Ledger
    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
    • Points forts : Adapté pour les compte-rendus, donc en complément d’un autre logiciel. Il est super puissant car facilement scriptable.
    • Points faibles : Par contre, il a très peu de garde-fous. On peut mettre n’importe quelle transaction, il ne dira rien. J’avais dans l’idée de faire des scripts pour automatiser/sécuriser des transactions classiques (dépenses sur une clef, vente d’un lot, etc.) mais j’ai arrêté d’être syndic bénévole avant de le faire (marre de courir après les impayés d’un copropriétaire)
    • Licence : BSD
    • Site : https://www.ledger-cli.org/
    • Code source : https://github.com/ledger/ledger

    Noalyss (autrefois PHPCompta)

    logo Noalyss
    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

    logo Odoo

    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
    • Points forts : L’interface est uniformisée, ergonomique et soignée. Le développement est intense depuis plus de vingt ans, appuyé sur l’entreprise Odoo et une large communauté d’intervenants et d’utilisateurs. Des milliers de modules sont disponibles. Documentation facile à lire, complétée par un forum et un grand nombre de sites, vidéos et livres. Énormément d’intégrations à des services d’État ou privés. La communauté s’est regroupée dans l’OCA Odoo Community Association qui maintient les anciennes versions et développe des centaines de modules libres de haute qualité. L’OCA propose aussi un outil de montée de versions.
    • Points faibles : L’Apps Store Odoo est de qualité très diverse, certains modules ne sont pas libres, pour installer la comptabilité libre française, il faut s’y retrouver entre plusieurs modules. C’est plus simple pour les pays anglo-saxons.
    • Licence : GNU General Public Licence version 3 et propriétaire
    • Site : https://www.odoo.com
    • Code source : https://github.com/odoo/odoo
    • Odoo sur LinuxFr.org.

    OpenConcerto

    logo OpenConcerto
    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
    • Points forts : la comptabilité est facile à prendre en main. Il y a une version pour macOS (ce qui est à relever compte tenu de la rareté des logiciels comptables pour ce système d’exploitation). S’agissant d’un progiciel de gestion intégrée : il y a aussi des fonctionnalités de gestion commerciale, de suivi des stocks et de préparation des commandes. Plusieurs modules complémentaires existent comme un module d’OCR qui permet, à partir d’une facture numérisée, de la saisir automatiquement dans le logiciel, ou bien un module de paye (seul module payant) : fiches de paye, journaux de paye et déclarations.
    • Points faibles : c’est très complet et donc un peu complexe pour une micro-entreprise. Certaines fonctionnalités manquent de clarté et d’exemples d’utilisation. La lecture du guide de démarrage ou du manuel (79€) est conseillée. L’équipe de développement manque de temps pour discuter sur les évolutions mais répond généralement aux questions qu’on lui pose sur le forum. Les données ne sont pas stockées de la même manière entre la version monoposte (un fichier H2) et multiposte (Postgresql). Bien choisir au début, sinon il sera difficile de changer.
    • Licence : GNU General Public Licence version 3
    • Site : https://www.openconcerto.org
    • Code source : https://code.openconcerto.org/listing.php?repname=OpenConcerto
    • OpenConcerto sur LinuxFr.org.

    Paheko (ex Garradin)

    Logo de Paheko

    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
    • Points forts : il est très facile à prendre en main, il y a une aide en ligne copieuse ainsi qu’une liste d’entraide. Le logiciel propose cinq plans comptables (associatif 1999 et 2018, Plan Comptable Général (PCG), Comités Sociaux et Économiques, copropriétés et plan comptable belge). On peut aussi ajouter son propre plan comptable. Il offre des fonctionnalités de comptabilité analytique. On peut utiliser sa propre instance, récupérer la base de données ou exporter la comptabilité sous divers formats (CSV, FEC, ODS et XLSX). Il est possible d’importer une comptabilité dans ces formats. Et, il est en constante évolution avec un développeur très réactif.
    • Points faibles : pas de lettrage, pas de gestion directe des écritures périodiques.
    • Licence : GNU Alfredo General Public Licence version 3
    • Site : https://paheko.cloud
    • Code source : https://fossil.kd2.org/paheko/doc/trunk/doc/index.md
    • Paheko sur LinuxFr.org, cherchez aussi à Garradin.

    Tryton

    logo Tryton
    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
    • Points forts : L’interface est uniformisée, une fois comprise on s’y retrouve quel que soit le module. Un grand choix de modules permet de couvrir tout type d’activité. On peut tout paramétrer, ajouter des champs, en masquer, adapter des modules… Le développement est très actif, la fondation Tryton rassemble beaucoup d’entreprises et de projets, dont GNU Health. Les montées de version sont prises en charge automatiquement.
    • Points faibles : L’interface est austère, il y a un très grand nombre d’options. C’est difficile à prendre en main sans être accompagné (mais c’est normal).
    • Licence : GNU General Public Licence version 3
    • Site : https://www.tryton.org/
    • Code source : https://www.tryton.org/download#source
    • Tryton sur LinuxFr.org.

    D’autres listes, d’autres articles

    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).

    Alors, un logiciel de comptabilité pour quoi faire ?

    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).

    Note sur les ERP ou PGI

    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.

    Quel logiciel de comptabilité adopter ?

    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.

    Quel logiciel sélectionner pour sa comptabilité ? Ça dépend.

    Ç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é :

    1. une comptabilité dite recettes-dépenses, semblable à votre budget familial, très courante dans les associations regroupant des bénévoles et ne vendant rien (un cahier suffit) ;
    2. une comptabilité simplifiée, dite de trésorerie, à peu près semblable à la première : vous classez les opérations bancaires, et vous rentrez les factures de vos fournisseurs, elle est classiquement permise par l’administration pour de faibles chiffres d’affaires ;
    3. une comptabilité en partie double, fiable et difficile, inventée par les marchands il y a quelques millénaires pour mieux gérer leurs entreprises ;
    4. une comptabilité analytique, qui complique les deux précédentes, mais permet de suivre très précisément les dépenses et recettes affectées à une opération, et perfectionne donc la gestion.

    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 :

    Quel logiciel sélectionner pour sa comptabilité ? Ça dépend. Bis.

    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 :

    • si vous avez besoin d’aides à la saisie ou non,
    • si vous préférez des outils intégrés,
    • si un outil intégré dédié à votre activité est un plus pour vous,
    • si votre statut fiscal impose une compta en partie double,
    • si vous la faites régulièrement pour la gestion de votre structure,
    • si vous avez besoin d’exporter les données pour votre expert-comptable (vérifiez les formats possibles avec lui),
    • si vous voulez un outil en réseau, voire en ligne sur internet,
    • si vous avez déjà utilisé un logiciel et que vous vous y retrouvez.

    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.

    Attention aux obligations fiscales françaises (utilisées lors d’un contrôle fiscal)

    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

    Format Fichier des Écritures Comptables (FEC)

    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.

    Les points de vente

    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.

    La gestion de la paie

    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 :

    1. la fiche de paie et les déclarations afférentes
    2. l’émission et la conservation sécurisée de la fiche de paie
    3. la saisie comptable

    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

    Raspberry Pi 5, évolution ou révolution ?

    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.

      Sommaire

      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.

      Comparaison entre Raspberry Pi 4 et Raspberry Pi 5

      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

      Détail des améliorations de la Raspberry Pi 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 :

      • Processeur : La Raspberry Pi 5 est équipée d’un CPU ARM Cortex-A76, une amélioration substantielle par rapport au Cortex-A72 trouvé dans la Raspberry Pi 4. Cette mise à niveau fait que la Pi 5 est deux à trois fois plus rapide que son prédécesseur.
      • RAM : La Raspberry Pi 5 utilise de la LPDDR4X-4267 SDRAM, nettement plus rapide que la LPDDR4-3200 SDRAM utilisée dans la Pi 4. Cette amélioration offre plus de bande passante, contribuant à des performances globalement plus rapides.
      • Puissance graphique : La Raspberry Pi 5 dispose d’un GPU VideoCore VII plus puissant, cadencé à 800 MHz et prenant en charge OpenGL ES 3.1 et Vulkan 1.2. C’est une avancée par rapport au GPU VideoCore VI de la Raspberry Pi 4, qui prend en charge OpenGL ES 3.1 et Vulkan 1.0. Le GPU de la Pi 5 comprend également un nouveau processeur de signal d’image pour la gestion des données des caméras.
      • Chip RP1 Southbridge : La puce RP1 est une innovation majeure dans la Raspberry Pi 5. Elle agit comme un southbridge, gérant la plupart des fonctions I/O (entrée/sortie), réduisant ainsi la charge sur le CPU. Cela permet une augmentation de la bande passante I/O, bénéficiant aux dispositifs de stockage, USB et autres périphériques.
      • Vitesse des cartes MicroSD : Le port microSD de la Pi 5 prend en charge le mode haute vitesse HDR 104 avec les cartes microSD UHS-1, offrant des vitesses de lecture de 80-90 Mbps, soit le double de la vitesse de 40-50 Mbps de la Pi 4.
      • Ports USB : Dans la Raspberry Pi 5, chacun des deux ports USB 3.0 dispose d’une bande passante dédiée de 5 Gbps, grâce à la puce RP1. C’est une amélioration par rapport à la Pi 4, où les deux ports USB 3.0 partageaient la bande passante de 5 Gbps.
      • Connecteur PCIe : La Pi 5 inclut un connecteur PCIe (PCI Express), une nouvelle addition répondant à la demande pour des interfaces plus rapides. Cependant, l’interface PCIe de la Pi 5 n’est pas un connecteur M.2 standard ; elle nécessite un câble ruban pour se connecter à un HAT, et le dispositif M.2 se connectera au HAT. Caractéristiques
      • Un bouton marche/arrêt : Eh oui, on est quand même dans le 3ᵉ millénaire ;-)
      • Alimentation : Tout comme la Raspberry Pi 4, la Raspberry Pi 5 utilise un connecteur d’alimentation au format USB Type-C. En revanche, doublement de la puissance oblige, la puissance nécessaire à son fonctionnement passe de 7.5 W à 15 W, il faudra donc une alimentation en 3A minimum pour être tranquille. À noter que si vous souhaitez utiliser des périphériques externes qui consomment beaucoup comme des disques durs ou SSD, il est conseillé d’avoir une alimentation de 25 W (5A). La Raspberry Pi détecte si l’alimentation fournit plus de puissance et passe la limite de consommation USB à 1,6A au lieu de 1,2A.

      Raspberry Pi 5 : Nouveau South Bridge RP1 vs Raspberry Pi 4

      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​.

      Architecture du South Bridge RP1

      — 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

      Sources des informations sur le RP1

      — 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

      Impacts du RP1

      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.

      1. Connectivité principale : Le RP1 se connecte à un processeur d’application (AP) via un bus PCIe 2.0 x4, consolidant de nombreux contrôleurs numériques et PHYs analogiques pour les interfaces externes du Raspberry Pi 5​​.
      2. Contrôle du trafic : Le tissu interne du RP1 permet de prioriser le trafic en temps réel de la caméra et de l’affichage sur le trafic non en temps réel de l’USB et de l’Ethernet. Des signaux de qualité de service (QoS) sur le lien PCI Express soutiennent la priorisation dynamique entre le trafic provenant du RP1 et le trafic des maîtres de bus en temps réel et non en temps réel au sein de l’AP​​.
      3. Fonctionnalités supplémentaires : Pour une flexibilité maximale des cas d’utilisation, le RP1 dispose de plusieurs fonctionnalités telles qu’un contrôleur DMA à huit canaux pour les périphériques à basse vitesse, trois PLL intégrées pour la génération d’horloges vidéo et audio indépendantes, un convertisseur analogique-numérique à cinq entrées, 64kB de SRAM partagée, et des générateurs de base temporelle pour le rythme de la DMA ou pour le debouncing des événements GPIO​​​​.
      4. Gestion des contrôleurs de bus : Les modules de régulation intégrés à chaque port de contrôleur de bus permettent de surveiller ou de limiter leur comportement. Ces modules régulent le flux de données selon le nombre de transactions en attente, assurent le respect des limites d’adresses AXI et PCIe, et disposent de compteurs statistiques pour évaluer la qualité de service ou les performances.
      5. Interfaces clés externes : Le RP1 fournit des interfaces externes clés telles que deux contrôleurs XHCI indépendants connectés à un seul PHY USB 3.0 et un seul PHY USB 2.0, deux contrôleurs de caméra MIPI CSI-2 et deux contrôleurs d’affichage MIPI DSI connectés à deux PHY transceivers MIPI DPHY à 4 voies partagées, et un contrôleur d’accès média (MAC) intégré pour l’Ethernet Gigabit​​​​.
      6. Compatibilité et évolution : Le RP1 maintient la compatibilité avec la gamme de fonctions offerte sur le Raspberry Pi 4 Model B, tout en permettant une évolution vers des processus de géométrie réduite, sans avoir à reproduire tous les éléments analogiques du système. Cela pourrait permettre à changer plus facilement de fournisseur de SoC.

      Évolution des performances

      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,
      performances single core

      Figure 1. : Comparaison des performances single core entre RPi4 et 5
      performances multi core

      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

      performances des I/O

      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.

      Titre de l’image
      Figure 3. Évolution de la vitesse de commutation d’une sortie numérique

      Titre de l’image
      Figure 4. Évolution de la performance en fonction de la puissance électrique

      Interfaces USB et Ethernet

      — 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.

      Interfaces MIPI CSI/DSI

      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.

      Les points discutables/discutés

      Le réarrangement de la carte

      — 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.

      Le non réarrangement de la carte

      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.

      Les limites du format carte de crédit

      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

      Information couleur du jour pour contrats électricité Tempo

      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.

        Sommaire

        Les anciennes APIs ne fonctionnent plus

        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

        À la recherche d’une solution de remplacement

        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.

        Conclusion

        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

        Bien débuter avec la distribution Manjaro Linux

        Manjaro est une distribution GNU/Linux basée sur Arch Linux.
        Arch Linux est réputée être une distribution fiable, mais difficile et longue à installer et à configurer. Manjaro propose de reprendre les bons côtés d’Arch mais en simplifiant l’installation et la configuration. Manjaro est tout à fait adaptée à un débutant.

        Ma vie : j’utilise Manjaro depuis sept ans et je l’ai installée sur les quatre ordinateurs de la maison. Je suis fan et je la conseille aujourd’hui à tout le monde ! Cette dépêche ne sera donc pas un test de la distribution mais un retour d’expérience proposant quelques astuces pour installer, utiliser et maintenir Manjaro.

        Cette dépêche est une mise à jour d’une ancienne dépêche : https://linuxfr.org/news/bien-debuter-avec-manjaro-linux.

        Sommaire

        Le tour de la distribution

        Installation

        L’installation se déroule assez classiquement (Manjaro utilise Calamares comme beaucoup d'autres distributions) en téléchargeant une image ISO que vous pouvez flasher sur une clé USB, avec Etcher par exemple. Ensuite, vous pouvez démarrer sur la clé, tester la distribution et utiliser le bouton « Installer Manjaro », puis suivre les étapes pour l’installer sur votre disque. Cela se fait très simplement et rapidement, et je ne reprendrai pas ici le déroulement de l’installation, car il existe de nombreux guides, qui sont finalement à peine nécessaires.

        Choix des interfaces graphiques

        Manjaro est disponible officiellement avec trois environnements de bureau : Xfce, KDE et GNOME. Pour chaque bureau, le thème et les couleurs Manjaro sont reprises, je trouve que les thèmes par défaut sont très agréables et très bien intégrés.

        L’environnement GNOME :
        L’environnement GNOME

        L’environnement Xfce :
        L’environnement XFCE

        L’environnement KDE :
        L'environnement KDE

        Il existe également d’autres environnements de bureau proposés par la communauté. Je vous laisse en découvrir la liste !

        De mon côté, j’ai une préférence pour GNOME, c’est pourquoi les captures et les explications suivantes seront réalisées avec cet environnement.

        Les mises à jour

        Tout comme Arch, Manjaro est une rolling release, c’est‑à‑dire que les mises à jour sont mises à disposition en continu. Vous passez d’une version de la distribution à une autre (par exemple de la 23.3 à la 24.0) sans vous en rendre compte, juste en mettant à jour vos paquets. Vous êtes donc assurés d’avoir toujours une distribution à niveau. Vous n’avez plus ce stress tous les six mois ou tous les deux ans d’avoir une mise à jour complète du système.
        C’est également un avantage lorsque vous rencontrez un problème : la personne qui va vous aider est sûre que vous utilisez la dernière version.

        Cependant, il faut savoir que Manjaro utilise ses propres dépôts et non ceux de Arch. Les paquets vont d’abord être testés avant d'arriver sur Manjaro, parfois un ou deux mois après leur sortie. C’est également pour cette raison que vous recevrez les mises à jour par lots, généralement toutes les deux à trois semaines.

        La gestion des paquets

        Le gestionnaire de paquets (ou Store d’applications pour ceux qui ne sont pas familiers avec Linux) est un élément central d’une distribution GNU/Linux. Celui de Manjaro utilise pamac, un dérivé de pacman qui provient de Arch Linux. Pamac est installé avec une interface graphique disponible pour KDE ou GTK (donc pour GNOME ou XFCE).

        Éviter les problèmes lors des mises à jour

        Les problèmes lors des mises à jour sont rares, mais ils existent et cela reste toujours ennuyeux. Voici quelques conseils pour les éviter :

        • lancer les mises à jour régulièrement, mais attendez tout de même un ou deux jours après leur publication ;
        • plutôt que d’exécuter les mises à jour via l’interface graphique, utilisez une console avec la commande :

          sudo pamac update -a

        • lors de chaque mise à jour, il y a une nouvelle entrée dans le forum Annoucements - Stable Updates. Un sondage permet de savoir combien de personnes ont eu un problème avec cette mise à jour, cela permet d’avoir une idée sur sa stabilité ;
          Mise à jour Manjaro

        • cette entrée du forum liste les bugs découverts pour cette mise à jour et les solutions pour résoudre les problèmes rencontrés ;
          Problèmes Manjaro

        • si la mise à jour paraît dangereuse pour votre système, lancez la via SSH ou via une console virtuelle (Ctrl + Alt + F3), en dehors de votre interface graphique.

        Avant de prendre ces précautions, il m’est arrivé une ou deux fois d’avoir un problème au redémarrage, mais depuis, plus jamais de problème pour moi ! Et puis, je ne vais pas vous refaire la morale sur les sauvegardes à faire régulièrement. :)

        Manjaro ne démarre plus : Utilisez le manjaro-chroot !

        Avertissement : Cette méthode ne fonctionne pas avec le système de fichiers Btrfs

        Si malgré ces précautions, Manjaro ne démarre plus (cela m'est arrivé lorsque mon PC s'est arrêté en cours de mise à jour), il me reste une astuce : l'outil chroot de Manjaro.
        L'idée est de :
        - Démarrer sur la clé USB avec l'image d'installation Manjaro
        - Se connecter au système installé sur le disque dur
        - Réparer le système en ligne de commande

        Donc, démarrez Manjaro avec une clé USB (ou un DVD) comme vous l'avez fait pour l'installation.
        Il faut monter les partitions sur lesquelles votre Manjaro est installée. Pour cela, utilisez le gestionnaire de fichiers et cliquez sur + Autres emplacements et cliquez sur la (ou les) partition(s) Manjaro pour les monter.

        Montage des disques

        Lancez un terminal et la commande :
        manjaro-chroot -a

        L'outil cherche alors l'emplacement de votre système et le monte automatiquement.

        Vous pouvez alors lancer la commande que vous désirez sur le système qui ne démarre pas. Par exemple, pour terminer une mise à jour :
        pamac update -a

        Entrée dans le chroot

        Installer des applications

        Manjaro a développé une interface graphique (Pamac) pour chercher, installer et mettre à jour vos paquets.

        pamac

        Ajouter d'autres dépôts

        Beaucoup de paquets sont disponibles sur Arch, mais il existe la possibilité d'ajouter d'autres dépôts via pamac. Allez pour cela dans les préférences de pamac et activez les dépôts AUR, Flatpak et Snap.

        Pour accéder aux paquets snap, il faut installer le paquet
        libpamac-snap-plugin

        pamac

        Voici maintenant ce que trouve Pamac lors d'une recherche du paquet Freecad :

        pamac

        Vous pouvez remarquer en colonne de gauche que vous pouvez installer des paquets de différentes provenances (dépôts officiels, AUR, Snap et Flatpak). C’est très important de comprendre d’où viennent vos paquets pour garantir la stabilité de votre système.

        Je vais maintenant vous expliquer ce que sont ces dépôts et comment choisir parmi ceux-ci :

        Dépôts officiels

        Lorsque le paquet que vous recherchez est disponible dans les dépôts officiels, il faut privilégier ce type d’installation. C’est seulement si vous rencontrez un problème lors de l’exécution de l’application que vous pouvez l’installer via une autre source.

        Flatpak et Snap

        Snap et Flatpak sont deux magasins (Store) d’applications GNU/Linux qui poursuivent le même but : donner accès à des paquets qui peuvent être utilisés sur toutes les distributions.

        Ces paquets prennent plus de place sur le disque dur car ils créent leur propre environnement d’exécution et utilisent donc moins de composants de Manjaro. Cependant, certains paquets ne sont tout simplement pas proposés par les dépôts Manjaro : Flatpak et Snap pourront alors vous sauver !

        Manjaro vous permet d’installer et désinstaller des paquets Snap et Flatpak très facilement depuis l’interface et il ne faut pas s’en priver pour tester des applications, cela ne va pas alourdir le système après désinstallation.

        Alors, comment choisir entre Flatpak et Snap ? Ce sont des concurrents, mais en gros :

        • la taille des paquets Flatpak est plus petite que Snap (moins de choses sont encapsulées) ;
        • Snap est propriété de Canonical (l’éditeur d’Ubuntu).

        Donc, je vous conseillerais de privilégier Flatpak, et ensuite si cela ne fonctionne pas, d’utiliser Snap.

        AUR

        Enfin, il existe les paquets AUR (Arch User Repository), c’est un ensemble de paquets créés par les utilisateurs avant de rentrer dans les dépôts officiels. Ces paquets sont des listes de commandes qui permettent de compiler les sources du logiciel ou de télécharger et d'installer du code propriétaire. Parfois, ils ne sont plus maintenus ou contiennent des bogues, il faut donc les installer avec grande précaution.

        Il y a également un problème technique avec les paquets AUR sur Manjaro, cela attire d'ailleurs de nombreuses critiques des utilisateurs Arch Linux vis à vis de Manjaro.
        Manjaro utilise ses propres dépôts avec parfois des mises à jours de paquets qui arrivent plusieurs mois après être dans Arch Linux. Par contre, si vous installez un paquet AUR, il sera dans la même version que sur Arch.
        Cela peut donc conduire à des dysfonctionnements sur Manjaro qu'il n'y a pas sur Arch. Comme les développeurs de AUR sont majoritairement sur Arch, cela les agace.

        Je déconseille d’installer des logiciels depuis AUR, mais cela peut rester pratique dans certains cas (voir même l'unique solution). Personnellement, j’ai installé l’un de ces paquets pour mon imprimante Brother ou ma tablette graphique et cela fonctionne très bien.

        Conclusion

        Pour résumer :

        • dépôts officiels à privilégier pour l'installation de vos paquets ;
        • Flatpak à utiliser si non disponibles dans les dépôts ou si on veut seulement installer l’application pour un test ;
        • Snap à utiliser si le paquet Flatpak ne fonctionne pas ;
        • AUR déconseillé, à utiliser avec grande précaution.

        Pamac est donc un point fort pour Manjaro, il permet, d’installer des paquets provenant de diverses sources et de disposer de versions très récentes. Malgré cela, le système reste très stable grâce au travail de la communauté Arch en amont et de la gestion des paquets Snap et Flatpak.

        Utiliser et configurer Manjaro GNOME

        Pas facile de s’y retrouver ici pour un débutant, c’est pourquoi je vais essayer de détailler certains outils. Ici, je ne vais parler que de la configuration avec Manjaro GNOME. Si vous utilisez KDE ou Xfce, ils seront peut-être différents, et peut-être plus centralisés…

        Voici les différents outils qui vous permettent d'accéder à la configuration de Manjaro Gnome graphiquement :

        • GNOME control center - Aussi nommé Paramètres : Permet de configurer Gnome, mais aussi le système (Écrans, réseau, etc)
        • GNOME tweak tools - Aussi nommé Ajustements : Permet de configurer certains paramètres avancés de Gnome (Apparence, applications au démarrage, etc)
        • Gestionnaire de paramètres de Manjaro : Permet de configurer des choses spécifiques à Manjaro (Traductions, noyaux, etc)
        • Layouts : Permet de configurer l'apparence de Gnome mais aussi d'accéder facilement aux outils ci-dessus.

        Rechercher dans le menu Activités

        Si vous cherchez quelque chose sur Manjaro Gnome, commencez par utiliser le menu activité (menu en haut à gauche de la page ou bouton le plus à gauche de la barre d'outils) qui cherchera sur l'ensemble de votre l'ordinateur :
        Gnome - activités

        Ici, Gnome a trouvé l'application déjà installée Lollypop qui permet de lire de la musique, le répertoire Musique et propose des applications à installer en lien avec la musique.

        Gnome - activités

        Ici, Gnome vous propose d'accéder à vos imprimantes, d'en installer de nouvelles ou bien des applications en lien avec l'impression.

        Gestionnaire de paramètres de Manjaro

        Configuration
        Vous retrouverez cet outil sur tous les environnements Manjaro. Les icônes sont assez explicites pour savoir ce qu'elles permettent de gérer. Voici cependant quelques précisions :

        • paquets linguistiques, c’est là qu’il faut aller si vous avez une application qui n’est pas traduite en français, c'est le cas par défaut pour Firefox ou Thunderbird ;
        • noyau, pour faire fonctionner certains matériels, il faut parfois changer de noyau ;
        • configuration matérielle, permet de connaître le matériel présent dans votre ordinateur et d’installer des pilotes propriétaires, ceux des cartes graphiques notamment.

        Pour lancer cette application, cherchez Manjaro Gestionnaire dans le menu activités. Il est dommage que le sélecteur d'activités de Gnome ne liste pas les fonctionnalités incluses dans cette application.

        Paramètres GNOME (GNOME control center)

        Configuration

        L’application GNOME Center permet de gérer tout ce qui va avec l’environnement GNOME :

        • les notifications ;
        • les applications par défaut ;
        • l’accessibilité.

        Mais vous pouvez aussi configurer des choses en lien avec le matériel :

        • ajouter une imprimante ;
        • configurer le réseau ;
        • gérer les écrans.

        Configuration

        Et aussi, il y a des choses en doublon avec le gestionnaire de paramètres Manjaro :

        • régler la date et l’heure ;
        • créer un compte utilisateur.

        Cependant, le menu Activités cherche parmi les options du Gnome control center, donc, je préfère passer par ce menu.

        Ajustements GNOME (GNOME tweak tools)

        Pour brouiller un peu mieux les pistes, GNOME propose un autre gestionnaire de paramètres.
        Configuration

        Il permet par exemple de :

        • choisir le thème GNOME utilisé ;
        • régler les polices de caractères ;
        • modifier la barre supérieure des fenêtres.

        Bref, tout ce qui n'est pas dans le gestionnaire de paramètres.

        Extensions GNOME (Extensions)

        Configuration
        GNOME propose également une interface pour gérer les extensions qui apportent des fonctionnalités (par exemple, la barre de lancement d’applications Dash to Dock qui est installée par défaut sur Manjaro GNOME).

        Conclusion

        La facilité de paramétrage de Manjaro GNOME, n’est certainement pas son point fort pour le débutant : tout est là, mais il faut chercher ! La solution est sans doute dans l’une des applications listée ci‑dessus…
        Pour les versions KDE et XFCE, le nombre d’outils semble plus limité : ouf !

        La communauté

        Manjaro est un projet communautaire. Le site propose à la vente du matériel informatique pour soutenir le projet. Cette année, il y a eu un peu de rififi et le départ de certains développeurs importants. À l’utilisation de la distribution, cela ne s’est pas ressenti.

        Pour la documentation, le wiki Manjaro ne m’a jamais été d’une grande aide non plus. En revanche, le wiki Arch est une référence en la matière et vous pourrez trouver beaucoup d’informations pour la configuration avancée (serveur, système, etc.). La version en français mérite également le coup d’œil.

        Pour poser vos questions ou chercher une réponse, il y a le forum Manjaro officiel et un forum en français très actif et sympathique.

        Les alternatives à Manjaro

        Manjaro essuie un nombre assez important de critiques, je vais en lister quelques unes ici :
        - Elle possède ses propres dépôts, d'où des problèmes avec les paquets AUR
        - Elle profite du travail de Arch et propose du merchandising

        Si cela est bloquant pour vous, vous pouvez essayer trois autres distributions :
        - ArchLinux bien sûr ! Un peu moins pour les débutants, mais sa réputation est faite !
        - EndeavourOS est une alternative, plus proche de Arch que Manjaro mais plus simple à installer que Arch
        - Garuda Linux : Quelqu'un pour faire une description de cette distrib ?

        Pour finir

        J’ai écrit cet article pour les personnes qui débutent avec Manjaro, mais j’aurais pu également évoquer le shell zsh par défaut, l’installation automatique de tout mon matériel, de l’extension Dash to Dock installée et configurée par défaut, ainsi que la stabilité de l’ensemble…

        Comme toutes les distributions GNU/Linux, elle convient bien sûr à des utilisateurs plus avancés. De mon côté, après être passé par Mandrake, Ubuntu, Linux Mint, Debian Sid, me voilà pleinement satisfait avec Manjaro !

        Ceci étant dit, je pense que le choix d'une distribution linux n'est plus aussi important qu'il l'était il y a dix ans. On navigue entre le bon, le très bon et l'excellent ! Difficile de se tromper.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Un annuaire des producteurs locaux en Open-Source

        J’ai le plaisir de vous présenter l’association OpenProduct qui se donne pour mission de faire connaître les producteurs locaux. Dans cette perspective, nous avons lancé un site web ainsi qu’une application mobile avec une carte et un wiki. Tout est Open-Source, du code source des softs, aux comptes de l’association en passant par la base de donnée.

        Logo de OpenProduct

        Sommaire

        Présentation

        Le but du projet est de constituer un annuaire des producteurs locaux le plus exhaustif possible. On considère comme producteur une entreprise qui produit en France un produit destiné au grand public (pas de constructeur de robots industriels par exemple). Je ne me limite pas aux artisans ni aux PME, mais je vois mal une multi-nationale non plus. Je pense que les plus grosses entreprises sont celles du textile avec à peine une centaine d’employés maximum. J’ai aussi quelques biscuiteries peut-être. J’aimerais bien avoir de l’électronique par exemple, mais je n’ai pas trouvé de source dessus.
        Attention, parfois la frontière est un peu fine, et il y a parfois des grossistes proches des producteurs qui peuvent un peu s’immiscer dans la base de données. L’idée n’est pas non plus de mettre tous les boulangers (scandale, ils fabriquent bien en France quoique parfois certains utilisent du surgelé industriel). Mais par contre les boulangers qui fabriquent avec de la farine locale avec un four solaire ou au bois ont une raison d’y être.
        Pour faire simple (et simpliste) il faut rentrer dans l’ « esprit producteur local ».

        Le site web est assez basique avec une carte et pour chaque producteur son site web, son numéro, son courriel, son adresse (obligatoire pour se trouver sur la carte) et un texte descriptif. Il est possible de filtrer par catégorie, mais cet élément gagnerait à être largement amélioré. Sur le site, on dispose d’un Wiki qui est pour le moment famélique. L’idée est qu’il serve de page web à certains producteurs qui n’en disposeraient pas. Pour ceux qui ont un site complet, leur site est sans doute plus intéressant. La question reste ouverte de savoir si le wiki gagnerait à être complété par d’autres informations. J’ai dernièrement ajouté des « Guides pratiques ».

        Aujourd’hui, l’on considère que le site web, c’est seulement 30% du trafic. Une application mobile est dès lors absolument indispensable. Une application Android existe et est installable avec l’APK (Disponible sur le site web). Évidemment, qu’à l’avenir, elle devra être rendue disponible le play store de Google (Et sur FDroid). En théorie, cette application pourrait être compilée pour iPhone et placée sur l’AppStore. Mais je n’ai pas encore investi dans ces magasins car le ticket d’entrée n’est pas négligeable et que l’appli est encore perfectible (et c’est un euphémisme).

        Historique

        Au départ, mon idée était, dans un but personnel, d’avoir des objets purement open-source (réparable, bidouillable…). Ne trouvant pas souvent mon bonheur, je me suis dit : « et si je créais une entreprise qui produit un objet Open-Source ? » Peu importe lequel. Mais je me suis vite rendu compte que je n’arriverai jamais à le vendre à quelqu’un d’autre que moi… Les entreprises qui ont tenté ont toutes abandonné genre NumWorks ou alors ont marginalisé cette démarche au cours de leur croissance. A priori, la raison n’est pas que cela ne soit pas viable en soi mais plutôt que pour croître, ils ont dû faire appel à des investisseurs qui n’achetaient pas le concept d’Open-Source. Et s’ils n’ont pas pu grossir sans ces investisseurs, c’est qu’il est très difficile de vendre (pas vraiment de fabriquer). En fait, les gens ne voient pas l’intérêt de l’Open-Source si c’est « réparable ». Autrement dit, il « suffit » pour l’entreprise de dire qu’elle continue de vendre les pièces détachées. Mais si l’entreprise ne fournit ni pièces, ni plans, c’est trop galère à faire soi-même (ou trop cher par un réparateur). Il y a un autre problème qui se cumule, c’est la multiplication des versions. Il n’y a pas 1, 5 mais près d’une centaine de lave-vaisselles différents, aucune communauté ne pourra modéliser toutes les versions en service (pas seulement celle commercialisée, mais aussi toutes celles qui l’ont été depuis 15 ans). En fait si je fabrique moi-même un produit open-source, je vais avoir énormément de mal à en faire la promotion.

        Mais je ne suis pas le seul dans ce cas, tous les petits producteurs locaux connaissent ce problème. Ils ont des articles de bien meilleurs qualité que le commerce standard (certes un peu plus cher) mais ils peinent à se faire connaitre. Ils utilisent généralement assez peu de brevets et c’est bien ça qui attire le client, il sait d’où ça vient, comment c’est fait (en gros). Sa force, c’est donc de ne pas cacher sa chaine de production, c’est donc en quelque sorte au minimum d’être open-source sur la chaine de production. Et on peut les aider à être plus transparents. D’où OpenProduct. Enfin, c’est l’idée à long terme.

        Le lancement

        Tout ça en serait resté au stade d’idée si je n’avais pas été au chômage. Au départ j’ai fait des travaux dans la maison puis faute de finance et de courage, j’ai dû réduire. Je me suis donc attelé à la tâche.

        La tâche la plus simple pour moi c’était de faire le site web (je ne parle pas du design). Il n’y avait là aucune difficulté majeure, j’ai pas mal travaillé avec HTML/JavaScript/PHP dans mes précédentes activités professionnelles et un peu avec Leaflet. Je voulais penser performances et sécurité. Et pour moi, le plus évident c’était de faire du statique. Cela ne demande que les ressources minimales pour le serveur et c’est inattaquable. Aujourd’hui, on peut faire beaucoup en JavaScript. En plus, comme c’est statique, je n’ai pas de cookies… Donc pas cette satanée popup ce qui rend tout de suite le site plus plaisant.

        Il y a bien du dynamique tout de même (dont les scripts), et là, j’avais envie d’explorer des technos que je trouve performantes :

        • j’ai utilisé Julia comme langage interprété pour les scripts et pour le Web (Avec le framework Genie)
        • j’ai utilisé Svelte pour un formulaire « dynamique » en JavaScript.
        • j’ai choisi React-Native pour le développement mobile car c’est du multi-plateforme et en JavaScript. Je pensais réutiliser le code javascript du web mais au final c’est tellement différent, qu’un autre langage n’aurait pas changé grand-chose. Du coup, je pense que Flutter aurait été plus performant (Il compile vraiment en langage machine : Java sous Android.)

        Existant

        Mais il existe déjà plein de solutions qui marchent très bien pensez-vous. Je vous ferrai une réponse de normand (bien que je sois breton) « Oui et non ».

        Il existe des sites publics qui recensent certaines catégories :

        • l’alimentaire avec jours-de-marche.fr et mon-producteur.com.
        • Les métiers d’arts avec annuaire-metiersdart.com.
        • Ou encore dans l’habillement comme cocorico.store et madefrance.fr mais ils n’identifient même pas toujours les producteurs.
        • Des offices de tourisme mais chacun a une politique différente et l’on ne s’y retrouve pas facilement.
        • Parfois des sites publics de départements/régions…
        • Des groupes Facebook à la pelle.

        Mais aucun ne propose une carte de localisation des producteurs et aucun n’est généraliste (Alimentaire, art et autres). Pire, ils ne recensent pas tous les producteurs (sans doute car ils demandent de l’argent) et en plus ils ne sont pas toujours à jour. Je soupçonne certains d’être un peu délaissés. Si bien que ce n’est pas si simple de connaitre les producteurs quand on se promène dans une région alors que pourtant la demande est là.

        Aujourd’hui, les petits producteurs locaux peinent à se faire connaître. En fait, une part importante de leur travail est consacrée à cet effort ou ils ne sont pas toujours très bons. Ils mettent beaucoup d’énergie à faire un site web, à faire leur promotion sur les réseaux sociaux, à se vendre auprès de leurs amis et voisins pour le bouche-à-oreille. Mais c’est en grande partie en vain. En fait, ils comptent surtout sur quelques clients fidèles et sur un bouche-à-oreille de connaisseurs/passionnés. Or nous ne sommes pas tous connaisseurs/passionnés mais juste intéressés. Pire, même connaisseurs, quand nous traversons une région, nous ne pouvons pas y connaître les producteurs locaux. Je pense qu’OpenProduct peut aider à développer un tourisme de producteurs.

        Financement

        La question que l’on me pose souvent : mais quel est votre business-plan ? Mais ici, peut-être est-on entre personnes un peu plus sensibilisées à l’open-source et son financement.

        Alors tout d’abord, je n’ai clairement pas un objectif de rentabilité avec ce projet. Ensuite, je ne vois pas comment je pourrais demander de l’argent aux producteurs alors que je n’ai pas de visiteurs (ou si peu aujourd’hui). De toute façon, concrètement, un hébergement web ne coute pas grand-chose (j’ai payé 50 euros pour un an). Par contre évidemment, que si je veux publier mon application sur Android et Apple, il faudra un peu plus de sous. Ensuite il y a un travail énorme à accomplir pour améliorer la base et l’IHM donc évidemment que j’aimerais des financements.

        • Mon objectif premier serait de financer le projet avec des dons de producteurs et consommateurs qui seraient sensibilisés à la cause.
        • Ensuite, j’aimerais, en tant qu’association d’utilité publique (J’estime en quelque sorte être un annuaire universel) réussir à toucher des fonds publics.
        • Enfin, il me faudra sans doute rendre certaines options payantes. Tout dépendra du résultat au bout d’un an environ.

        Vous le comprenez, la variable d’ajustement, ce sont les fonds disponibles étant donné qu’il y a très peu de charge fixe. Le projet n’en est pas dépendant pour survivre.

        D’ailleurs je pense que pour un site web être payant n’est pas vraiment une option pour percer. J’entends par là, que l’essentiel est avant tout d’arriver à générer du trafic et à devenir important. Si de base vous bridez que ce soit côté producteurs ou côté consommateurs vous devenez in-intéressant pour les deux (à moins d’être réservé à une « élite »). C’est un peu ce qui se passe actuellement avec la plupart des existants (jours-de-marche.fr et mon-producteur.com). Pour prendre un autre domaine, c’est ce qui plombe un peu Twitter (il perd 30% des utilisateurs ce qui entraine une baisse de 60% de ses revenus et c’est un cercle vicieux). C’est aussi ce qui fait la force de Facebook ou Google. Ce n’est pas d’être gros qui importe mais d’être très gros pour ça, il n’y a pas 36 solutions. Je suis peut-être un peu ambitieux mais je sais que sans ça, il est évident que le projet ne grossira pas assez pour vivre bien.

        Il doit sans doute miser, plus que sur l’argent, sur la coopération d’une communauté façon Wikipédia/LinuxFR. C’est pourquoi je suis ouvert aux contributions. Cela peut-être du code mais même pour des informaticiens ce n’est pas simple (il faut rentrer dans le code installer… il faut compter des heures) mais aussi et surtout pour compléter la base de donnée. Vous me signalez les producteurs qui n’existe plus ou ceux oubliés. Pour l’instant cela ce fait par mail. Je souhaite aussi développer le Wiki avec des comptes « administrateurs ». J’ai un ersatz d’interface d’administration pour les producteurs…

        Open-Source

        Je suis un archi-convaincu du bien fondé de l’Open-Source et de l’Open-Data en général. C’est pourquoi j’essaye de pousser le concept d’Open-Source le plus loin possible. Tout mon code est sous licence GPL y compris la base de donnée et pour ce qui ne rentre pas dedans (images ou autres) c’est Créative Common Attribution. Cependant je ne me suis pas penché sur la question plus que cela.
        Je pense notamment au logo/marque. Je n’ai pas envie de m’attribuer le concept OpenProduct, mais je n’ai pas envie qu’on en fasse n’importe quoi non plus. Faut-il un système à la Firefox ? En tout cas, en l’état mon logo n’intéresse personne.
        Il y a aussi la question de la version de GPL. Je dirais la dernière v3 même si j’avoue ne pas avoir étudié les différences. Je sais qu’il y a des résistances sur la v2. S’il y en a qui sont partisans, merci de me le dire en commentaires.

        Concrètement

        Sur mon dépot Github (Ouais, ce serait mieux Gitlab), il y a six repository concernant ce projet:

        • openproduct-web : Le projet principal (Il contient la partie web statique et dynamique)
        • openproduct-web-svelte : C’est un sous-projet web destiné à svelte. On y trouve le formulaire svelte.
        • openproduct-app-android : C’est le repository de ma toute première application Android. C’est un simple navigateur web sur la page web d’OpenProduct… Une sorte de marque-page. Elle est obsolète.
        • openproduct-app : C’est une application React-Native destiné à Android (Qui doit pouvoir tourner sous Apple en théorie). Elle est loin d’être parfaite mais c’est vrai que c’est mieux que le web sur smartphone.
        • openproduct-docs : Ce n’est pas du public dans les entreprises/associations normales, mais ce sont toutes les ressources autres. On y trouve:
          • les scripts de récupération de données pour la DB.
          • Les documents administratifs de l’association
          • Les comptes financiers.
          • Les démarches de communications externes.
        • openproduct-db : Il contient la database (mysqldump).

        Parmi les astuces, je ne sais pas si c’est une pratique courante, j’utilise le format plat pour les fichiers de LibreOffice. FODT au lieu d’OST, FODS au lieu d’ODS… Par défaut le format est un tar-gz de fichier XML, autrement dit c’est en quelque sorte du binaire. Or sur Git, il vaut mieux éviter le binaire. Git ne fait pas de diff sur du binaire, et de ce fait chaque modification renvoi tout au lieu de n’ajouter que les différences.

        L’architecture

        Pour celles et ceux que ça amuse, voici quelques détails au sujet de l’architecture technique.

        En fait openproduct-web est un projet en langage Julia du Framework Genie. Pourquoi ? Tout simplement car j’avais envie de tester et que normalement, Julia est un langage très performant (Il est utilisé pour le calcul scientifique en « successeur » de Pascal).

        J’ai dit que le site web est statique. C’est vrai pour l’essentiel: La page d’accueil, la carte… Il est stocké dans openproduct-web/public.

        Mais j’ai un wiki qui est dynamique sur openproduct-web/wiki (Pas sur Git, c’est déjà un repo Git: médiawiki). Et j’ai aussi la page "unsubscribe.php" qui est dans openproduct-web/around/var.www.openproduct.wiki.unsubscribe.php.

        Dans openproduct-web/around est un peu un fourre tout des fichiers qui doivent être mis à un endroit précis mais hors du projet. On trouve ma config NGinX, ma config Wiki (Enfin la version de mon PC de dev, pas celle de prod à cause des mots de passe). Le fichier unsubscribe.php (Il est dynamique et seul mon répertoire wiki est dynamique sur mon PC).

        La partie dynamique pour l’essentiel est en Julia. Elle ne peut pas tourner sur le serveur qui est un hébergement mutualisé ou Julia n’est pas disponible. Elle tourne donc seulement sur mon PC (le PC de dev : https://openproduct.freeboxos.fr/ quand je la lance). Elle est destinée à ceux qui voudraient m’aider à compléter corriger la base de donnée. Elle permet de renseigner des producteurs dans la table openproduct.producer sans avoir à connaitre MySQL (Ni même à utiliser DBeaver).

        La communication

        Ce n’est pas vraiment mon fort mais c’est assez essentiel en ce moment. Maintenant que c’est en ligne il faut absolument que je crée une dynamique pour qu’il prenne.

        Ma première étape a consisté à prévenir les producteurs par mail, du moins ceux dont j’ai le mail. Évidemment, j’en profite pour leur demander de me faire un peu de promotion. J’ai donc écrit un script qui se connecte à ma boite Gmail (ouuuuuh pas bien) et qui envoie les mails à la chaine. Le problème, c’est que mon compte de l’association est en fait un compte standard limité en nombre de mail envoyé. J’ai donc saturé les envois, je suis passé avec ma boite perso. Par paquets de 200 à 300, il m’a fallu cinq jours pour envoyer les 3 584 mails dont je dispose sur les 5 050 producteurs. Et j’ai reçu 720 mails d’erreurs… j’ai donc écrit un script pour lire ces mails et les noter dans ma base. J’ai aussi reçu des retours pour me corriger des erreurs (adresse, téléphone, cession d’activité…) et quelques encouragements. J’ai reçu un seul retour négatif car il estimait que son art ne devait pas être mêlé a de vulgaires produits.

        Parmi les retours, j’ai eu la remarque intéressante qu’il me manquait un flyer. Je me suis donc dépêché de faire un flyer. Je ne suis vraiment pas expert dans l’exercice.

        Ensuite mon moyen de promotion est Facebook. J’ai créé une page et je me suis inscrit à tous les groupes de producteurs. Et j’y publie partout une annonce. J’ai quelques retours, mais la plupart de mes annonces sont encore en attente de modération.

        Il faudrait la diffuser sur d’autres réseaux sociaux. Mais je n’ai pas envie d’installer les applications privatrices et je constate qu’à part Facebook, il n’existe pas beaucoup de réseaux ou l’on peut s’inscrire sans installer une application sur smartphone…

        Maintenant, il faudrait aussi passer à l’étape supérieure : la presse. On va dire que LinuxFr constitue mon premier pas. Pour le reste on verra, ça peut encore attendre.

        J’ai une autre étape à faire : solliciter les services publics pour des subventions. J’ai légèrement commencé mais tant que je n’avais rien en ligne j’étais peu crédible. Depuis j’ai simplement envoyé au département des Côtes d’Armor qui est mon département (peut-être pas le plus riche ;) ).

        Anecdotes

        Question piège : que représente mon logo ? Logo OpenProduct

        Réponse: une hutte de Hobbit avec la porte en bois et la Hutte en terre. La lumière verte qui en sort, est la couleur exacte du logo OpenSource, et si vous regardez, elle forme un O ouvert comme dans le Logo OpenSource (Pour cette raison même).
        Cette cabane symbolise, selon moi, le lieu de fabrication d’objets mystérieux. Et on entre-ouvre la porte pour laisser y échapper les secrets ou pour que le client y entre.

        Vous ne l’aviez pas deviné ? C’est normal, c’est du made in moi. Mon frère est susceptible de le refaire en 3D.

        Conclusion

        Je pense me concentrer plus sur le non-alimentaire car le domaine alimentaire est déjà pas mal investi par d’autres. Pour le reste, il y a un grand besoin. J’aimerais avoir plus de producteurs « petit-industriels » ou du moins d’objets. Et mettre à part les producteurs d’arts (d’objets d’arts : ferronnerie, verrier, potier, vannerie…).

        Il reste beaucoup de travail à faire. On verra si la graine prend. ;)

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Scribouilli v1.0 : un outil simple pour des petits sites et des blogs

        Il y a 10 mois, je vous annonçais dans une dépêche la naissance de la version Beta de Scribouilli. Scribouilli a pour but d’être une solution simple pour réaliser un blog ou un petit site internet de quelques pages utilisable avec des personnes sans grande connaissance informatique.

        Depuis lors, on a pu voir sur les réseaux l’annonce d’une version 1.0 pleine d’améliorations par rapport à ce que je vous avais présenté. Pour faire court, toutes les limitations de la version Beta que j’avais pointées dans la dépêche précédente ont été levées.

        Sommaire

        Hébergement

        Dans sa première version, Scribouilli nécessitait d’avoir un compte GitHub et cela n’est pas du genre à plaire à tout le monde. Désormais, lorsque vous vous lancez avec Scribouilli, vous tombez rapidement sur cet écran :

        Choix hébergement

        Il s’agissait d’une évolution qui était envisagée depuis le départ ou quasiment. L’arrivée relativement rapide de cette évolution a clairement été aidée par le fait que Framasoft a choisi d’utiliser Scribouilli pour les mini-sites dans le cadre de la refonte de framalibre.org. L’usage de GitHub par Scribouilli n’était pas trop au goût de Framasoft. Si vous l’ignorez, Microsoft a racheté GitHub en 2018 et même si GitHub est devenu une référence pour trouver les projets open source, GitHub.com lui-même n’est pas open source.

        Le caractère non-opensource de GitHub est une des raisons de ne pas être fan d’un outil qui passe par GitHub mais GitHub est aussi un monde intimidant pour une personne lambda sans background spécifique en informatique. Dans la première version de Scribouilli, il fallait aller sauvegarder les images du site dans GitHub et puis revenir à Scribouilli pour insérer l’image avec le code markdown adéquat. Désormais, un lien permet d’uploader les images à partir de Scribouilli qui par ailleurs génère le code markdown qui va bien. Il reste donc à copier ce code et le coller à l’endroit adéquat de la page ou article en rédaction. Il n’est donc plus nécessaire de quitter l’interface de Scribouilli.

        L’évolution de l’interface de Scribouilli apporte deux autres améliorations en lien plus ou moins direct avec l’hébergement. Premièrement, dans ses premières versions, le parcours supposait systématiquement que l’on voulait créer un nouveau site. Pour modifier un site, il fallait faire comme si on allait créer un nouveau site et puis cela se passait bien. Désormais, on a explicitement le choix entre créer un nouveau site ou en modifier un existant. La seconde évolution est que pour un même compte GitLab, GitHub ou ScribouGit, il est maintenant possible d’avoir plusieurs sites internet.

        Dernier point en lien avec l’hébergement, l’URL qui était générée dans la version Beta était assez particulière et surtout peu parlante. Désormais, lors de la création d’un nouveau mini-site ou blog, on choisit le nom de celui-ci et l’URL prend la forme : adresse du dépôt / nom du site. Si l’on souhaite un nom de site encore plus sur mesure, il y a moyen avec quelques incantations plus ou moins magiques de lier un nom de domaine personnel à son site.

        Blog

        Dans la dépêche précédente, j’écrivais

        Autant Scribouilli me paraît parfaitement utilisable en l’état pour un site simple de quelques pages, autant son utilisation pour un blog me paraît moins évidente. En effet, le menu deviendra vite illisible si l’on crée une page pour chaque nouveau billet.

        En parlant du menu, remarquons qu’il n’y a pas vraiment moyen de choisir l’ordre dans lequel les pages apparaissent dans le menu. Il me semble que les pages sont classées par ordre alphabétique avec une exception pour la page accueil qui, indépendamment de son nom, apparaît de manière assez logique en première.

        L’absence de création d’un flux RSS est aussi une caractéristique peu gênante pour un site de quelques pages mais qui peut être plus ennuyante dans le cadre d’un blog.

        Et bien aujourd’hui, Scribouilli ne possède plus ces limitations. Dans les paramètres, on peut demander l’ajout d’une page Articles.

        Ajouter une page Articles

        Comme vous pourrez le voir un peu plus bas dans cette dépêche, la page Article sert comme page menu de tous vos posts de blog qui apparaissent dans l’ordre chronologique de création.

        Pour ce qui est du menu général du site qui apparaît à droite dans le bandeau du haut, il y a désormais moyen de modifier l’ordre d’apparition des différentes pages. Une petite exception concerne la page Articles qui apparaît toujours en première dans le menu.

        Finalement, associé à la page Articles, un flux RSS est également généré.

        Ergonomie

        Deux autres évolutions positives que je classifie dans ergonomie concernent la prévisualisation des articles et la possibilité de consulter le code markdown des pages sans devoir relancer tout le cycle de la publication.

        Dans la version Beta, même si on n’avait rien changé à une page dont on venait de vérifier le code, il fallait lancer un cycle complet de publication du site. Aujourd’hui, ce n’est plus le cas.

        La prévisualisation est déroutante pour une personne habituée à écrire pour Linuxfr.org vu que la prévisualisation se déroule en temps réel, il n’est nul besoin de demander une prévisualisation en actionnant un quelconque bouton. La prévisualisation est toujours disponible et visible quand on tape le markdown.

        Modifier l’apparence du site

        Dans la dépêche précédente, je notais que le look était à prendre ou à laisser. La vitesse de développement de Scribouilli m’amenait à me contredire rapidement dans les commentaires. En effet, une possibilité de modifier le code CSS avait été ajoutée à Scribouilli.

        Modifier le code CSS

        Je terminais mon commentaire en indiquant que je n’avais plus qu’à apprendre le CSS. LinuxFR n’étant pas à une sournoiserie près, j’étais désigné dans les primés de mars 2023 des meilleures contributions. Je me suis senti obligé de prendre un livre qui se révélera excellent sur le CSS. LinuxFR récidivant quelques mois plus tard, je me sentais de nouveau obligé de choisir un livre en lien avec les sites internet et le CSS (qui s’avérera tout aussi intéressant). Première morale à cette histoire, contribuez à LinuxFR, vous n’êtes jamais à l’abri de recevoir l’opportunité de compléter votre bibliothèque.

        Seconde morale à mon histoire, je me sens invité à vous partager quelques adaptations que j’ai faites à mon blog à l’aide du CSS. Vous ne perdrez pas de vue que ma connaissance du CSS reste très récente et relativement limitée. Par ailleurs, étant de base plutôt satisfait du look de Scribouilli, ne vous attendez pas à des modifications radicales. Ces exemples permettront de donner une idée du genre de chose possible à réaliser ainsi que d’illustrer certaines limites de la démarche.

        Page d’accueil

        Commençons par la page d’accueil. L’image ci-dessous présente à gauche mon blog avec mes adaptations et à droite son look avant transformation.

        Page d’accueil

        En haut à gauche, on remarque que j’ai ajouté une sorte de logo à mon blog. Les quelques lignes de CSS qui permettent cela :

        header div.container {
          background-image: url(https://github.com/t-isaac/test-website-repo-3796/raw/main/images/logo.avif);
          background-repeat: no-repeat;
          background-position: left center;
          background-size: contain;
        }
        

        Lignes que j’ai dû compléter afin de gérer plus ou moins correctement l’affichage sur des petits écrans (tablettes, ordiphone,…) par une série d’instructions du type:

        @media only screen and (max-width:430px) {
          header div.container{
              background-size: 40%; }
        }
        

        Les personnes les plus attentives auront remarqué que contrairement à ce que j’ai écrit plus haut dans cet article, j’ai réussi à modifier l’ordre d’apparition dans le menu en haut à droite de la page Articles. C’est une petite astuce permise avec le CSS, il suffit de demander d’afficher ce menu dans le sens inverse (de gauche à droite plutôt que de droite à gauche). J’en profite aussi pour légèrement réduire l’écartement entre les deux éléments du menu.

        header ul {
          flex-direction: row-reverse;
          gap: 0.45rem;
        }
        

        Ce petit truc a ses limites. Par exemple, il ne fonctionnera pas si vous souhaitez avoir une section contact et que les pages apparaissent dans l’ordre suivant : Accueil – Articles – Contact. Systématiquement, la page Articles devra apparaître soit en premier, soit en dernier.

        Jusqu’à présent, nous avons parlé du bandeau supérieur qui en fait n’est pas spécifique à la page d’accueil et que l’on retrouvera également sur toutes les autres pages. Le bateau est par contre un élément spécifique de la page d’accueil. Il s’agit d’une image svg. Au niveau du CSS, il faut gérer deux éléments : la couleur pour que le bateau soit toujours de la même couleur que le reste du site et l’alignement de l’image qui par défaut apparaîtrait au-dessus du texte de la page d’accueil.

        svg {
           fill: var(--couleur-primaire);
           stroke: var(--couleur-primaire);
        }
        
        #Voilier {
           float: left;
           margin-left: 0rem;
        }    
        

        Vous pouvez aller vérifier, depuis les captures d'écran, j’ai changé la couleur de mon site et le voilier a suivi le mouvement.

        La page Articles

        Continuons par la page Articles. De nouveau, l’image ci-dessous présente à gauche mon blog avec mes adaptations et à droite son look avant transformation.

        Menu Articles

        L’apparition du flux RSS n’a rien à voir avec mes transformations mais est liée au fait que l’image de droite a été prise avant l’introduction de cet élément dans Scribouilli.

        Je ne suis pas trop fan de la présentation par défaut de Scribouilli. J’ai donc fait pas mal de modifications ici. D’autant plus que j’y ai ajouté quelques modifications pour le fun d’essayer certaines des fonctionnalités du CSS. Reconnaissons que le point négatif de mes modifications est sans doute une moindre lisibilité.

        La première chose que j’ai faite, c’est de supprimer les Lire l’article et les lignes de séparation:

        hr, article.blog-item > a {
          display: none;
        }
        

        Ensuite, je diminue la taille des titres, je les souligne et je prévois une transition pour quand on les survole:

        .blog-item h2 a {
          font-size: 1.25rem;
          text-decoration: underline;
          transition: 0.1s;
        }
        

        Je réduis drastiquement l’espace entre les différents titres de post:

        .blog-item, .blog-item h2 {
          margin-top: 0rem;
          margin-bottom: 0rem;
        }
        

        Ce n’est pas hyper utile et cela donne des trucs bizarres avec les écrans tactiles, mais j’agrandis les titres quand on les survole avec la souris:

        .blog-item h2 a:hover {
          font-size: 1.5rem;
        }
        

        Je termine mes modifications en prévoyant un changement de couleur quand le lien a été visité:

        .blog-item h2 a:visited {
          color: silver;
        }
        

        Alignement des images

        Le dernier type de modification que j’ai apporté concerne l’alignement des images. Ci-dessous, de nouveau à gauche le blog après mes modifications et à droite, le même blog mais sans modification du code CSS de Scribouilli. Par défaut, les images sont alignées sur la gauche et il n’y a aucun texte autour de l’image.

        Alignement des images

        En quelque sorte, j’ai dû tricher. En effet, en se limitant juste au CSS, il n’est pas vraiment possible d’obtenir des alignements différents pour les différentes images. Pour y arriver, je dois introduire mes images non pas avec du markdown mais avec du code HTML. Je définis différentes classes qui sont gérées par du code spécifique dans mon CSS. Par exemple, j’utilise une classe GF pour laquelle j’écris le code CSS suivant qui aligne l’image sur la gauche et prévoit une légère marge pour le texte qui viendra se placer à côté de l’image:

        .GF {
           float: left;
           margin-right: 3rem;
        }
        

        D’autres exemples

        On peut retrouver ici une liste de sites utilisant Scribouilli. Parmi ceux-ci, certains ont également effectué des modifications à l’aide de CSS. Ci-dessous, deux exemples. À gauche, le site de La Frontale qui obtient une impression très différente avec très peu de modification au niveau du CSS. À droite, le site de lahminewski qui est un exemple de modifications plus visibles mais qui restent très simples. On retrouve ici le code CSS qui y est utilisé.

        Autres exemples de site Scribouilli

        Réflexions concernant le CSS

        Les quelques exemples présentés ci-dessus démontrent qu’il n’y a pas besoin de beaucoup de code CSS pour obtenir des effets forts différents les uns des autres. Tout n’est cependant pas possible, Scribouilli apporte une structure de base qui impose parfois quelques contraintes (par exemple concernant la place de la page Articles dans le bandeau supérieur). Si l’on est prêt à utiliser du code HTML dans ses pages, les possibilités de personnalisation augmentent. Comme pour l’alignement des images, le HTML est un passage parfois obligé si l’on a un but précis.

        Même si le CSS (ainsi que le HTML) n’est pas très compliqué, on s’éloigne de l’objectif d’avoir un outil simple et facile pour des personnes non versées en informatiques. Rappelons d’abord qu’il n’y a aucune obligation d’ainsi adapter son propre site Scribouilli. Par ailleurs, rien qu’en jouant avec la couleur du site et avec des images, on peut déjà imprimer une personnalité propre à son site. Finalement, si vous accompagnez une personne sans connaissance informatique mais que vous, vous possédez la compétence pour coder le CSS, il est très simple d’écrire quelques règles CSS qui apporte une identité propre au site et puis de laisser la personne se débrouiller par elle-même pour la gestion du contenu proprement dit du blog ou du site.

        Il est appréciable que Scribouilli soit à la base utilisable de manière très simple mais que cela n’empêche pas des personnalisations assez importantes pour les personnes qui maîtrisent le CSS et le HTML.

        Aider

        Scribouilli reste un outil jeune même s’il a quitté son statut de version Beta. La première chose que vous pouvez faire est de tester l’outil et de faire des retours à l’équipe derrière ce sympathique outil. À en croire le site officiel, l’équipe est toujours preneuse de ces retours.

        J’imagine que si vous êtes sympathiques et un poil compétents, il y a sans doute moyen de collaborer avec les créateurs de Scribouilli. Contactez-les le cas échéant.

        Pour le moment, Scribouilli est développé de manière bénévole. Ce n’est pas prévu pour le moment mais si vous avez très envie de les soutenir financièrement, je suis convaincu que si vous les contactez, il y aura moyen de trouver une possibilité de le faire de manière utile (mais bon, là, je m’avance peut-être un peu).

        Conclusion

        Désormais, Scribouilli est un outil fonctionnel pour réaliser un site de quelques pages ou pour bloguer. Sans rien y connaître, il est simple de mettre en place son blog ou son site. En s’y connaissant un peu, Scribouilli offre pas mal de possibilités de personnalisation rien qu’avec le CSS. Travailler avec le HTML permet d’aller par ailleurs encore plus loin dans la personnalisation de son site ou blog.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        ❌