# Pywebdriver - installation Ubuntu

### 1. Sur ordinateur Ubuntu 20.04, 22.04 et 24.04 neuf

<p class="callout info">Ekimia s'occupe parfois l’installation : voir s’ils n’ont pas mis Pywebdriver en favori dans le navigateur internet.  
Si oui, voir s’ils l’ont bien installé.</p>

Si KO, utiliser successivement les 3 commandes suivantes (le mot de passe du PC sera nécessaire) :

Pour trouver facilement ces commandes, rendez-vous sur ce pad : [https://pad.cloud117.fr/p/pywebdriver](https://pad.cloud117.fr/p/pywebdriver)

```shell
sudo apt install python-is-python3
wget https://raw.githubusercontent.com/akretion/pywebdriver/master/debian/install.sh
sudo chmod +x install.sh
sudo ./install.sh
# S'il propose 2 versions, ne pas prendre celle par défaut, mais l'autre
# À "Handle HTTPS(Y/n)" répondre Y (pour oui)
```

<p class="callout warning">Si le Firefox a un mot de passe principal, il y aura une étape en plus. Le terminal demandera *Enter Password or Pin for "NSS Certificate DB"* et il faut écrire le mot de passe principal</p>

<p class="callout success">Un redémarrage peut être nécessaire avant l'étape 2 ↓  
</p>

###   


### 1bis. Sur ordinateur Ubuntu venant d'une version antérieure

- Enlever le dépôt ancien que l'on utilisait pour télécharger pywebdriver 
    - Chercher "Logiciels et mises à jour" dans le menu des applications
    - Dans "Autres logiciels", enlever les lignes contenant pywebdriver
    - Actualiser
- **S'assurer qu'on a bien python3.\* et désinstaller python2.\* <span style="color: #ff0000;">(sinon il y aura des erreurs de droits d'accès et rien ne se lancera)</span>**

```shell
python
# Voir si il y a marqué Python 2.*.* (* étant la version utilisé)
# Si oui, il faut passer en python3 qui doit être sur l'ordi
# Commencer à taper puis →tabulation
pyth →tab
# Il doit y avoir python3

# Sinon mettre à jour : https://www.pythoncentral.io/how-to-update-python/

# Désinstaller python2
sudo apt remove python2.*
# Et installer ce qu'il faut
sudo apt install python-is-python3

#Tester et lancant python
python
# Doit apparaitre une version de python en 3.quelquechose
CTRL+D #pour en sortir
```

- Suivre les commandes suivantes

```shell
# Désinstaller l'ancienne version de pywebdriver
sudo apt remove pywebdriver
sudo apt purge pywebdriver
sudo rm -r /etc/pywebdriver/

# Installer la nouvelle version
wget https://raw.githubusercontent.com/akretion/pywebdriver/master/debian/install.sh
sudo chmod +x install.sh
sudo ./install.sh
# À "Handle HTTPS(Y/n)" répondre Y (pour oui)

# Il va poser une question sur le fichier de configuration ↓
```

<table border="1" id="bkmrk-r%C3%A9pondre-y" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>[![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-05/scaled-1680-/5gcimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-05/5gcimage.png)</td><td>répondre **Y**</td></tr></tbody></table>

### 1ter. Erreurs à l'installation  


##### Les tests sur l'écran de tests ne fonctionnent pas  


- **Avez-vous redémarrer l'ordinateur** ? Sinon faîtes le avant de retester
- Vu à partir du 5 mai sur des Ubuntu 22.04 en python 3.10, le test d'impression bugue → tester sur un Odoo car ça fonctionne quand même peut-être ! [Issue en cours](https://github.com/akretion/pywebdriver/issues/133)

##### Vous avez l'erreur "you may have broken packages"  


[![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-07/scaled-1680-/Khmimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-07/Khmimage.png)

```shell
sudo apt-get check
```

##### Si c'est une erreur de certif et que vous voulez passer en http et pas en https

Pour cela :

- dans le config.ini, mettre host=localhost et commenter ou supprimer les deux lignes de certificats
- relancer pywebdriver
- normalement en [http://localhost:8069](http://localhost:8069) ça marche

##### Vous voulez recommencer l'installation ?

```shell
sudo apt remove pywebdriver # ça supprime le paquet
sudo apt purge pywebdriver # ça supprime le fichier de configuration
sudo rm -r /etc/pywebdriver/ # supprimer le dossier de données

# et là recommencer l'installation
sudo ./install.sh
```

###   


### 2. Finalisation et vérification de l'installation

#### Interface de test

Se connecter à l'adresse [https://localhost:8069/](https://localhost:8069/)

Pour passer l'alerte de sécurité de Firefox, clic sur « Avancé » puis « Accepter le risque et poursuivre »  
​Cliquer sur "Statut de la Posbox" : on voit ici les appareils bien connectés au point de vente et ceux sans signal.

On peut tester la liaison pour l'imprimante, l'afficheur client et la liaison TPE.

#### Sur Odoo

Vérifier que l'adresse [https://localhost:8069/](https://localhost:8069/) est bien renseignée dans Odoo &gt;&gt; Point de vente &gt;&gt; Configuration &gt;&gt; Point de vente &gt;&gt; Matériel Proxy.

Une fois Pywebdriver installé, et lors de la connexion à Odoo, on voit en haut à droite du point de vente les appareils non reliés :

![](https://librairie.grap.coop/uploads/images/gallery/2020-07/scaled-1680-/image-1594390045805.png)

<p class="callout info">Certaines actis ont des paramétrages spécifiques, par exemple plusieurs points de vente rattachés à une seule imprimante ticket de caisse (cf. CHE) =&gt; dans ce cas la caisse principale est rattachée à Pywebdriver via [https://localhost:8069/](https://localhost:8069/) , mais les caisses secondaires ont une autre adresse IP de renseignée dans Configuration &gt;&gt; Point de vente</p>

### 3. Cas d'un ordi qui communique avec une IP locale

Exemple chez BAJ, voici le fonctionnement au 1er octobre 2024

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-10/scaled-1680-/image.png)](https://librairie.grap.coop/uploads/images/gallery/2024-10/image.png)

<p class="callout warning">Pour que cela fonctionne, il faut changer le **config.ini**</p>

```bash
# Accéder au fichier de config
cd /etc/pywebdriver/
# Le modifier avec les droits admin
sudo nano config.ini
# Commenter le host
# Avant : host=127.0.0.1
# Après : ;host=127.0.0.1
# Enregistrer en faisant CTRL + X (puis O pour enregistrer et Entrée)
```

### Différents soucis  


#### Nouvel appareil (imprimante, TPE, afficheur client·e)

Voir tuto dédié : [https://librairie.grap.coop/books/r%C3%A9serv%C3%A9-au-service-info/page/rajouter-un-nouveau-appareil-imprimante-tpe-afficheur-client](https://librairie.grap.coop/books/r%C3%A9serv%C3%A9-au-service-info/page/rajouter-un-nouveau-appareil-imprimante-tpe-afficheur-client)

##### Erreur de droits d'accès ?

<p class="callout success">Redémarre après une belle installation clean !</p>

Vérifier qu'il y a bien la règle de droits d'accès :

```shell
cd /lib/udev/rules.d
cat 99-pywebdriver.rules
SUBSYSTEM=="usb", GROUP="usbusers", MODE="0660"
```

Vérifier que le compte utilisateur est bien dans les bons groupes

```shell
groups <lecompteutilisateur>
<lecompteutilisateur> adm cdrom sudo dip plugdev lpadmin sambashare
```