24eme / signaturepdf

Free open-source web software for signing PDFs (alone or with others) and also organize pages, edit medata and compress pdf
https://pdf.24eme.fr
GNU Affero General Public License v3.0
396 stars 51 forks source link

Signaturepdf v2 ? #61

Closed kosssi closed 1 month ago

kosssi commented 1 year ago

Bonjour à tous,

Je trouve l'utilisation de l'outil vraiment génial même si quelques fois j'aimerai réordonner et modifier le fichier sans devoir à repasser par mon ordinateur. Clairement des outils comme celui ci avec autant de fonctionnalité en open source n'existe pas. Pour cela je vous félicite vraiment. Je l'utilise depuis plus de 6 mois maintenant 🤙

Par contre au niveau de l'architecture du code et donc de la maintenabilité du projet je suis plus inquiet.

C'est pourquoi je me pose la question d'une réécriture du code pour permettre de plus facilement embarquer un développeur mais aussi pouvoir faire évoluer le projet plus rapidement, et l’héberger plus facilement et de façon moins énergivore.

J'aimerai faire une version pouvant être hébergé sur un hébergement type s3 (Garage, minio...) et donc transformer le projet en full statique. Ça poserai souci dans un premier temps sur la fonction de partage de fichier pour la signature à plusieurs mais j'imagine plutôt passer par un second micro-service pour ça (à réfléchir plus sérieusement, de mon coté c'est une fonction non prioritaire).

J'ai commencé un prototype si jamais vous avez envie d'en discuter.

jerrywham commented 11 months ago

@kosssi "Par contre au niveau de l'architecture du code et donc de la maintenabilité du projet je suis plus inquiet." Pourquoi ? Le framework utilisé est perenne. Son utilisation est simple. Pour ce qui est de l'hébergement, c'est relativement simple en l'état. Pour ce qui est de l'énergie consommée, que ce soit en statique ou en dynamique, il n'y a pas trop de différence vu le nombre de pages de l'application.

wincelau commented 11 months ago

Bonjour Kossi

Par contre au niveau de l'architecture du code et donc de la maintenabilité du projet je suis plus inquiet.

Est ce que tu pourrais apporter des éléments plus concret sur ces points ?

donc transformer le projet en full statique.

Concernant le full statique c'est aussi un objectif de rendre le plus de fonctionnalités possibles sans dialogue avec le serveur, c'est maintenant le cas avec la partie "organisation" par exemple.

kosssi commented 11 months ago

Bonjour à tous,

En me relisant, je trouve que j'avais assez mal formulé ma phrase.

Je reprochais la duplication de code entre chaque partie de l'application, en tout cas aucune mutualisation. Je me souviens aussi que j'avais vu les librairies directement importé dans le code et non mise à jour depuis un moment, je suis pas super fan.

Mais clairement le projet fait le taff et donc vraiment un grand bravo, ça reste du détail.

Il n'y a pas d'automatisation de mise à jour des dépendances ce qui peut poser des soucis. D'ailleurs avez vous vu la sortie de pdf.js 4 ? L'API a changé et une grosse amélioration des performances.

Bon courage de votre coté, j'espère pouvoir avoir le temps un jour pour avancer sur mon projet pour pouvoir héberger ce type de logiciel sur un hébergement static.

wincelau commented 1 month ago

Ok je comprends mieux.

La mise à jour des librairies nécessite souvent d'adapter du code, c'est pourquoi je préfère qu'elle ne soit pas automatique.

Je viens de la faire et effectivement j'ai du retravailler des méthodes qui avaient disparu ou des fonctionnements qui ont changé.

Et concernant le duplication de code je suis d'accord je l'ai fait pour avoir plus de latitude dans l'experimentation, tout en gardant à l'esprit qu'un jour je mutualiserait du code, et là je commence à le faire : https://github.com/24eme/signaturepdf/blob/master/public/js/common.js

Merci pour tes retours !