Adrien Dorsaz a écrit 887 commentaires

  • [^] # Re: gnome-software

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Fedora Linux 40 Beta est disponible pour les tests. Évalué à 3 (+1/-0).

    Avec Debian et le backend packagekit pour apt, Gnome Software est beaucoup plus réactif que sur Fedora.

    En fait, dnf est vraiment très lent comparé à apt, c'est le point qui me chagrine le plus avec Fedora…

  • [^] # Re: L'entête est juste du texte

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi export markdown. Évalué à 2 (+0/-0).

    Ah en lisant la doc, je vois que l'on peut même faire plus propre:

    <%= render "nodes/front_matter", :content => @tracker %>
    
    <%= raw @tracker.wiki_body.encode(universal_newline: true) %>
  • [^] # Re: L'entête est juste du texte

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi export markdown. Évalué à 2 (+0/-0).

    Pour faire un markdown propre, il faudrait remplacer les CRLF par des LF au moment de la génération du fichier Markdown, comme ça on est sûr de ne pas impacter le reste de l'application.

    Ah voilà, c'est possible avec Ruby 1.9.

    Par exemple, on devrait patcher comme ça, le fichier "show.md.erb" pour les trackers:

    <%= render "nodes/front_matter", :content => @tracker %>
    
    <%= raw @tracker.wiki_body.encode(@tracker.wiki_body.encoding, universal_newline: true) %>

    J'ai testé ça et ça produit un fichier uniquement avec des LF.

  • [^] # Re: L'entête est juste du texte

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi export markdown. Évalué à 2 (+0/-0). Dernière modification le 19 avril 2024 à 17:30.

    J'ai testé en désactivant l'éditeur markitup et ce n'est pas lui le problème. Apparemment, c'est le textarea et la normalisation HTML qui utilise du CRLF: https://stackoverflow.com/questions/14217101/what-character-represents-a-new-line-in-a-text-area

    Pour faire un markdown propre, il faudrait remplacer les CRLF par des LF au moment de la génération du fichier Markdown, comme ça on est sûr de ne pas impacter le reste de l'application.

  • [^] # Re: L'entête est juste du texte

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi export markdown. Évalué à 2 (+0/-0).

    D'après DBEaver, le texte stocké dans cette colonne contient bien les CRLF.

    Ça serait donc au moment où on insert les données que les CRLF sont ajoutés, mais je ne comprends pas bien, car le "wiki_body" devrait être le contenu du text area.

    Bon, ce n'est pas un simple text area, car il y a l'éditeur javascript autour, c'est peut être lui le problème.

  • [^] # Re: L'entête est juste du texte

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi export markdown. Évalué à 2 (+0/-0).

    Si c'était HTTP, tout le fichier aurait des CR/LF, là, ce n'est que le contenu Markdown.

    Par exemple, le template pour le markdown des entrées de suivi, c'est:

    <%= render "nodes/front_matter", :content => @tracker %>
    
    <%= raw @tracker.wiki_body %>

    Le premier tag fait un rendu avec des LF.

    Le second tag qui contient "raw" fait un rendu avec des CRLF => je me demande si dans la base de donnée mysql, les colonnes textes sont stockées (ou lues) avec des CRLF.

  • # Doublon

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi export markdown. Évalué à 2 (+0/-0).

    Hello,

    Un doublon pour la partie CRLF a été ouvert. C'est toujours étrange 🧐

  • # Doublon

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi CRLF dans le Markdown. Évalué à 3 (+1/-0).

    Hello,

    Effectivement, un autre utilisateur nous a ouvert une autre entrée de suivi a ce sujet, il y a quelques temps.

    Merci d'avoir rappelé ce problème, on peut continuer la conversation là-bas :)

  • [^] # Re: se passer de la box sosh

    Posté par  (site web personnel, Mastodon) . En réponse au journal IPv6, cela en valait-il la peine ?. Évalué à 2 (+0/-0).

    Est-ce qu'il est possible de se passer de la box sosh et de bénéficier de l'IPV4/IPV6 ?

    J'ai l'impression que se passer du modem de l'opérateur n'est pas possible, car c'est un outil qui fait partie de leur infrastructure et doit donc avoir des mots de passe/clés secrètes spécifiques à l'opérateur pour éviter les abus de leur infrastructure.

    (Les box en France sont juste des outils qui intègrent un modem, un routeur et un serveur multimédia)

    Ce que j'ai fais chez moi, c'est que j'ai monté un routeur avec OpenWrt et c'est la seule machine connectée au modem de mon opérateur (qui ne fournit que de l'IPv4 dans mon cas).

    Ensuite, j'ai commandé le produit IPv4 as a Service d'ungleich et j'ai demandé également de recevoir un préfixe IPv6 /48 inclus dans le prix.1

    Ces deux services demandent seulement d'avoir une connexion internet (via le modem de l'opérateur) et d'avoir une machine qui peut exécuter un client VPN Wireguard (n'importe quelle machine fait l'affaire, car Wireguard fonctionne sans avoir besoin de décodage matériel particulier).2

    Ensuite, j'ai configuré tout mon réseau via le routeur avec OpenWrt3 et je suis complètement indépendant de mon opérateur réseau. C'est un peu cher, mais c'est vraiment chouette de maîtriser son réseau.

    L'avantage de cette solution, c'est que pour faire entrer le trafique Internet dans mon réseau, je n'ai besoin de configurer uniquement le NAT et le firewall de mon routeur: aucune configuration spéciale n'est nécessaire sur le modem de mon opérateur, j'en suis indépendant.

    J'ai pu vérifier cette théorie d'indépendance cette hiver quand j'ai du déménagé temporairement chez une connaissance: j'ai branché mon routeur sur le modem de son opérateur et mon serveur était tout de suite accessible :)


    1. On peut aussi ne commander que le réseau IPv6 uniquement ce qui est un peu moins cher, mais moi j'avais besoin d'avoir une adresse IPv4 publique pour mon serveur et de pouvoir définir les entrées reverse DNS pour mon serveur mail. 

    2. Après un routeur dédié est plus efficace en terme d'énergie et propose pour une centaine d'euro plusieurs ports ethernet et souvent la gestion du wifi. Passez voir le wiki d'OpenWrt avant de faire vos courses, ils ont un tableau des matériels compatibles

    3. Dans OpenWrt, les deux tunnels VPNs (un pour l'IPv4 et un pour l'IPv6) sont vu comme des interfaces réseaux de type WAN supplémentaire. 

  • # Si seul IPv6 existait...

    Posté par  (site web personnel, Mastodon) . En réponse au journal IPv6, cela en valait-il la peine ?. Évalué à 10 (+22/-0). Dernière modification le 18 avril 2024 à 08:07.

    …il n'y aurait pas de configuration de split DNS, de NAT, d'adresse IP publique donnée uniquement à ton routeur.

    Toutes les machines auraient au moins 1 adresse IP publique, voire même un préfixe de quelques centaines d'adresses.

    Si un serveur a plusieurs centaines d'adresses, il n'y a même plus besoin de configurer de "virtual hosts" dans Apache et chaque conteneur/machine virtuelle peut avoir sa connexion SSH en direct sur le port 22.

    La configuration du réseau serait bien plus simple, car il n'y a pas à gérer de réseaux virtuels, d'adresses privées, de NAT… Et toute la sécurité se baserait sur les firewalls qui peuvent être installés à plusieurs endroits du réseau. Leur configuration serait simplifiée, car il n'y a plus que des vrais adresses et pas de NAT.

    Mais voilà, on préfère faire comme on a appris avec IPv4 et tous les outils de contournement de problèmes liés à cette technologie. Car on a appris comme ça il y a des dizaines d'années, car les FAI n'ont pas envie de délivrer de l'Internet moderne et car les logiciels n'ont pas intégré IPv6 (par exemple dans leurs systèmes de modération).

  • [^] # Re: Passage à sass 6

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Ruby Sass est déprécié. Évalué à 2 (+0/-0). Dernière modification le 14 avril 2024 à 10:43.

    Merci 👍

  • [^] # Re: Après une récente vulnérabilité de SSH, Systemd réduit ses dépendances.

    Posté par  (site web personnel, Mastodon) . En réponse au lien After a Recent SSH Vulnerability, Systemd Reduces Dependencies. Évalué à 3 (+1/-0).

    Ça reste du code dupliqué et non trivial (on n'est pas sur 3-4 lignes, là).

    Je ne vois pas ce qu'il y a d'horrible de dupliquer 50 lignes de code C dans tous les projets en C (pour les autres langages, le code sera plus concis).

    Euh, on parle de séparer un .so en deux, ou même de juste construire (et rendre dispo) un .a statique intermédiaire. Ça demande de sélectionner quel code va dans la lib de base, c'est tout.

    Le projet systemd dit clairement qu'ils ne vont pas s'amuser à faire une librairie ou un header exprès pour ça.

    En acceptant ce fait, si la duplication est vraiment si terrifiante et abominable, il y aura peut être un groupe de développeur ou mainteneur qui va créer cette fameuse librairie ou ce header.

  • [^] # Re: Après une récente vulnérabilité de SSH, Systemd réduit ses dépendances.

    Posté par  (site web personnel, Mastodon) . En réponse au lien After a Recent SSH Vulnerability, Systemd Reduces Dependencies. Évalué à 4 (+2/-0).

    Franchement, le code de la fonction n'est pas long, c'est juste que le langage C force à être très explicite. En Java ou python, la même fonction serait beaucoup plus concise avec la même qualité de gestion d'erreur (prêt pour un TapTempo "systemd_notify" ?).

    Comme ce code est court et standard, il peut très bien être dupliqué dans tous les projets: ça sera une perte de temps de faire une librairie qui ne contient que cette fonction.

    En plus, les développeurs et mainteneurs critiquent justement l'écosystème JavaScript qui a tendance à créer un module pour 10 lignes de code…

    Demander de refaire complètement l'architecture de la libsystemd juste pour ces quelques lignes de code me semble quand même très tiré par les cheveux.

  • [^] # Re: Après une récente vulnérabilité de SSH, Systemd réduit ses dépendances.

    Posté par  (site web personnel, Mastodon) . En réponse au lien After a Recent SSH Vulnerability, Systemd Reduces Dependencies. Évalué à 3 (+1/-0).

    Oups, désolé pour le nommde famille de Lennart, c'est Poettering, pas Potting.

  • [^] # Re: Après une récente vulnérabilité de SSH, Systemd réduit ses dépendances.

    Posté par  (site web personnel, Mastodon) . En réponse au lien After a Recent SSH Vulnerability, Systemd Reduces Dependencies. Évalué à 9 (+7/-0).

    Après une récente vulnérabilité de SSH, Systemd réduit ses dépendances.

    Si j'ai bien compris ce commentaire sur Github, systemd ne réduit pas ses dépendances, mais les charge dynamiquement avec dlopen au moment où elles sont nécessaires.

    Donc, en pratique, les dépendances sont toujours là.

    Cette bibliothèque, essentielle pour intégrer les services avec systemd

    Comme soulevé par Renault dans ce commentaire, libsystemd n'est pas un pré-requis pour intégrer les services avec systemd. Dans le lien donné par Renault, Lennart Potting résume en une phrase ce qui est nécessaire:

    It literally is just sending a text string "READY=1" in an AF_UNIX datagram to a socket whose path is provided to you in the $NOTIFY_SOCKET env var. Anyone with a moderate understanding of UNIX APIs should be able to hack that up in a a few lines of code. It's a protocol I can summarize and explain in one frickin' sentence.

    Ce qui s'est traduit concrètement par ce patch pour OpenSSH par exemple (joins ci-dessous).

    Le patch est long, car OpenSSH a décidé de faire une option de build pour ne pas l'intégrer à la construction. Si on enlève ce détail, la fonction C static void ssh_systemd_notify(const char *fmt, ...) n'est effectivement pas si horrible.

    --- a/configure.ac  
    +++ a/configure.ac  
    @@ -915,6 +915,7 @@ int main(void) { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
        AC_DEFINE([_PATH_BTMP], ["/var/log/btmp"], [log for bad login attempts])
        AC_DEFINE([USE_BTMP])
        AC_DEFINE([LINUX_OOM_ADJUST], [1], [Adjust Linux out-of-memory killer])
    +   AC_DEFINE([SYSTEMD_NOTIFY], [1], [Have sshd notify systemd on start/reload])
        inet6_default_4in6=yes
        case `uname -r` in
        1.*|2.0.*)
    --- a/openbsd-compat/port-linux.c   
    +++ a/openbsd-compat/port-linux.c   
    @@ -21,16 +21,23 @@ 
    
     #include "includes.h"
    
    -#if defined(WITH_SELINUX) || defined(LINUX_OOM_ADJUST)
    +#if defined(WITH_SELINUX) || defined(LINUX_OOM_ADJUST) || \
    +    defined(SYSTEMD_NOTIFY)
    +#include <sys/socket.h>
    +#include <sys/un.h>
    +
     #include <errno.h>
    +#include <inttypes.h>
     #include <stdarg.h>
     #include <string.h>
     #include <stdio.h>
     #include <stdlib.h>
    +#include <time.h>
    
     #include "log.h"
     #include "xmalloc.h"
     #include "port-linux.h"
    +#include "misc.h"
    
     #ifdef WITH_SELINUX
     #include <selinux/selinux.h>
    @@ -310,4 +317,90 @@ oom_adjust_restore(void)
        return;
     }
     #endif /* LINUX_OOM_ADJUST */
    -#endif /* WITH_SELINUX || LINUX_OOM_ADJUST */
    +
    +#ifdef SYSTEMD_NOTIFY
    +
    +static void ssh_systemd_notify(const char *, ...)
    +    __attribute__((__format__ (printf, 1, 2))) __attribute__((__nonnull__ (1)));
    +
    +static void
    +ssh_systemd_notify(const char *fmt, ...)
    +{
    +   char *s = NULL;
    +   const char *path;
    +   struct stat sb;
    +   struct sockaddr_un addr;
    +   int fd = -1;
    +   va_list ap;
    +
    +   if ((path = getenv("NOTIFY_SOCKET")) == NULL || strlen(path) == 0)
    +       return;
    +
    +   va_start(ap, fmt);
    +   xvasprintf(&s, fmt, ap);
    +   va_end(ap);
    +
    +   /* Only AF_UNIX is supported, with path or abstract sockets */
    +   if (path[0] != '/' && path[0] != '@') {
    +       error_f("socket \"%s\" is not compatible with AF_UNIX", path);
    +       goto out;
    +   }
    +
    +   if (path[0] == '/' && stat(path, &sb) != 0) {
    +       error_f("socket \"%s\" stat: %s", path, strerror(errno));
    +       goto out;
    +   }
    +
    +   memset(&addr, 0, sizeof(addr));
    +   addr.sun_family = AF_UNIX;
    +   if (strlcpy(addr.sun_path, path,
    +       sizeof(addr.sun_path)) >= sizeof(addr.sun_path)) {
    +       error_f("socket path \"%s\" too long", path);
    +       goto out;
    +   }
    +   /* Support for abstract socket */
    +   if (addr.sun_path[0] == '@')
    +       addr.sun_path[0] = 0;
    +   if ((fd = socket(PF_UNIX, SOCK_DGRAM, 0)) == -1) {
    +       error_f("socket \"%s\": %s", path, strerror(errno));
    +       goto out;
    +   }
    +   if (connect(fd, &addr, sizeof(addr)) != 0) {
    +       error_f("socket \"%s\" connect: %s", path, strerror(errno));
    +       goto out;
    +   }
    +   if (write(fd, s, strlen(s)) != (ssize_t)strlen(s)) {
    +       error_f("socket \"%s\" write: %s", path, strerror(errno));
    +       goto out;
    +   }
    +   debug_f("socket \"%s\" notified %s", path, s);
    + out:
    +   if (fd != -1)
    +       close(fd);
    +   free(s);
    +}
    +
    +void
    +ssh_systemd_notify_ready(void)
    +{
    +   ssh_systemd_notify("READY=1");
    +}
    +
    +void
    +ssh_systemd_notify_reload(void)
    +{
    +   struct timespec now;
    +
    +   monotime_ts(&now);
    +   if (now.tv_sec < 0 || now.tv_nsec < 0) {
    +       error_f("monotime returned negative value");
    +       ssh_systemd_notify("RELOADING=1");
    +   } else {
    +       ssh_systemd_notify("RELOADING=1\nMONOTONIC_USEC=%llu",
    +           ((uint64_t)now.tv_sec * 1000000ULL) +
    +           ((uint64_t)now.tv_nsec / 1000ULL));
    +   }
    +}
    +#endif /* SYSTEMD_NOTIFY */
    +
    +#endif /* WITH_SELINUX || LINUX_OOM_ADJUST || SYSTEMD_NOTIFY */
    --- a/openbsd-compat/port-linux.h   
    +++ a/openbsd-compat/port-linux.h   
    @@ -30,4 +30,9 @@ void oom_adjust_restore(void);
     void oom_adjust_setup(void);
     #endif
    
    +#ifdef SYSTEMD_NOTIFY
    +void ssh_systemd_notify_ready(void);
    +void ssh_systemd_notify_reload(void);
    +#endif
    +
     #endif /* ! _PORT_LINUX_H */
    --- a/platform.c    
    +++ a/platform.c    
    @@ -44,6 +44,14 @@ platform_pre_listen(void)
     #endif
     }
    
    +void
    +platform_post_listen(void)
    +{
    +#ifdef SYSTEMD_NOTIFY
    +   ssh_systemd_notify_ready();
    +#endif
    +}
    +
     void
     platform_pre_fork(void)
     {
    @@ -55,6 +63,9 @@ platform_pre_fork(void)
     void
     platform_pre_restart(void)
     {
    +#ifdef SYSTEMD_NOTIFY
    +   ssh_systemd_notify_reload();
    +#endif
     #ifdef LINUX_OOM_ADJUST
        oom_adjust_restore();
     #endif
    --- a/platform.h    
    +++ a/platform.h    
    @@ -21,6 +21,7 @@ 
     void platform_pre_listen(void);
     void platform_pre_fork(void);
     void platform_pre_restart(void);
    +void platform_post_listen(void);
     void platform_post_fork_parent(pid_t child_pid);
     void platform_post_fork_child(void);
     int  platform_privileged_uidswap(void);
    --- a/sshd.c    
    +++ a/sshd.c    
    @@ -2077,6 +2077,8 @@ main(int ac, char **av)
            ssh_signal(SIGTERM, sigterm_handler);
            ssh_signal(SIGQUIT, sigterm_handler);
    
    +       platform_post_listen();
    +
            /*
             * Write out the pid file after the sigterm handler
             * is setup and the listen sockets are bound
  • [^] # Re: Collaboration et remarques

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Feuille de style CSS 3 avec theme clair et sombre automatique. Évalué à 3 (+1/-0).

    Hello,

    Merci pour les idées pour améliorer le CSS.

    D'abord, le code de LinuxFr est assez ancien (vers 2010) et assez vieux pour avoir eu besoin d'outils pour être compatible avec Internet Explorer et ne pas avoir les facilités de CSS3 (d'où l'utilisation de Sass et CoffeeScript).

    Nous avons entamé récemment la mise à jour du framework Ruby On Rails et côté Ruby, on a déjà pas mal de travail et on n'aura pas le temps de s'occuper de la CSS tout de suite. Tu peux regarder la discussion sur Github sous la PR "rails7".

    Comme il y a très peu de bénévoles sur le code, nous allons très certainement supprimer l'option de personnalisation des CSS via le site LinuxFr. J'avais expliqué mon point de vue ici: https://linuxfr.org/suivi/css-contribuees-utilisation-et-mise-a-jour#comment-1945690

    Par rapport à Sass, la gem que nous utilisons pour gérer ça est dépréciée et il faudrait que l'on trouve une nouvelle solution. Pour les variables, nous pourrions utiliser CSS3, mais pour la fonction qui permet facilement d'imbriquer les règles, c'est encore utile (c'est trop récent dans CSS3).

    Il y a donc des éléments qui ne sont pas dans une balise, et d'autres qui le sont. Du coup, il est impossible d'appliquer un style sur les éléments extérieurs, sans affecter les éléments intérieurs.

    Il y a les règles :not() en CSS qui peuvent aider, non ?

    On utilise des caractères ASCII pour faire des boutons (en 2024, on peut utiliser des emojis, AMHA)

    Les caractères ASCII utilisent la fonte définie par LinuxFr (si l'utilisateur laisse télécharger la fonte), ils ont l'avantage donc que le rendu ne dépend pas trop du navigateur.

    En effet, la solution propre serait d'utiliser SVG pour faire de vraies icônes pour les boutons. Le rendu des emoji dépend trop du navigateur qui l'affiche et donc le style ne serait pas maîtrisé (entre Firefox/Linux, Firefox/Windows, Android et iOS, je crois que chaque application fait un rendu différent).

    Nous pourrions utiliser une police spéciale pour gérer les emoji, mais la réalité est que l'utilisation de polices d'écritures pour faire un rendu d'icônes est obsolète et qu'il vaut mieux utiliser SVG (selon les explications de fontawesome eux-mêmes).

    Enfin, si jamais ça pourrait t'intéresser, mjourdan nous avait fait une nouvelle proposition de design que nous n'avons pas encore pu implémenter.

    J'avais ouvert le suivi ici pour en discuter: https://linuxfr.org/suivi/implementer-le-nouveau-design-de-linuxfr et mjourdan avait fait un répertoire Github avec son mockup: https://github.com/mjourdan/linuxfr-design

  • [^] # Re: patch

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi permettre aux utilisateurs de publier leur adresse de courriel. Évalué à 2 (+0/-0).

    Merci pour le patch, je pense que c'est une bonne idée.

    Je n'ai pas eu le temps de le passer en revue, je te redirai si jamais il faut faire des modifications.

  • [^] # Re: alternative

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi 'Envoyer un message' disparu ?. Évalué à 2 (+0/-0).

    Merci, je trouve que cette proposition est une bonne idée et qu'elle permet de clôturer cette entrée de suivi.

    Je la clôture, parce qu'en 13 ans personne n'a implémenté le service et parce qu'il y a actuellement de nos jours assez de système différents déjà existant pour communiquer (email, xmpp, mastodon/activitypub).

  • [^] # Re: Ironie

    Posté par  (site web personnel, Mastodon) . En réponse au lien Comment les services de renseignements américains utilisent la pub pour traquer Poutine (ou vous). Évalué à 2 (+0/-0).

    Si jamais, l'extension ublock origine te permet de faire la même procédure de 3 manières:

    • avec soit un clique droit sur l'élément à cacher (ublock origine apparaît dans le menu contextuel)
    • via la pipette de la fenêtre d'ublock pour créer une règle permanente
    • via l'éclaire (mode "zypper") de la même fenêtre pour rapidement supprimer un composant html de la page (c'est temporaire, les composants s'affichent à nouveau si on rafraîchit la page)

    Tu peux aussi le faire dans la version mobile sur Firefox pour Android, mais je ne me souviens plus les gestes qu'il faut faire pour quitter les modes "pipette" et "zypper".

  • [^] # Re: LineageOS "pas vraiment dégouglueulisé" !?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Comparatif : GrapheneOS vs LineageOS. Évalué à 4 (+2/-0). Dernière modification le 05 mars 2024 à 18:13.

    Le tableau dit pour LineageOS;

    • "No" pour "Network based location" (c'est logique, car c'est Google Play Service qui fournit cette fonctionnalité et qu'il n'est pas proposé par défaut dans LineageOS)
    • "n/a" pour "Network location provider" dans la partie "degoogled"

    Ça correspond donc bien à mon expérience: pas de dépendance pour ce point à Google et aucun fournisseur de ce service par défaut.

  • [^] # Re: LineageOS "pas vraiment dégouglueulisé" !?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Comparatif : GrapheneOS vs LineageOS. Évalué à 3 (+1/-0).

    Désolé pour l'incruste, mais si je me souviens bien, LineageOS est prêt pour faire la localisation avec antennes GSM et wifi, mais n'a aucun fournisseur de service installé pour le faire par défaut (il n'y a donc aucune dépendance envers Google pour cette fonctionnalité).

    Si tu veux vraiment utiliser cette géolocalisation plus précise avec GSM et wifi, il faut installer un fournisseur de service comme les logiciels libres "UnifiedN LP" sous F-Droid. Avec cette liste, au moins tu peux choisir le fournisseur de service ou créer tes propres bases de données.

    Quel smartphone? Ta puce GPS semble avoir un problème. Normalement, le GPS démarre en quelques secondes, sans google bien sûr. Même un démarrage à froid dure moins de deux minutes.

    J'ai eu un Fairphone 2 et, clairement, la puce GPS/A-GPS/GLONASS était soit mauvaise soit dysfonctionnelle, car il fallait plusieurs dizaines de secondes pour capter un signal médiocre. J'avais essayé d'installer les services UnifiedNLP, mais le gain de précision et temps d'accroche n'était pas si impressionnant.

    Après, j'ai eu l'occasion d'avoir un Fairphone 4, cette fois la puce GPS/A-GPS/GLONASS/BeiDou/Galileo fonctionne vraiment très bien et mon téléphone trouve sa localisation assez rapidement. Je n'ai pas mesuré, mais je vois bien qu'Organic Map n'attend pas des plombes avant de me situer.


    Bon, je viens de faire un tour sur un site de comparaison de spécifications entre un Fairphone 2 et un Fairphone 4… Il y a eu clairement un saut technologique entre l'architecture 32bits vs 64bits, l'apparition de l'architecture big.LITTLE, la finesse processeur 28nm vs 8nm, la fréquence de la RAM doublée, la quantité de RAM de 2Gio à 6Gio… et bien sûr, la version de LineageOS supportée.

    Ce meilleur fonctionnement, n'est peut être pas du tout liée à la qualité de la puce de localisation, mais juste de manière générale aux améliorations de tout le matériel.

  • [^] # Re: Lecteur PDF

    Posté par  (site web personnel, Mastodon) . En réponse au journal Retour d'expérience - GrapheneOS vs LineageOS. Évalué à 2 (+0/-0).

    Il y a 2 cas pour moi:

    • j'ai reçu sur mon téléephone un mail avec un pdf que je dois signer. Je l'ai déjà sous les yeux, autant l'imprimer depuis là sans devoir démarrer mon laptop pour retrouver le même mail
    • pour des travaux actuellement je vis chez des connaissances qui ont une imprimante qui ne fonctionne pas avec Linux, mais très bien avec Android. C'est temporaire alors imprimer depuis Android est largement suffisant.
  • [^] # Re: fix

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi le format d'affichage des dates est ambigu. Évalué à 2 (+0/-0).

    Est-ce que j'ai répondu à ta question dans mon autre commentaire ?

    Oui, merci.

    Qu'est-ce qui manque pour que mon patch soit accepté ?

    Du temps et de la bande passante de l'équipe bénévole pour pouvoir faire une mise en production 😉

  • # Lecteur PDF

    Posté par  (site web personnel, Mastodon) . En réponse au journal Retour d'expérience - GrapheneOS vs LineageOS. Évalué à 4 (+2/-0). Dernière modification le 22 février 2024 à 07:51.

    Je n'ai jamais trouvé un lecteur PDF qui s'intègre bien avec des Android plus récent que la version 4 et qui sache utiliser le service d'impression d'Android.

    Collabora Office est bien capable d'ouvrir et imprimer dds PDFs, mais il est vraiment très lent à l'ouverture, difficile à naviguer et à trouver l'option d'impression cachée sous le menu "Fichier".

    Heureusement, depuis quelques mois, Firefox pour Android permet d'utiliser le lecteur PDF de Firefox et, en plus, le service d'impression est disponible avec le bouton "Imprimer" du menu de Firefox (le bouton n'est pas visible dans la barre d'outil du lecteur PDF, mais il gagnerait à y être).

    Je crois que ça a été réglé récemment, mais Firefox n'était pas proposé comme lecteur PDF quand j'essayais d'ouvrir un PDF depuis une autre application.


    PS: merci pour le comparatif, il est très bien fait 🙂

  • [^] # Re: Ça va il est même pas trois heure !

    Posté par  (site web personnel, Mastodon) . En réponse au journal Args parser pour shell. Évalué à 4 (+2/-0). Dernière modification le 20 février 2024 à 12:49.

    La première fois que j'ai vu l'utilisation de uppercase dans un script, c'était pour pouvoir faire un test de comparaison de string facilement.

    Genre tester si valeur de l'argument passé par l'utilisateur est une variante de True/true/TRUE…