# Gladys Assistant v4.8.6, avec un nouvel algorithme de sauvegardes Gladys Plus!

**URL:** <https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291>\
**Category:** Actualités\
**Created:** [Mai 15, 2022, 2:03 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291 "2022-05-15T14:03:19Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 15, 2022, 2:03 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/1 "2022-05-15T14:03:19Z")

</div>

Salut à tous !

Je suis content de lancer aujourd’hui Gladys Assistant v4.8.6, une mise à jour dédié aux sauvegardes [Gladys Plus](https://gladysassistant.com/fr/plus/) 🙂 ( Toujours à 59,99€ par an, n’hésitez pas!! )

Comme c’est un sujet passionnant, je voulais vous faire un petit post un peu plus technique pour vous expliquer comment les sauvegardes fonctionnent désormais.

**Pour faire un récapitulatif en 4 points:**

- Les sauvegardes sont désormais faites entre minuit et 2h du matin heure locale de votre instance, l’heure est choisie aléatoirement chaque jour afin d’éviter de surcharger l’API Gladys Plus, car vous êtes désormais 60 à uploader chaque jour vos sauvegardes, et je m’attends à ce que ce chiffre augmente significativement dans les prochains mois.
- Les sauvegardes sont uploadée en chunk (en petit bout de 20Mo), et non plus en un seul bloc, afin de ne pas surcharger la RAM de vos instances, et de pouvoir re-essayer chaque petit bout en cas d’échec
- Les sauvegardes sont uploadée directement via l’API du stockage objet de mon hébergeur, et non plus proxifié via le backend Gladys Plus. Ce qui permet de soulager le backend, et libérer de la bande passante entrante.
- Il est désormais possible de voir dans Gladys l’état d’une sauvegarde en cours et passé, avec un pourcentage de progression, et en cas d’échec, le message d’erreur.

 ![Screenshot 2022-05-09 at 17.37.27](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/0/0bb108f73c06ccfb42120b0bdeb8c7bcca406a9c.png)

Maintenant, 2 beaux schéma 😃

Au niveau de l’architecture serveur, ça ressemble désormais à ça:

 ![process upload gladys plus@2x](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/3/38c45766e3ca126a8ba61b929c3d572fe1a5773a.png)

L’upload est fait via des URL signée, et non plus via une proxyfication backend comme c’était fait avant.

Au niveau du processus d’upload, j’ai fais un diagramme pour illustrer le nouvel algorithme d’upload :

 ![Processus de sauvegarde Gladys Plus@2x](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/0/03c8a410e32680cfd549c727553c73e5811c2cf1.png)

J’espère que c’est très clair, n’hésitez pas si vous avez des question à les mettre en commentaires 😉

Je faisais ce post très transparent pour montrer aussi le «&nbsp;dessous&nbsp;» d’un développement, et que derrière des développements «&nbsp;mineurs&nbsp;» (tout ça, c’est de la stabilité, il n’y a pas de nouvelle fonctionnalités), il peut y avoir des grosses réflexions et du temps passés en terme de spec + de développement + de testing.

Personnellement, j’adore ces développements «&nbsp;infrastructures&nbsp;» qui sont très proche de ce que je fais pour mes clients en freelance à côté de Gladys 🙂

Le CHANGELOG complet est disponible [ici](https://github.com/GladysAssistant/Gladys/releases/tag/v4.8.6).

**Comment mettre à jour ?**

Si vous avez installé Gladys avec l’image Raspberry Pi OS officielle, vos instances se mettront à jour **automatiquement** dans les heures à venir. Cela peut prendre jusqu’à 24h, pas de panique.

Si vous avez installé Gladys avec Docker, vérifiez que vous utilisez bien Watchtower (Voir la [documentation](https://gladysassistant.com/fr/docs/installation/docker#mise-%C3%A0-jour-automatique-avec-watchtower))

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Mai 15, 2022, 4:09 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/2 "2022-05-15T16:09:42Z")

</div>

Autant dire que je capte que dalle… Mais je salue le boulot !! 👌👌

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Mai 16, 2022, 7:03 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/3 "2022-05-16T07:03:58Z")

</div>

Génial, merci 🙂  
J’allais commencer à écrire «&nbsp;mais comme tu fais tout ça en backend, quelle logique ?&nbsp;», pendant que je lisais l’article. Mais tu as eu la très bonne idée de très bien expliquer avec des schémas.

Merci de prendre le soin de documenter tout ça, pour toujours plus de transparence et d’intérêt à suivre le développement Gladys !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 16, 2022, 7:47 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/4 "2022-05-16T07:47:24Z")

</div>

Pour l’instant les instances ont l’air de se mettre à jour tranquillement et je vois des sauvegardes passer, tout à l’air de bien se passer !

J’ai juste vu une sauvegarde en échec chez @Mastho, tu peux aller voir dans «&nbsp;Paramètres&nbsp;», «&nbsp;Tâches&nbsp;» et voir ce qui s’est mal passé ? 🙂

---

<div class="post-metadata">

**Author:** ![Mastho](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mastho/32/5449_2.png) [@Mastho](https://community.gladysassistant.com/u/Mastho)\
**Post date:** [Mai 16, 2022, 9:03 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/5 "2022-05-16T09:03:47Z")

</div>

Salut @pierre-gilles,

Super boulot ce nouveau processus de sauvegarde !

Voici l’erreur :

 ![Sauvegarde Gladys Plus](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/8/84ff78895644d544c6c990635f1772319dc460a5.jpeg)

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 16, 2022, 9:15 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/6 "2022-05-16T09:15:33Z")

</div>

Merci @Mastho, je pense savoir ce qui s’est passé ! 🙂

Je corrige ça !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 16, 2022, 9:23 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/7 "2022-05-16T09:23:06Z")

</div>

Je pense que j’ai trouvé, j’ai corrigé dans une PR :

> <https://github.com/GladysAssistant/Gladys/pull/1523>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[\] If your changes affects code, did your write the tests?
> \- \[\] Are tests passing? (\`npm test\` on both front/server)
> \- \[\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to \[the community\](https://community.gladysassistant.com/) for testing before merging.
> \- \[\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> \- \[\] Did you add fake requests data for the demo mode (\`front/src/config/demo.js\`) so that the demo website is working without a backend? (if needed) See \[https://demo.gladysassistant.com\](https://demo.gladysassistant.com).
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> Please provide a description of the change here. It's always best with screenshots, so don't hesitate to add some!

Je merge ça au plus vite et je déploie une version 🙂

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mai 16, 2022, 9:51 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/8 "2022-05-16T09:51:19Z")

</div>

Bravo pour ce nouveau système, très agréable de pouvoir suivre l’évolution de la sauvegarde. Juste une petite chose à revoir peut-être : l’arrondi du % dans la vue des Tâches, on se retrouve régulièrement avec des `xx.46666666667` etc. rien de méchant !!^^

Je pensais que tu avais fait la mise à jour pour le nombre de sauvegardes mais visiblement non, j’en ai toujours autant ^^

Pour info également (je ne pense pas qu’on puisse y faire grand chose) :  
Au début du backup, la copie de la base de donnée c’est bien faite dans le dossier Backup. Dans les tâches je suis donc passé à 10% assez rapidement (2 minutes me semble-t-il) puis est resté bloqué à ce stade bien 10 minute. J’ai donc observé les logs et j’ai remarqué qu’une de mes caméras était HS depuis quelques jours, celle-ci fait donc des erreurs de poll toutes les 10s. J’ai donc passé cette dernière à un poll de 1 minute (idée de feature au passage : pouvoir désactiver le poll d’une caméra sans avoir à la supprimer ^^) et la sauvegarde est repartie … et s’est terminée tranquillement … l’erreur serait elle plus lourde à gérer que l’enregistrement de l’image ?? Etonnant !! Ou coïncidence ?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 16, 2022, 10:02 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/9 "2022-05-16T10:02:43Z")

</div>

> [@Terdious](#):
>
> Juste une petite chose à revoir peut-être : l’arrondi du % dans la vue des Tâches, on se retrouve régulièrement avec des `xx.46666666667` etc. rien de méchant !!^^

Effectivement, j’ai corrigé ça dans la PR de fix ! 🙂

> [@Terdious](#):
>
> Au début du backup, la copie de la base de donnée c’est bien faite dans le dossier Backup. Dans les tâches je suis donc passé à 10% assez rapidement (2 minutes me semble-t-il) puis est resté bloqué à ce stade bien 10 minute.

En fait les 3 premières étapes (sqlite3 backup + gzip + chiffrement) sont des étapes où je n’ai pas de retour d’avancements, donc c’est des blocs de 10% dans la progression de la sauvegarde.

0 → 10% = sauvegarde sqlite  
10% → 20% =\> gzip  
20% → 30% =\> openssl  
30% → 100% =\> Upload

Je sais que c’est frustrant les progress barre ou c’est pas linéaire, mais pour le coup j’ai pas trop le choix ici, je sais quand ces commandes commencent/finissent, mais j’ai rien entre les deux 😃

> [@Terdious](#):
>
> Etonnant !! Ou coïncidence ?

Mmm, soit coïncidence, soit bug, soit le websocket qui avait sauté et qui est revenu ce qui pourrait donner cette impression dans l’interface que c’était stoppé puis revenu

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 16, 2022, 10:04 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/10 "2022-05-16T10:04:43Z")

</div>

> [@Terdious](#):
>
> Je pensais que tu avais fait la mise à jour pour le nombre de sauvegardes mais visiblement non, j’en ai toujours autant ^^

Par rapport à ce sujet, je viens de le faire ce matin 🙂

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 16, 2022, 10:47 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/11 "2022-05-16T10:47:33Z")

</div>

Gladys Assistant v4.8.7 est déployé avec les correctifs ✅

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 20, 2022, 3:03 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/12 "2022-05-20T15:03:59Z")

</div>

Salut à tous !

Je reviens vers vous, 5 jours après le déploiement, pour vous montrer l’impact de ce développement sur la bande passante utilisée côté backend Gladys Plus:

 ![Screenshot 2022-05-20 at 15.57.31 fr](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/c/c058c1905374c8b485ef323fba144822f41129b3.jpeg)

L’impact est net, en arrêtant de faire passer tous les upload par le backend, l’utilisation de la bande passante est en décroissance, et surtout il n’y a plus de «&nbsp;pic&nbsp;» d’utilisations de bande passante.

Sur ce graphique à 14 jours on ne voit pas très bien, mais sur un graphique à 1h, on parle de pic de network a 150/200mb/s facilement, ce qui pouvait avoir un impact sur les autres utilisateurs utilisant Gladys Plus au même moment.

Ce développement apporte donc de la stabilité sur le long terme, et surtout va permettre à Gladys Plus d’accueillir des centaines de nouveaux utilisateurs sans problèmes 😉

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Mai 20, 2022, 3:06 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/13 "2022-05-20T15:06:08Z")

</div>

Attends je ne suis pas encore là 😃

---

<div class="post-metadata">

**Author:** ![tiboys](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/tiboys/32/17668_2.png) [@tiboys](https://community.gladysassistant.com/u/tiboys)\
**Post date:** [Mai 20, 2022, 4:46 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/14 "2022-05-20T16:46:19Z")

</div>

👍 Bon boulot …

---

<div class="post-metadata">

**Author:** ![Tlse-vins](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/tlse-vins/32/6054_2.png) [@Tlse-vins](https://community.gladysassistant.com/u/Tlse-vins)\
**Post date:** [Mai 20, 2022, 7:51 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/15 "2022-05-20T19:51:59Z")

</div>

Regarde bien en zoomant, à chaque pic il y a écrit @Terdious @Terdious @Terdious 🤣🤣

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mai 20, 2022, 7:57 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/16 "2022-05-20T19:57:18Z")

</div>

Je crois que @lmilcent m’a largement dépassé 😅

En effet @pierre-gilles la difference est flagrante !! Good news ^^

@VonOx, je savais bien que la fibre c’etait surfait 😉🤣

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Mai 20, 2022, 8:14 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/17 "2022-05-20T20:14:39Z")

</div>

Laisse tomber j’ai 2 releases de retard, Alexa qui m’engueule car «&nbsp;il doit y’avoir un problème avec mon routeur&nbsp;».

Mais bon demain si tout va bien ça fuse

![](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/a/a92ab74b8d7a6c48bdaf7be1e126a44f77acf20a.gif)

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Mai 21, 2022, 7:10 UTC](https://community.gladysassistant.com/t/gladys-assistant-v4-8-6-avec-un-nouvel-algorithme-de-sauvegardes-gladys-plus/7291/18 "2022-05-21T07:10:50Z")

</div>

Presque 5go localement 😅  
Mais faut que je clean tout ça, j’ai pas mal de données pas super utile.
