Posté le 22/08/2016 12:13
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 44 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 26/11/2016 01:44 | #
J'y repense.
Sur mes Graph 35+E/75+E qui venaient préchargées avec l'OS 2.05, j'obtiens :
Gyxxx007 avec les OS 2.02-2.04
Gyxxx00F avec les OS 2.05-2.09
Donc le triplet final n'est visiblement pas lié au Boot Code puisqu'à ce jour on ne peut pas le changer.
Selon moi, l'OS vérifie donc autre chose...
Citer : Posté le 26/11/2016 02:52 | #
Des nouvelles. J'avance enfin. J'ai fini ce putain de driver.
En fait, je me compliquais la vie, Linux possède directement un sous-système USB Serial (oui, c'est préçis ), du coup, j'ai juste eu à me brancher à celui-ci et voilà, ça marche.
Si vous voulez tester le driver, c'est ici :
https://forge.touhey.fr/linux_drivers/cesg502 (LIEN MORT)
Pour le construire, il vous faudra télécharger le paquet linux-headers-$(uname -r) (le nom est relativement constant parmi les distributions). Aussi, après installation, le module sera chargé automatiquement au prochain démarrage, mais si vous avez la flemme de redémarrer, un simple modprobe cesg502 devrait charger le module installé
Le driver fait encore des EBUSY assez étranges chez moi, n'hésitez pas à faire des feedbacks.
La version en cours de développement des utilitaires 2.x du projet P7, utilisant ce driver, sont (toujours) ici :
https://forge.touhey.fr/lib/libp7 (LIEN MORT)
https://forge.touhey.fr/casio/software/p7 (LIEN MORT)
https://forge.touhey.fr/casio/software/p7screen (LIEN MORT)
J'attends d'avoir testé davantage avant de release, pour voir s'il n'y a pas d'autres problèmes.
@Critor: curieux Oo enfin, tant que la combinaison modèles P7/commandes utilisables reste la même, ça devrait aller.
Mon blog ⋅ Mes autres projets
Citer : Posté le 26/11/2016 12:23 | #
Bien joué Voilà quelque chose qui tient réellement de l'intégration dans le système d'exploitation. Bon, à quand le fusefs ?
Je mettrai mes outils à jour pour tester ça
Citer : Posté le 26/11/2016 12:50 | #
Plus besoin de bidouiller du device normalement, j'ai fix ça, ça le retrouve automatiquement maintenant, n'hésitez pas à pull
Aussi, j'utilise la rule udev suivante :
Mon blog ⋅ Mes autres projets
Citer : Posté le 26/11/2016 15:45 | #
Le pilote ne compile pas chez moi...
critor@debian:~/cesg502$ make
make: *** /lib/modules/3.2.0-4-686-pae/build: No such file or directory. Stop.
make: *** [all] Error 2
Ajouté le 26/11/2016 à 17:00 :
Ok.
J'ai compilé + installé le pilote.
Et recloné + recompilé + réinstallé libp7 et p7.
p7 info me met alors une erreur en boucle :
root@debian:/home/critor/cesg502# p7 info
[libp7 error] p7_cinit: Unable to open stream: Success
[libp7 info] p7_cinit: Trying again in one second.
[libp7 error] p7_cinit: Unable to open stream: Success
[libp7 info] p7_cinit: Trying again in one second.
[libp7 error] p7_cinit: Unable to open stream: Success
[libp7 info] p7_cinit: Trying again in one second.
...
La calculatrice quant à elle reste en receive mode et ne réagit pas.
Citer : Posté le 26/11/2016 17:07 | #
Les logs sont pas clairs (je corrige ça) mais ça veut dire que ça ne trouve pas le device. Tu utilises la connexion directe par USB ?
Mon blog ⋅ Mes autres projets
Citer : Posté le 26/11/2016 17:07 | #
Oui, bien sûr.
Ajouté le 26/11/2016 à 17:24 :
Quand je branche la calculatrice, dmesg me rajoute quelques lignes :
[ 826.088065] usb 1-2: new full-speed USB device number 4 using uhci_hcd
[ 826.250221] usb 1-2: New USB device found, idVendor=07cf, idProduct=6101
[ 826.250228] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 826.250232] usb 1-2: Product: CESG502
[ 826.250235] usb 1-2: Manufacturer: CESG502
Mais "p7 info" ne s'en sort pas après ça :
critor@debian:~/libp7$ p7 info
[libp7 error] p7_cinit: Could not find any appropriate device.
[libp7 info] p7_cinit: Trying again in one second.
[libp7 error] p7_cinit: Could not find any appropriate device.
[libp7 info] p7_cinit: Trying again in one second.
[libp7 error] p7_cinit: Could not find any appropriate device.
[libp7 info] p7_cinit: Trying again in one second.
Citer : Posté le 22/12/2016 00:37 | #
News !
Comme j'ai fait en sorte qu'il soit possible de cross-compiler la libg1m pour MS-Windows, j'ai fait de même avec la libp7 et les utilities, que j'en ai profité pour ranger. Il suffit de configurer avec une target de type mingw (type i686-w64-mingw32) pour que la libg1m soit compilée en un DLL et que les utilitaires soient compilés en EXE.
J'en profite pour dire que les dépôts spécifiques (https://forge.touhey.fr/casio/software/p7 (LIEN MORT) et https://forge.touhey.fr/casio/software/p7screen (LIEN MORT)) sont désormais obsolètes et ne sont gardés temporairement que pour compatibilité avec les instructions présentes sur p7.touhey.fr (qui ne sera pas mis à jour jusqu'à la release des prochaines versions de la libp7 et des utilitaires) et avec les PKGBUILD présents sur l'AUR.
Le nouveau dépôt des utilitaires p7 regroupés est désormais https://forge.touhey.fr/casio/apps/p7utils (LIEN MORT) (notez le changement de "software" en "apps", que je trouve plus approprié). p7os ne se trouve pas encore dedans car il faut que je trouve un moyen propre de l'intégrer au projet multi-binaire (mais c'est dans ma TODO list).
Par ailleurs, j'hésite encore à faire l'intégration de la libg1m dans la libp7 (pour tout ce qui est commandes d'interaction avec la MCS) avant la version 2.0 de cette dernière ; je considère encore la libg1m comme jeune et plutôt immature. Mais aussitôt que ce sera fait, un nouvel utilitaire spécifique pourra voir le jour (je pensais à quelque chose type p7mcs).
Sur un autre plan, le driver Linux n'est plus requis (la libusb a été réintégrée par souci de compatibilité). Il faut encore que je trouve comment communiquer avec des drivers série sur MS-Windows (je cherche à privilégier les drivers natifs à la libusb, notamment pour tout ce qui est usb-serial).
Bref, ça avance mais je cherche à faire quelque chose de propre donc ça prend du temps.
Mon blog ⋅ Mes autres projets
Citer : Posté le 05/01/2017 16:10 | # | Fichier joint
Des nouvelles ! J'ai passé mon temps à refactor la libp7, elle a à présent une forme qui me plaît : elle est extensible (y compris pour tout ce qui est multi-plateformes), apporte plus de possibilités (la Packet I/O API est plus propre, et il est désormais possible d'utiliser directement le stream que le handle utilise, ce qui rend possible la mise en place de protocoles custom tout en utilisant la libp7 pour trouver et communiquer avec la calculatrice), et est tout simplement plus propre.
J'ai fait un détour par un "drivers natifs only" jusqu'à ce que Lionel Debroux me rattrape (merci énormément à lui !), mais maintenant, je ne fais que les privilégier si possible (puisque je ne sais pas ce qu'il y a derrière les drivers série, et qu'ils se débrouilleront sans doute mieux que moi de toute façon), et me rabattre sur la libusb en cas de souci. Il est possible de compiler sans la libusb (--no-libusb), puisque je prépare un tantinet le terrain pour pouvoir compiler la libp7 pour la calculatrice (même si on en est encore loin).
Aussi, les utilitaires P7 ont été regroupés dans un seul dépôt nommé p7utils (pour P7 utilities, utilitaires P7). De plus, les dépôts de la libp7 et des p7utils ne contiennent plus tout ce qui est relatif au packaging (Debian uniquement, pour le moment - Arch est géré à part), qui se trouve à présent dans deux dépôts à part (respectivement libp7-packaging et p7utils-packaging). Je vous invite cependant à ne pas les tester avant la release (ils ne sont pas vraiment fait pour les versions indev... même s'ils marchent grâce à un bodge).
A priori, la release 2.0 de la lib et des utilitaires arrive pour de bon (je sais, je l'ai dit beaucoup de fois, mais cette fois, je me suis engagé dans une voie tout bénéf', donc plus de raison de reculer). J'aimerais cependant que vous testiez (si possible) les utilitaires avec votre propre matériel. Pour vous aider, sachez qu'il existe deux versions du site principal de P7 : celle située sur p7.touhey.fr (offline pour le moment, jusqu'à la release 2.0) pour les releases, et celle située sur la bible PC pour les versions en cours de développement. Je vous invite à utiliser cette dernière, et à me faire des feedbacks pour savoir quoi modifier avant la release (celle qu'on attend depuis quatre mois ) ! Merci d'avance
EDIT : Comme il s'agit encore d'une version en développement, aucun package n'est disponible ! De plus, si je demande des tests, c'est pour pouvoir faire une release, et ainsi, des paquets.
De plus, contrairement à la libp7 1.5, la règle udev n'est plus présente directement dans le dépôt (je compte sur les packages pour l'inclure en plus). Si vous compilez manuellement, vous voudrez sans doute ajouter la règle udev suivante dans /etc/rules.d/60-casio-calculators-usb.rules pour ne pas devoir lancer p7 en root à chaque fois :
ACTION=="add", ATTR{idVendor}=="07cf", ATTR{idProduct}=="6101", MODE="0666"
La pièce jointe est là parce que je voulais que ce message soit distinguable du précédent.
Ajouté le 06/01/2017 à 15:37 :
Et voilà, la version 2.0 de la lib et des utilitaires ont été released ! Les paquets pour Debian sont faits (pour x86 seulement, puisqu'il s'agit de la seule machine que j'aie sous Debian), et ceux pour Arch devraient être là ce soir d'après Breizh_craft. N'hésitez pas à voir sur le site pour les instructions d'installation.
Mon blog ⋅ Mes autres projets
Citer : Posté le 06/01/2017 21:51 | #
Et voilà. Suffit de mettre à jour si vous l'avez déjà installé : yaourt -Sua. Sinon, yaourt -S p7 p7screen pour tout installer.
Citer : Posté le 07/01/2017 01:16 | #
Et j'ai a priori fini de setup le dépôt Debian. Les instructions sont sur le site officiel, mais grosso modo, pour setup le repo chez vous, c'est ça :
Et pour prendre les paquets, c'est ça :
A priori, les paquets sont construits pour x86 et pour x86_64. J'ai testé sur les deux machines sur lesquelles j'ai compilé tout ça uniquement, donc n'hésitez pas à tester et à me prévenir s'il y a le moindre souci.
Ajouté le 13/01/2017 à 13:50 :
Mon serveur perso et auto-hébergé, hébergeant ma forge et le site de P7, entre autres, a beau être hors-ligne (changement d'infra, il faut que je flashe et configure un DreamPlug pour tout remettre à flot, et c'est compliqué), je bosse quand même sur la version 3.0 du projet P7, avec plus d'options de possibilités, de compatibilité avec des plateformes telles que MS-Windows, et du code plus propre. Et histoire de vous mettre l'eau à la bouche, voici en exclusivité un serveur et un client, hébergés sur des threads différents d'un même process, en train de communiquer !
https://zerobin.net/?0ba0c0cfca5c5ddf#iFwbXYlsM1rboXaMpWNjl7w0BnpPxiy4Qnb1f0ZoiUw=
Ceci ayant pour but de tester la fonction serveur de la libp7 (dont une version non fonctionnelle se trouve dans la version 2.0, pour ceux qui l'ont encore), qui servira sur la calculatrice (car oui, je compte bien implémenter la libp7 dans des add-ins/update.exe, un de ces jours !).
TL;DR j'avance et je fais des trucs de fou.
Mon blog ⋅ Mes autres projets
Citer : Posté le 13/01/2017 21:31 | #
C'est bien de mettre le TL;DR avant le texte
Beau travail, comme d'hab. D'ailleurs, quid d'un screencast via gint ? Ça pourrait être franchement cool
Citer : Posté le 13/01/2017 21:33 | #
Cake a raconté des trucs sympas sur comment utiliser le protocole 7 pour initier les communications dans lesquelles des caltos prennent part pour avoir une sorte d'universalité.
Le temps qu'il implémente ça pour la calto et que j'écrive, au niveau d'en-dessous, un driver pour le port série / USB, et au niveau d'au-dessus, une technique de screencast, c'est envisageable.
Citer : Posté le 14/01/2017 00:35 | #
@Dark Storm: le screencast via gint devrait pouvoir être possible. Tout ce qu'il faut, c'est définir un format "perso" (du packed 2-bit, "GINT0" pour l'identifiant), maîtriser l'USB sur SH3/SH4 (on n'en est pas siii loin, l'air de rien) et porter la libp7 pour calculatrice (et pour le coup, c'est plus ou moins fini du côté de la libp7 dans la version en cours de développement de la libp7 3.0, c'est sur l'environnement qu'il faut travailler maintenant, puisque la libp7, pour compiler, demande une portion de la libc, même si cette portion ne sert à rien d'autre que de renvoyer des ENOSYS). Enfin, lephé pourrait utiliser un protocole perso, mais franchement, pour ça, le Protocole 7 est amplement suffisant.
Concernant ce que lephé a dit : je souhaite effectivement ne pas changer de protocole par défaut pour les calculatrices, histoire de garder l'association calculatrice CASIO -> Protocole 7. En revanche, je compte mettre en place un système de (hot) protocole switch : en gros, à partir des banalités habituelles de début de communication (initialisation, vérification de l'identité de la machine) légèrement modifiées, la lib sera capable de savoir ou non si le serveur derrière est un simple serveur made-in-CASIO (OS Update, Receive Mode) ou serveur de protocole switching (lancé par, disons, le jeu pour finalement basculer sur son protocole après). Ce système permet de distinguer entre "le système connecté n'est pas une calculatrice CASIO" et "le système connecté ne permet pas le protocol switch [vers le protocole désiré]). Pour ceux qui en douteraient, le protocol switch se fait sur le même layer que le Protocole 7.
Ensuite, quelques news : mon serveur personnel est toujours down, mais j'avance sur la lib. J'ai intégré ce qu'il fallait pour build en statique/non-statique pour MS-Windows ou GNU/Linux, corrigé/implémenté quelques trucs utiles, commencé à implémenter ce qu'il fallait pour la communication native avec des drivers pour MS-Windows (mais c'est pas encore au point). J'ai aussi mis les streams de la libp7 dans l'API publique avancée (libp7/stream.h), ça sera utile pour l'implémentation sur la calculatrice. J'ai bien entendu également mis à jour le README. Je bosse actuellement sur l'implémentation du serveur (je mets les source de mon test ci-joint) et sur la correction des streams pour MS-Windows (Simon Lothar m'aide pour ça). Voici les distributions en cours de développement, enjoy !
https://www.t0wer.eu/up/libp7-3.0-indev.tar.gz
https://www.t0wer.eu/up/p7test-0.0-indev.tar.gz /* test de serveur */
https://www.t0wer.eu/up/p7utils-2.1-indev.tar.gz
Ajouté le 14/01/2017 à 01:49 :
J'en profite pour dire que le site officiel de P7 est re-up et est à présent hébergé par CreativeCalc (l'association derrière Planète Casio). Cela ne s'est malheureusement pas décidé lors d'une AG (qui a à peu près six mois de retard, mais ce n'est visiblement pas suffisant ), c'est Dark Storm qui m'a donné le go. Ce dernier devrait d'ailleurs faire un sous-domaine à planet-casio.com que je puisse utiliser dans peu de temps. Le repository Debian, quant à lui, est toujours hébergé sur mon serveur (offline) pour le moment : j'aimerais apprendre à faire une archive Debian relativement propre (donc gérer reprepro et le keyring convenablement, contrairement au repo sur deb.touhey.fr) avant de la faire.
Les dépôts git (ceux que je gère), quant à eux, resteront sur ma forge (offline aussi, je sais). Le jour où le projet sera assez mûr (il est en passe de l'être, mais c'est pas encore exactement ça), peut-être quelqu'un d'autre de Planète Casio voudra bien le maintenir.
Ajouté le 16/01/2017 à 18:43 :
Les projets sont passés sur Github (je comptais le faire à un moment ou à un autre de toute façon).
Ajouté le 27/01/2017 à 01:56 :
Je passe juste pour dire qu'outre ce qui fait un peu chier les gens d'ici (introduire toujours plus d'incompatibilités pour la version 3.0 de la libp7 [encore en cours de développement], et la passer sous LGPL3), je fais aussi des trucs cools, tels que ce module Python pour la libp7 dont j'ai produit une première version fonctionnelle (bien que ne permettant que de supprimer un fichier pour le moment). Bisous <3
Ajouté le 27/01/2017 à 17:51 :
Le module est ienb' comme ça. J'y implémenterai peut-être la Packet I/O API un de ces jours. Dark Storm, ça pourrait t'intéresser.
Aussi, je fusionne les g1mutils dans les p7utils (même si les binaires dépendants de la libg1m ne sont pas sélectionnés par défaut, étant donné que la libg1m est encore en cours de développement et qu'aucune release n'est sortie).
Et big up à Intelligide qui nous prépare une GUI en C++/Qt !
Mon blog ⋅ Mes autres projets
Citer : Posté le 03/02/2017 00:21 | # | Fichier joint
p7os, bien que manquant d'un update.exe libre et suffisamment fonctionnel pour faire correctement un quelconque travail de flash/backup, est déjà fonctionnel et permet :
- de backup le contenu de la flash sur une calculatrice supportant cette commande (OS <2.04) : p7os get --no-prepare
- d'uploader un update.exe pour le tester (avec l'option -u <path/to/update.exe> ; il est possible d'utiliser le sous-menu prepare-only pour ne faire que préparer).
A noter que la préparation consiste en l'upload de l'update.exe communautaire, donc bien sûr qu'il ne donnera pas grand chose. L'option --no-prepare est donc quasi-vitale toute opération autre que la préparation only pour le moment.
Il est présent dans les p7utils, mais n'est pas construit par défaut ; pour cela, utilisez la target all-p7os (et sa variante d'installation install-p7os).
Mon blog ⋅ Mes autres projets
Citer : Posté le 03/02/2017 08:14 | #
Great
Au niveau de l'update.exe, je suppose que le point bloquant est le refus de teamfx de fournir le sien ? Donc faut en refaire un ?
Citer : Posté le 03/02/2017 08:16 | #
À priori, le backup de la flash ne fonctionne pas non plus sur l'OS 2.04 (en tout cas il ne marchait pas chez moi en 2.04, mais il marchait quand je suis repassé en 2.02).
Citer : Posté le 03/02/2017 10:56 | #
@Dark storm : Teamfx n'a pas fait d'Update.Exe pour ce que j'ai compris, c'est Simon Lothar qui en a fait un (ah oui oui, il a vraiment fait le café). J'ai l'impression qu'il réalise que CASIO n'a pas besoin de lui pour être en mode full retard, mais comme il a toujours l'air hésitant, je continue mes projets en lui demandant les infos dont j'ai besoin pour avancer.
@Julese50 : C'est corrigé, merci !
Mon blog ⋅ Mes autres projets
Fumixor Invité
Citer : Posté le 05/02/2017 16:52 | #
Bonjour !
J'ai l'impression que le depot debian ne fonctionne plus, comment puis-je l'installer ?
Super boulot merci !
Citer : Posté le 05/02/2017 16:58 | #
Effectivement, le dépôt Debian est sur mon serveur qui est down (et c'est pas une situation qui sera corrigée dans quelques heures, malheureusement). Mais le dépôt du packaging Debian est disponible sur Github, donc tu devrais pouvoir build toi-même les packages avec ces commandes :
cd /tmp && git clone https://github.com/cakeisalie5/p7-packaging && cd p7-packaging
make -C libp7 && sudo make -C libp7 install
make -C p7utils && sudo make -C p7utils install
Un de ces jours (dans un mois ou deux je pense, le temps de finir quelques autres trucs), j'essaierai d'installer un dépôt Debian convenable sur le serveur de Planète Casio. En attendant, je vais mettre à jour le site.
Désolé pour la gêne occasionnée !
Ajouté le 05/02/2017 à 17:09 :
Instructions mises à jour sur le site ! J'ai mis avril 2017, ça devrait être suffisamment large. Si quelqu'un ayant la confiance des administrateurs pourrait se charger d'installer et configurer reprepro, hein, hésitez et ne le faites pas, comme d'habitude. x)
Ajouté le 05/02/2017 à 17:19 :
Donc finalement, je me suis aperçu que j'avais fait n'importe quoi sur le repo de packaging, et que le packaging actuel concerne la version 3.0-indev. On applaudit mon génie de ne pas avoir fait de release du packaging, ou de ne pas avoir attendu que la 3.0 sorte pour adapter le packaging.
La meilleure solution, pour le moment, du coup, est d'attendre la version 3.0 de la lib... que du coup, je vais me dépêcher de sortir ><
Mon blog ⋅ Mes autres projets
Citer : Posté le 06/02/2017 00:12 | # | Fichier joint
La version 3.0 de la libp7 et des p7utils est sortie !
La majorité des modifications ont été faites dans la libp7, les utilitaires n'ont été qu'adaptés à cette nouvelle version. Les nouvelles de la libp7, constituées en bordel car j'ai la flemme de hiérarchiser et en même temps que je regarde le git diff 2.0 :
- La libp7 est désormais sous LGPL, et est désormais hébergée sur Github (pas de miroirs pour le moment) ;
- Correction du build pour Microsoft Windows (Cygwin n'est pas encore géré correctement), correction de la gestion du driver CESG502 sous cette plateforme ;
- Ré-ajout de la règle udev dans le projet, activable par l'option --udev du configure script ;
- Ajout d'utilitaires de build (libp7-config) et d'une configuration (libp7/config.h, contenant les options utiles au compilation-time des projets utilisant la lib, ainsi que la version de cette dernière) ;
- Simplification des noms de fonctions (p7_copyfile -> p7_copy, p7_lsfiles -> p7_list, ...) ;
- Ajout d'un système de buffers pour un échange de fichiers plus versatile (j'ai tout de même gardé les FILE dans d'autres fonctions pour ne pas devoir tout implémenter soi-même) ;
- Ajout de p7_cominit pour centraliser et rendre cross-platform l'initialisation avec un port série, ajout de p7_setcomm, même si en fait le port série ne marche pas encore, je compte le corriger dans les prochaines sous-versions ;
- Remplacement des constantes d'initialisation et d'exit par des flags d'initialisation (man p7_init) ;
- Ajout de la détection de l'interruption de l'utilisateur ;
- Correction de la détection d'infos (je ne décodais pas correctement la taille de la ROM et de la RAM, ainsi que les versions) ;
- Amélioration du serveur (non encore documenté pour le moment, je risque encore de changer tout le système autour de ça) ;
- Ajout d'un système public de streams ;
- Correction, lorsque supporté par la calculatrice, du backup des composants système ;
- Ajout d'un système de logs un poil plus sophistiqué (pour afficher genre le nom du handle, utile lorsque l'on manipule deux handles sur deux threads d'un même processus, pour tester l'interaction client/serveur par exemple) ;
- Ajout du backup de l'entrée CASIOWIN (pour les calculatrices le supportant) ;
- Ajout de fonctions pour récupérer le nombre de bytes libres pour un filesystem ;
- Suppression du warning dans le dmesg de l'usage de la libusb (je fais ce qu'il faut maintenant) ;
Le site principal a été mis à jour avec la nouvelle version. Les tarballs ont bien entendu été uploadées ici. Le packaging Debian des p7utils semble avoir un problème pour le moment, je le résous dès que je trouve de quoi il s'agit. Aussi, le packaging pour Arch/Manjaro est fait (Julese50 s'en est chargé).
J'en profite pour attirer votre attention sur pyp7, un portage Python 3.x de la libp7. Il ne peut pas faire grand chose, mais si vous aimez le Python et que vous voulez scripter des comportements pour communiquer avec votre calculatrice, c'est idéal !
Aussi, Intelligide, je m'attends à ce que tu mettes à jour p7gui.
Mon blog ⋅ Mes autres projets