Auto-capture : Envoyer vos captures d'écrans directement sur votre serveur

Gagner du temps lors du partage de vos captures d'écrans

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous, je viens aujourd’hui vous présentez un projet que j’avais envie de réaliser depuis un moment.

Il est susceptible que ce post soit modifié au fil des mises à jour du logiciel

Le projet n’a pas encore de nom officiel, le nom de développement actuel est donc Auto-Capture. J’avais aussi pensé à ScreenUp, acronyme de Screenshot Upload.
Si vous avez des idées pour un nom, je serais ravi de les entendres :D

Genèse

Lorsque je communique sur des forums ou autres, je dois souvent joindre des captures d’écrans.

En principe, il est nécessaire de suivre les étapes suivantes pour arriver à nos fins :

  • Prendre la capture avec un outil de capture
  • La publié en ligne (Sur un serveur externe, sur un serveur OwnCloud, etc.)
  • Et finallement ajouter le lien là ou nous souhaitons afficher l’image

Ces opérations peuvent vite prendre du temps lorsque nous devons ajouter plusieurs capture d’écran.

C’est pour cette raison que j’ai développé un logiciel permettant de prendre une capture, et de l’envoyer sur un serveur de façon automatique.

Fonctionnement

Logiciel

Le logiciel, écrit en Java, va nous permettre de créer une capture et d’envoyer notre image sur le serveur.

Le logiciel sur un thème clair

Une fois la capture effectuée, si la coche Envoyer automatiquement l'image est activé, alors l’image serauploadé directement sur le serveur web. Il nous suffira ensuite de cliquer sur le lien Copié qui ajoutera le lien de l’image dans le presse papier.

Serveur web

Passons maintenant au serveur, il y aura donc un serveur principal où tout le monde pourra y uploader ses images, mais pour ce faire, il sera nécessaire de s’inscrire sur le site et une limite d’espace disque sera appliqué.

Mais l’un des grands avantages d’auto-capture, réside dans le fait que le logiciel, ainsi que l’API web sont open-source. L’API a été conçu pour être simple à être installé sur un serveur web.

Donc pour les personnes possédant un VPS ou un hébergement web pourront installé cette API, les seules nécessités sont d’avoir PHP 7 ainsi qu’un serveur MySQL d’installés. Il sera ensuite possible pour l’administrateur de gérer plusieurs paramètres.

Voici une liste non exhaustive des paramètres que l’administrateur peut gérer:

  • La possibilité pour d’autres membres de s’inscrire (Ceci est désactivable, et alors seul l’administrateur pourra enregistrer des membres).
  • La possibilité de gérer un quotas général pour le serveur.
  • La possibilité de gérer les quotas individuellement pour chaque utilisateur.
  • Possibilité de configurer un serveur Sentry pour capturer les erreurs
  • Ainsi que bien d’autres options.
Zestedesavoir

J’aimerais également voir s’il y a une possibilité d’uploader directement sur une galerie de son compte sur Zestedesavoir (Comme ZestWriter le fait de mémoire). Ce n’est pas ma priorité pour le moment, mais ça reste une feature intéressante.

Open-Source

Le projet sera totalement Open-Source1 une fois la première version Bêta déployé, ou lorsque j’aurai trouver un nom officiel pour le projet. Il sera possible à tous les membres de proposer des PRs, de forker le projet et de le modifier à leurs guise.

La seule restriction que j’impose est l’interdiction de revendre le logiciel, ou de se faire de l’argent avec l’API.

Au passage, que me conseillez-vous comme licence selon les indications données ci-dessus ?

Avancement

Actuellement, au niveau du logiciel, il est possible de faire des captures, de les envoyer sur le serveur défini, de vérouiller et dévérouiller l’écran. Au niveau de développement il reste à gérer les options pour utiliser un autre serveur, l’authentification, tout ce qui touche aux galeries de Zestedesavoir et les options pour le thème et la langue.

Mais une première version du thème dark est déjà défini:

Thème dark

J’aimerais encore créer des autres thèmes se rapprochant plus des OS (Windows, Linux, Mac, etc.).

Paramètres

Paramètres

Conclusion

Si vous avez des remarques, question, suggestions et j’en passe, n’hésitez pas à m’en faire part.

Je ne sais pas si vous pensez que cet outil peut avoir une utilité pour vous, mais je le développe avant tout pour moi et ce projet m’apporte certaine connaissance que je n’avais pas (Tel que l’upload de fichier, l’utilisation du presse papier, etc.)

Je vous remercie, WinXaito ;)


  1. Je ne sais pas si l’on peut considérer totalement le projet comme Open-Source étant donné que je n’autorise les utilisateurs à se faire de l’argent en revandant le logiciel ou en proposant des avantages sur leur serveur. 

Édité par WinXaito

+9 -0

Salut,

Est-ce que tu as fais des screenceptions ? Capturer le logiciel avec le logiciel ? :ninja:

Et pour la licence, selon ce site (pas très poussé mais on fait avec ce qu’on a), on dirait que celle qui correspondrait le plus est GNU GPLv3, mais attend l’avis de ceux qui s’y connaissent mieux.

En tout cas, très bonne initiative. Bonne chance !

Édité par tleb

Auteur du sujet

Hello, merci pour ce retour !

Est-ce que tu as fais des screenceptions ? Capturer le logiciel avec le logiciel ? :ninja:

Je ne comprend pas très bien, avoir la possibilité de capturée le logiciel de capture ?

C’est faisable, mais je ne comprend pas bien l’intérêt.

+0 -0

Le logiciel de screenshot sous Mint fait pareil. Si tu donne le choix entre plein écran/une zone définie en plus, et que ça marche sous Windows, tu aura un être conquit.

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando | Géographe de service | Cliquez 👍 pour dire merci

+1 -0
Auteur du sujet

Je voulais juste savoir si les screenshots de la présentation avaient été fait avec le logiciel.

tleb

Non, car l’API n’est pas encore assez stable pour être déployé en ligne.
Après j’aurais tout de même pu faire la capture avec le logiciel et l’uploader manuellement, je vais essayé de le faire pour les prochaines captures :)

Le logiciel de screenshot sous Mint fait pareil. Si tu donne le choix entre plein écran/une zone définie en plus, et que ça marche sous Windows, tu aura un être conquit.

qwerty

Sur Windows, c’est certain que ça fonctionnera.
Ensuite, on aura un système de raccourci (Pour éviter de toujours lancer le logiciel pour faire une capture). A priori ceux-ci:

  • F5 : Capture sans verrouillage avec sélection de la zone
  • F6 : Capture avec verrouillage avec sélection de la zone
  • F7 : Capture plein écran
+0 -0
Auteur du sujet

Par défaut, F5 est rafraîchi l’onglet du navigateur. Ça risque d’arriver souvent.

Ils sont paramétrables j’imagine ?

tleb

Pas encore du moins :) Il y a encore beaucoup de développement à faire.
Mais je n’y avais effectivement pas pensé, alors peut-être quelques choses comme F6, F7, F8 par défaut, ou F9, F10, F11, c’est à voir.

+0 -0
Auteur du sujet

Je ne connaissais pas du tout, mais effectivement ça m’a l’air très similaire, à la différence qu’il n’y a aucun support http, donc pas de gestion utilisateurs et quotas (Même si comme je le vois, il y a surement moyen de faire sa avec du FTP, ou des comptes dropbox/google drive).

Je pense que si j’avais découvert ce logiciel avant, celui que je développe n’aurais jamais existé (En même temps il fallait que je m’attente à ce que ça existe déjà, mais je n’ai même pas chercher à savoir) et ça reste un très bon exercice pour moi.

Et le mien supportera la langue française :p Bon certes, c'est pas l'argument le plus convainquant. Va juste falloir que je regarde s’il y a des choses que je puisse implémenter qui donnerais un avantage à mon logiciel.

+0 -0

Quand j’ai lu :

les seules nécessités sont

je me suis dit, cool ça va être un soft léger que je vais pouvoir mettre mon petit serveur mais la suite m’a fait froid dans le dos :

d’avoir PHP 7 ainsi qu’un serveur MySQL d’installés

PHP pour ca ? Déjà que c’est pas léger ! MySQL un peu lourd à mon gout. Pourquoi pas SQLite ?

De plus l’interface graphique est en Java, alors pourquoi le backend ne le serait t’il pas aussi ?

Mise à part çà le projet est intéressant.

Édité par Urgau

Développeur C#, D, C et Arduino :-)

+3 -0
Auteur du sujet

Quand j’ai lu :

les seules nécessités sont

je me suis dit, cool ça va être un soft léger que je vais pouvoir mettre mon petit serveur mais la suite m’a fait froid dans le dos :

d’avoir PHP 7 ainsi qu’un serveur MySQL d’installés

PHP pour ca ? Déjà que c’est pas léger ! MySQL un peu lourd à mon gout. Pourquoi pas SQLite ?

De plus l’interface graphique est en Java, alors pourquoi le backend ne le serait t’il pas aussi ?

Mise à part çà le projet est intéressant.

Urgau

Je comprend, mais à la base je n’avais pas vu ça sous cette angle la.
On peut dire que c’est très simple dans ce cas là à installer sur un serveur mutualisé, en revanche je peux comprendre que ce soit plus embêtant sur un VPS.

Mais je ne suis absolument pas contre développer quelques chose de plus simple, j’ai déjà entendu parler de TomCat. Mais je ne sais pas ce que ça vaut.

Mais ça me parait compliqué de faire quelque chose de simple, car on aura normalement toujours besoin de passer par un serveur Apache2 ou NGinx, afin d’avoir une sécurité minimum (Contredisez mois si je suis dans le faux). Donc c’est à voir.

+0 -0

PHP lourd à installer puis tu conseilles Java ? :euh:

tleb

Je pensais à Java car il l’utilise pour le Front-End et oui c’est plus simple à installer, pas besoin d’avoir en plus un serveur Web à installer, puis les dépendances supplémentaires, en Java t’a un binaire c’est tout. Mais j’ai surtout pensé à lui car lui au-moins n’ais pas bourrer de failles de sécurité.

Développeur C#, D, C et Arduino :-)

+0 -0

en Java t’a un binaire c’est tout

/me revient quand il aura installé la JVM

Mais j’ai surtout pensé à lui car lui au-moins n’ais pas bourrer de failles de sécurité.

Urgau

Les petites attaques aux différents langages… Cf ma signature (et non, je n’utilise pas PHP, mais ça s’applique pour tout les langages).

Auteur du sujet

Déploiement de la première version Bêta

Bonjour à tous, j’ai décidé de vous présentez aujourd’hui l’avancé du projet sous forme de bêta.

Actuellement, il est uniquement possible de tester l’API disponible en ligne, (Donc pas d’API personnelle). Mais attention, étant donné que c’est une version Bêta, je me permettrai de supprimer les images lors des changements de version.

Voici un lien vers un fichier en .jar et un .exe (Qui est simplement générer par Launch4j à partir du .jar), cependant attention, la JVM n’est pas intégré, il faut donc au préalable qu’elle soit installé (Version minimum: 1.8.0) si vous souhaitez tester la bêta.

Je n’ai absolument pas testé sur Linux et Mac, donc je ne sais pas du tout si c’est fonctionnel ou non.

Sinon concernant les fonctionnalités, je n’ai pas activé tout ce qui est implémenté car certaines choses ne fonctionnent encore pas bien, mais voici une liste des actions que permet de faire le logiciel.

  • Connexion (Nom d’utilisateur: zds / Mot de passe: zds)
  • Création d’une capture
  • La capture sera immédiatement uploadé
  • La possibilité de copier le lien ainsi généré.
  • La possibilité de verrouiller ou non l’écran avant la capture.
  • Les raccourcis actuelle sont F9 (Capture sans vérouillage) et F10 (Capture avec vérouillage)

C’est donc une première version incluant uniquement les fonctionnalités de base.
En espérant que cela vous plaise. (Et je peux comprendre que certain ne préfère pas lancer le logiciel ainsi et préfère avoir le code source d’abord, mais j’attend d’avoir trouvé et validé un nom avant l’importation sur Github).

Téléchargements:
  • Nom d’utilisateur: zds
  • Mot de passe: zds

NB: Un fichier de log nommé autocapture.log serait généré dans le même dossier que celui où est lancer le .jar ou le .exe. en cas de soucis avec l’application, n’hésitez pas à me le communiquer par MP afin que je puisse régler d’éventuel soucis.

Et une petite question pour finir

Concernant le nom du projet, j’avais pensé à ScreenUp ou TakeScreen, qu’en pensez-vous ? (Certes c’est de l’anglicisme, mais d’un autre côté j’ai aussi envie qu’un jour le projet soit multi-lingue).

Edit: Et sinon concernant les posts précédents, je réfléchirai plus tard à une méthode pour simplifier l’installation d’une API personnelle (Voir une API minimaliste plus simple à mettre en place).

Édité par WinXaito

+0 -0
Auteur du sujet

mais j’attend d’avoir trouvé et validé un nom avant l’importation sur Github

Tu peux choisir un nom random et le changer après, GitHub fera la redirection tout seul :)

Alex-D

D’accord je ne savais pas si l’opération était simple ou non. Du coup je ferai ça dans le Week-end. Merci

+1 -0
Auteur du sujet

Open-Source

Bonjour à tous, j’ai aujourd’hui décider de rendre le projet open-source. Il est actuellement disponible sur Gitlab (Car pour mes projets en mode privé Gitlab est bien plus accessible). Je verai si un jour je ferai la transition vers Github.

Le lien du groupe (Avec ac-software => Au logiciel de capture / ac-site => Le site qui fait office d’API pour l’enregistrement des captures):

Édité par WinXaito

+1 -0

Salut,

J’utilise régulièrement https://gyazo.com qui en plus fait les .gif (screen vidéo). Ton site est similaire non?

Ce qui est bien sur gyazo c’est que pas besoin d’ouvrir un logiciel. Le simple clique sur l’icône dans la barre de tâche lance l’action screenshot

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte