Publication de Textoter 0.51

Posté par  . Édité par Benoît Sibaud, Xavier Teyssier, patrick_g et palm123. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
40
5
avr.
2021
Téléphonie

Textoter est un logiciel sous licence GPLv3 pour écrire des SMS et ensuite les envoyer par un téléphone connecté en Bluetooth.
La version 0.51 est maintenant publiée sur pypi et sur GitHub.
Cette version permet de charger les contacts depuis le téléphone, toujours en Bluetooth.

Capture d'écran

Points notables

  • Communication avec le téléphone par Bluetooth
  • Import des contacts depuis le téléphone
  • Complétion des noms de contacts au fil de la saisie
  • Notification d'envoi du message au téléphone
  • Détection autonome des paramètres de connection au téléphone
  • Communication avec la pile Bluetooth par D-Bus

À ce jour, Textoter est validé sur les modèles suivants:

  • Samsung A41
  • Nokia 800 Tough

Installation

Textoter peut s'installer en utilisant le gestionnaire de paquets Python.

Selon le système utilisé, quelques dépendances sont préalablement à installer. Par exemple sur Debian et dérivés:

apt-get install bluez gnome-bluetooth python3-vobject python3-gi

puis

pip install textoter

Interface utilisateur

Pour être détecté par Textoter, un téléphone doit avoir été associé au moins une fois avec l'ordinateur en utilisant l'interface Bluetooth GNOME. Certain téléphones doivent même être associés pendant l'utilisation de Textoter pour permettre l'accès aux contacts et aux messages.

Au démarrage, Textoter détecte les téléphones disponibles et les ajoute dans la liste déroulante Devices.

Sélection du téléphone

Dans la liste déroulante Devices, sélectionner le téléphone choisi.

Destinataire

Pour définir le récepteur du message, au choix:

  • Enter directement le numéro dans l'entrée To :, de préférence au format international +33112234556
  • Utiliser les contacts du téléphone

Pour ce dernier point:

  • Importer les contacts en cliquant sur l'icône téléphone à côté de l'entrée To :. Selon les réglages du téléphone, il peut être nécessaire de confirmer l'accès de l'ordinateur aux contacts.
  • Sélectionner dans la liste déroulante le contact. Il est aussi possible d'entrer directement le nom du contact, Textoter propose alors une liste des possibles compléments.

Message

Entrer le message dans la zone de texte sous 'Message'.

Envoyer

Cliquer sur le bouton Send SMS. Textoter transmet alors le message au téléphone. Selon les réglages du téléphone, il peut être nécessaire de confirmer l'accès de l'ordinateur aux messages du téléphone.

Quitter

Cliquer sur le boutton Quit. Textoter sauvegarde alors le téléphone courant et se termine. Au lancement suivant, Textoter va réutiliser ce dernier téléphone.

Contribuer

Les rapports de bogues et suggestions d'amélioration peuvent être soumis via GitHub.

Zones de travaux

  • Documentation ajouter des captures des boutons dans README.md
  • Téléphones vérifier la compatibilité de modèles de téléphones supplémentaires
  • Internationalisation ajouter le code pour la traduction de l'interface graphique
  • Internationalisation traduire en français l'interface graphique
  • Messages ajouter la possibilité d'envoyer des MMS
  • Messages ajouter la possibilité d'envoyer des pièces jointes

Aller plus loin

  • # Bon point pour le bluetooth

    Posté par  (site Web personnel) . Évalué à 6 (+4/-1).

    Bon point pour le bluetooth!

    J’avais voulu essayer KDEConnect/GSConnect, mais ce logiciel fonctionne en WiFi, ce qui amène une cascade de problèmes que je n’ai jamais pu résoudre : cela suppose que l’ordinateur et le téléphone sont sur le même réseau WiFi, ce qui signifie exposer en WiFi tout mon LAN. Ah parce qu’évidemment il faut que le point d’accès n’isole pas les clients sinon c’est normal l’ordinateur pourra pas communiquer avec le téléphone, donc c’est un truc à exposer beaucoup trop de choses sur le WiFi. Et parce que le point d’accès ne doit pas isoler les clients, ça ne marchera pas si vous connectez votre ordinateur portable et votre téléphone au WiFi partagé (type WiFi d’hôtel), dans ce cas-là il vous faudra faire un point d’accès perso via le téléphone ou l’ordinateur, mais à ce moment-là, ni l’un ni l’autre ne pourront se connecter au WiFi pour avoir accès à Internet… J’ai essayé d’utiliser un Wifi qui ne servirait que pour mon téléphone, avec son propre réseau, avec un routeur entre le LAN et le WiFi, et d’essayer de faire communiquer l’ordinateur et le téléphone portable en contournant l’autodétection magique et en essayant de forcer une connexion manuelle, ça n’a pas marché, d’ailleurs il manquait peut-être l’option nécessaire pour commencer : j’ai vu des traces à ce sujet, mais inutilisable dans ma configuration.

    Bref… le fait que Textoter fonctionne en Bluetooth, ce qui permet une connexion directe et non-exclusive de l’ordinateur au téléphone sans supposer un Wifi exclusif et débrayé qui détermine l’architecture du réseau et l’exposition des machines non-impliquées… C’est un très bon point.

    ce commentaire est sous licence cc by 4 et précédentes

    • [^] # Re: Bon point pour le bluetooth

      Posté par  . Évalué à 3 (+3/-0). Dernière modification le 05/04/21 à 20:00.

      KDEConnect (et donc probablement GSConnect) peut aussi fonctionner en bluetooth depuis quelques mois.

      Ceci dit, il me semble qu'il nécessite obligatoirement d'installer une application sur le téléphone alors que si je comprends bien Textoter n'en a pas besoin.

    • [^] # Re: Bon point pour le bluetooth

      Posté par  . Évalué à 5 (+5/-0).

      Non, avec KDE Connect tu peux utiliser du bluetooth aussi, c'est pas très compliqué, c'est même expliqué ici. KDE Connect, c'est un peu une tuerie en comparaison. Il te permet de passer les fichiers, le presse papier, d'utiliser le téléphone comme un touchpad remote, d'utiliser le clavier de ton PC sous Android, et j'en passe.

      • [^] # Re: Bon point pour le bluetooth

        Posté par  (site Web personnel) . Évalué à 4 (+1/-0).

        Ah super, il faut que je réessaie alors ! =)

        ce commentaire est sous licence cc by 4 et précédentes

        • [^] # Re: Bon point pour le bluetooth

          Posté par  (site Web personnel) . Évalué à 4 (+1/-0).

          Je réponds à moi-même, mais dans la page liée il est écrit :

          Le code source de KDE Connect Android et Desktop ont un code "bluetooth", mais il est désactivé par défaut (vous devez les compiler pour les activer). Je l'ai fait mais il n'y avait aucune configuration pour ajouter la connexion. De plus, le chemin "bluetooth" n'est pas totalement fonctionnel d'après ce que j'ai compris des commentaires du développeur.

          Et cette phrase est de janvier 2021, il y a trois mois.

          Donc OK, la prise en charge est (au moins en partie) implémentée, mais ça a l’air super frais et il y a peu de chance (euphémisme) que ce soit déployé dans ma distrib.

          Bon, Textoter aussi a peu de chance que ce soit déployé dans ma distrib, à part qu’il n’y a pas d’application Android à recompiler si j’ai bien compris, balle au centre, à vue de nez. Note: l’auteur du blog propose un APK avec bluetooth.

          Mais la nouvelle est super encourageante !

          ce commentaire est sous licence cc by 4 et précédentes

          • [^] # Re: Bon point pour le bluetooth

            Posté par  . Évalué à 1 (+1/-0). Dernière modification le 06/04/21 à 09:51.

            C'est faux. KDE Connect utilise un protocole IP. C'est tout.
            Le support bluetooth natif n'a, à ma connaissance, jamais fonctionné (et sans intérêt AMHA) donc pas vraiment développé ni supporté. Je l'ai compilé au début avant de me rendre compte qu'il ne servait à rien. Donc la version officielle fonctionne parfaitement.

            Par contre, vu que c'est de l'IP et qu'il y a, par défaut le support de PAN (IP sur Bluetooth) dans Linux et sur les smartphones (Android sûr, iOS je ne sais pas), faire fonctionner KDE Connect est un jeu d'enfant. Tu actives la couche IP, partage via Bluetooth sur le smartphone (donc pas besoin de changer l'AP WIFI ou autre), et tu t'y connectes avec ton Linux, c'est fait.

            Il y a même un tutoriel plus haut avec des screenshots.

    • [^] # Re: Bon point pour le bluetooth

      Posté par  (site Web personnel) . Évalué à 3 (+1/-0).

      C'est possible de créer un second réseau wifi temporaire dédié à la communication entre deux appareils, avec des cartes récentes (en gros, moins de 10 ans).
      L'écosystème Apple s'en sert d'ailleurs abondamment : il y a une découverte mutuelle des appareils en Bluetooth et un passage transparent en wifi s'il y a beaucoup de données à échanger, sans se déconnecter des autres réseaux wifi.

    • [^] # Re: Bon point pour le bluetooth

      Posté par  . Évalué à 1 (+1/-0).

      Il est vrai que la sécurité n’est pas l’un des piliers originel lors des débuts des développements
      Cela dit, pour le quidam c’est une bonne chose de rendre l’outils simple à utiliser
      Reste encore le câble USB pour communiquer en point a point

  • # ENFIN !

    Posté par  . Évalué à 5 (+4/-0).

    Salut,

    Franchement merci ! J'ai cherché à faire ça depuis que j'ai un téléphone avec du bluetooth !

    ça me paraissait tellement évident : le téléphone est dans le sac quand je suis sur l'ordi et je reçois mes appel et mes texto directement sur l'ordi…

    Bref n'étant pas un dev, j'ai jamais réussi à faire autre chose que récupérer et transmettre un sms en ligne de commande…

    Bon avec Signal et Telegram aujourd'hui c'est quasiment inutile, mais merci d'avoir fait le boulot !

    "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # Erreur de lancement

    Posté par  (site Web personnel) . Évalué à 4 (+3/-0).

    Bonjour !

    J'ai une erreur au lancement:

    ➜  ~ textoter
    Traceback (most recent call last):
      File "/usr/local/lib/python3.8/dist-packages/textoter/textoter.py", line 266, in do_startup
        self.read_config()
      File "/usr/local/lib/python3.8/dist-packages/textoter/textoter.py", line 319, in read_config
        self.actions = self.actions_from_config(self.config)
      File "/usr/local/lib/python3.8/dist-packages/textoter/textoter.py", line 289, in actions_from_config
        history_list = self.sanitize_list(history_list.split(';'))
    AttributeError: 'list' object has no attribute 'split'
    
    (textoter:12369): Gtk-WARNING **: 15:10:06.223: ../../../../gtk/gtkwidget.c:8648: widget not within a GtkWindow
    
    (textoter:12369): Gtk-WARNING **: 15:10:06.223: ../../../../gtk/gtkwidget.c:8648: widget not within a GtkWindow
    Traceback (most recent call last):
      File "/usr/local/lib/python3.8/dist-packages/textoter/textoter.py", line 258, in do_activate
        win = TextoterWindow(self, self.bt)
      File "/usr/local/lib/python3.8/dist-packages/textoter/textoter.py", line 70, in __init__
        for num in self.app.actions['history_list'][1]:
    AttributeError: 'TextoterApplication' object has no attribute 'actions'
    

    Versions:

    ➜  ~ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 20.04.1 LTS
    Release:    20.04
    Codename:   focal
    ➜  ~ python3 --version
    Python 3.8.5
    

    Blog: http://blog.bux.fr, github: http://github.com/buxx

    • [^] # Re: Erreur de lancement

      Posté par  . Évalué à 1 (+0/-0).

      Merci agardelein pour cette app très utile !

      Idem ici, même erreur (désolé je n'ai pas de compte Github)
      Debian 10 / Python 3.7.3

      Je verrai la suite sur Github… pas la peine de gérer deux fils d'issues à la fois sur deux plateformes différentes ;-D

      @+ et bonne journée !

  • # python3-pip

    Posté par  . Évalué à 2 (+1/-0).

    Dans les dépendances, il manque le paquet python3-pip.

    Sinon il ne se lance pas correctement chez moi (Debian64 unstable) :
    ```
    Traceback (most recent call last):
    File "/usr/local/lib/python3.9/dist-packages/textoter/textoter.py", line 266, in do_startup
    self.read_config()
    File "/usr/local/lib/python3.9/dist-packages/textoter/textoter.py", line 319, in read_config
    self.actions = self.actions_from_config(self.config)
    File "/usr/local/lib/python3.9/dist-packages/textoter/textoter.py", line 289, in actions_from_config
    history_list = self.sanitize_list(history_list.split(';'))
    AttributeError: 'list' object has no attribute 'split'

    (textoter:4643): Gtk-WARNING **: 09:52:11.072: ../../../../gtk/gtkwidget.c:8648: widget not within a GtkWindow

    (textoter:4643): Gtk-WARNING **: 09:52:11.072: ../../../../gtk/gtkwidget.c:8648: widget not within a GtkWindow
    Traceback (most recent call last):
    File "/usr/local/lib/python3.9/dist-packages/textoter/textoter.py", line 258, in do_activate
    win = TextoterWindow(self, self.bt)
    File "/usr/local/lib/python3.9/dist-packages/textoter/textoter.py", line 70, in init
    for num in self.app.actions['history_list'][1]:
    AttributeError: 'TextoterApplication' object has no attribute 'actions'
    ```

    • [^] # Re: python3-pip

      Posté par  . Évalué à 1 (+0/-0).

      Merci pour ces retours encourageants !

      Il y a effectivement une erreur stupide qui s'est glissée dans le code de configuration… Elle est reportée également sur Github, avec un contournement en attendant la correction, prévue pour la semaine prochaine.

      Pour le paquet python3-pip, issue créée.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.