Le blog de cracrayol - Le reste2024-03-13T08:58:19+01:00cracrayolurn:md5:6d7d3c8626ea1f77b5894dd336432eb3DotclearDensha Otoko : Révision de la traductionurn:md5:40f2dc2c2ebe1e1618dcaf584f0a0c9e2024-03-13T08:41:00+00:002024-03-13T08:54:48+00:00cracrayolLe resteDensha OtokoJaponTraduction <p>Il y a 20 ans (le 14/03/2004) commençait le phénomène Densha Otoko sur 2ch.</p>
<p>En 2005, la traduction anglaise de rinji.tv a débuté. Et cinq ans plus tard (2009), je me suis mis à faire la traduction française (basé sur celle de rinji.tv).</p>
<p>Et récemment, je me suis dit que ça serait une bonne occasion de revoir ma traduction et de la transférer sur mon <a href="https://bookstack.cracrayol.org/">Bookstack</a>. En effet, en la relisant, je me suis rendu compte qu'il y avait encore de nombreuses fautes, que certaines tournures de phrases semblaient bizarres, voire que la traduction n'était pas correcte.</p>
<p>Du coup, me voila reparti dans la relecture globale de "Densha Otoko" afin de corriger le plus d'erreurs (que ce soit orthographiques, grammaticales ou de traduction) et de passer celle-ci sur un système plus moderne, dans le but d'améliorer le confort de lecture.</p>
<p>Je ne dis pas que la traduction sera parfaite, mais je vais essayer de rendre celle-ci plus agréable à lire.</p>
<p>Le résultat (en cours au moment où j'écris ce billet) est disponible ici : <a href="https://bookstack.cracrayol.org/books/densha-otoko/">https://bookstack.cracrayol.org/books/densha-otoko/</a></p>
<p>N'hésitez pas à me faire des retours en commentaire si besoin (même si je ne lis pas souvent ceux-ci).</p>https://blog.cracrayol.org/index.php?post/2024/03/13/Densha-Otoko-%3A-R%C3%A9vision-de-la-traduction#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/30La mise en station de mon téléscopeurn:md5:1b2e256b77be45861ec08d318708b4102023-05-23T20:50:00+01:002023-05-23T20:50:00+01:00cracrayolLe resteastronomie<p>Il y a un an et demi, j'ai eu un télescope SkyWatcher 150/750 avec monture EQ3-2 avec GoTo. Et je me dis que ça serait peut-être une bonne idée (et un mémo au cas où) de partager comment je fait ma mise en station de mon télescope. C'est peut-être pas optimal (un commentaire si vous avez des suggestions) mais ça me suffit pour ce que je fais.</p> <p>Voici donc les étapes que je suis lors que je fais la mise en station de mon télescope.</p>
<p>A faire en fin de journée :</p>
<ul>
<li>Je positionne le nord de mon trépied grâce a une boussole (ne fonctionne que si le trépied doit, bien sur, être positionné au nord).</li>
<li>J'installe la monture, le télescope et les accessoires sur le trépied.</li>
<li>J'effectue l'équilibrage du télescope via le réglage des contrepoids, de la queue d'arronde et du placement des colliers sur le tube. Pour le réglage des contre-poids, l'idéal est d'avoir les accessoires du télescope (viseur, porte occulaire, occulaire ou APN) bien alignés sur l'axe des contrepoids.</li>
<li>Avec un niveau a bulle, je règle la hauteur des pieds afin d'avoir la monture a plat. Il faut le faire une fois tout monté sur le trépied car le poids des différents éléments peut légèrement jouer.</li>
<li>J'effectue la collimation du téléscope (alignement des mirroirs). Si mise en place dans la nuit, il faut pouvoir éclairer l'intérieur du télescope afin de voir les indicateurs d'alignement.</li>
</ul>
<p>Lorsque la nuit est installée :</p>
<ul>
<li>Je centre ensuite la polaire dans le viseur polaire via les vis de réglage polaire et azimut.</li>
<li>Une fois centré, je vérifie que j'ai également bien la polaire dans le viseur et le télescope et règle celui-ci si nécessaire (via l'axe RA/DEC).</li>
<li>Je position correctement la polaire dans le viseur en utilisant l'app mobile Polar Clock. Afin de bien positionner le 12 du viseur vers le haut, je déplace la polaire vers le haut en utilisant les vis de réglage polaire afin qu'elle soit sur le cercle du viseur. Puis je fais tourner l'axe RA afin que le 12 soit positionné sur la polaire. Une fois calé, je peux positionner correctement la polaire dans le viseur.</li>
<li>Je remet l'axe RA du télescope avec les contrepoids vers le bas.</li>
<li>J'allume le télescope, fais l'initialisation du GoTo ainsi qu'un alignement a 3 étoiles. En fonction des valeurs Mal/Mez et du type d'observation, j'effectue également un alignement polaire via la raquette du GoTo.</li>
<li>Ma mise en station est terminée.</li>
</ul>
<p>Et me voila prêt pour faire de l'observation ou de la photo.</p>https://blog.cracrayol.org/index.php?post/2023/02/22/La-mise-en-station-de-mon-t%C3%A9l%C3%A9scope#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/26Kai Chronicles : une webapp pour lire les "Loup Solitaire"urn:md5:2d78862a726db53190bebb2917fede772022-04-07T22:02:00+01:002022-04-07T21:29:38+01:00cracrayolLe restedéveloppementloup solitaire <p>Enfant des années 80, j'ai connu Les "Livres dont vous êtes le héros" lors de mon passage de l'école vers le collège. Et parmi les séries que j'aimais bien, il y avait Loup Solitaire. Mais plus je grandissais, moins mon intérêt pour ce genre de livre se faisait ressentir.</p>
<p>Des années plus tard, j'ai découvert "Project Aon", un site permettant de relire gratuitement les "Loup Solitaire" en anglais, et avec l'autorisation de feu son auteur original, Joe Dever. Il fournit également les données des livres dans des formats exploitables par des applications.</p>
<p>Et une des applications que j'ai découvert par ce site, c'était "<a href="https://github.com/tonib/kaichronicles" hreflang="en">Kai Chronicles</a>", une webapp (et une app android) permettant de rejouer aux livres tout en facilitant la gestion des divers éléments (combats, inventaire, pouvoirs, ...), ce qui en faisait un véritable livre interactif.</p>
<p>Malheureusement, en novembre 2021, son développeur décida d'arrêter le développement de l'application (et d'enlever les applications mobiles et la version web). L'aventure s'était donc arrêté au 14ᵉ livre.</p>
<p>Qu'a cela ne tienne, j'ai décidé de dupliquer son code (que l'auteur venait de mettre sous licence GPL) et de <a href="https://github.com/cracrayol/kaichronicles" hreflang="fr">reprendre le développement</a> afin d'intégrer les 20 premiers livres (en gros, inclure les 3 premiers cycles - Kaï, Magnakaï et Grand Maître). J'ai pour cela, fait un petit néttoyage de code afin de retirer certaines fonctionnalités :</p>
<ul>
<li>Retrait de code Android (basé sur Cordova). Ce sera uniquement une webapp.</li>
<li>Livres en anglais uniquement (la version espagnole, sur Project Aon, s'arrêtait au livre 14)</li>
<li>Retrait du code de tracking (google analytics)</li>
</ul>
<p>Depuis, j'ai mis à disposition une nouvelle version permettant de lire "Loup Solitaire" jusqu'au livre 16 (et je suis en train d'intégrer le 17). La seule contrainte (et pas des moindres) est que la licence de "Project Aon" interdit de diffuser le contenu en dehors du site lui-même. J'ai bien envoyé des mails afin de demander s'il était possible d'avoir un espace sur le site (ce qu'avait l'ancien développeur), mais pour le moment aucune réponse (apparemment, il y aurait des "soucis" avec le nouveau gestionnaire des droits de "Loup Solitaire".</p>
<p>Donc, pour le moment, la seule solution c'est de télécharger soi-même le code, de générer une version distribuable et d'héberger l'appli sur son propre serveur web tout en gardant ceci privé. Si cela vous intéresse, les infos sont dispo dans le <a href="https://github.com/cracrayol/kaichronicles/blob/master/README.md" hreflang="en">README.md du projet</a>.</p>https://blog.cracrayol.org/index.php?post/2022/04/07/Kai-Chronicles-%3A-une-webapp-pour-lire-les-Loup-Solitaire#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/24Analyser du code Java avec PMD dans VS Codeurn:md5:412f4e3f3abb16f5e488e869d490573e2022-01-28T22:30:00+00:002022-01-28T22:44:08+00:00cracrayolLe resteCodeJavaPMD <p>Dans mon boulot, j'ai pendant longtemps utilisé <a href="https://www.eclipse.org/">Eclipse</a> (et dans une moindre mesure IntelliJ) pour faire du développement Java. Il a l'avantage d'être gratuit, complet et présent sur le marché depuis de nombreuses années. Mais récemment, je trouvais que celui-ci devenait de plus en plus lourd, gourmand et beaucoup trop complet (dans le sens où beaucoup de fonctionnalités m'étaient inutiles). Et en plus de ça, il plantait parfois au lancement, ce qui faisait perdre du temps pour essayer de trouver la cause.</p>
<p>L'an dernier, j'ai donc voulu essayer <a href="https://code.visualstudio.com/">Visual Studio Code</a> pour faire du développement Java (l'ayant auparavant utilisé principalement pour du dev web). VS Code a l'avantage d'être très épuré, très axé coding et plutôt léger. Après quelques jours à le configurer et à le tester, il s'est révélé plutôt agréable à utiliser pour du Java et j'ai même réussi à convertir les membres de la petite équipe dans laquelle j'étais pour utiliser celui-ci. Le seul élément qui me manquait était un outil d'analyse et de qualité de code qui permet de souligner les problèmes pouvant être facilement détecté. Il y avait bien une extension Checkstyle mais celui-ci est axé uniquement qualité/présentation et ne détecte pas les potentiels soucis (par ex. des variables non initialisés.).</p>
<p>L'outil de CI que l'on avait mis en place (Jenkins) était paramétré pour faire une analyse via <a href="https://blog.cracrayol.org/index.php?post/2022/01/28/pmd.github.io/">PMD</a> et j'ai vu que dans les extensions, il y en <a href="https://github.com/ChuckJonas/vscode-apex-pmd">a bien une</a> utilisant PMD mais pour les fichiers Apex/Salesforce. Étant une extension open source, ni une, ni deux, j'ai fork le code de cette extension et modifié celle-ci afin d'utiliser la dernière version de PMD et analyser le code java à la place. Résultat : ça fonctionne très bien.</p>
<p>Et donc, pour en faire profiter tout le monde, j'ai publié celle-ci sur le marketplace de <a href="https://marketplace.visualstudio.com/items?itemName=cracrayol.java-pmd">VS Code</a> et mis le code source sur <a href="https://github.com/cracrayol/vscode-java-pmd">GitHub</a>. Il n'y a pas beaucoup de différence par rapport à l'extension d'origine (merci à Charles Jonas pour celle-ci d'ailleurs), mais voila, on peut maintenant avoir l'analyse PMD directement dans VS Code.</p>https://blog.cracrayol.org/index.php?post/2022/01/28/Analyser-du-code-java-avec-PMD-dans-VS-Code#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/23Créer un serveur E-Amusement sur un Raspberry Piurn:md5:a4331b114e686837d51ebb5d759799782021-10-23T00:00:00+01:002021-10-22T23:25:44+01:00cracrayolLe reste <p>Voici comment installer un serveur e-amusement, via <a href="https://github.com/DragonMinded/bemaniutils/">bemaniutils</a>, sur un Raspberry pi (testé sur un 2B et un 3B). Bemaniutils est un ensemble d'outils open source, principalement programmés en Python, permettant de manipuler certains types de fichiers utilisés par les jeux bemani, de décoder/consulter les paquets réseaux envoyés aux serveurs e-amusement, ... et inclus un serveur simulant le comportement des serveurs officiels.</p>
<p>On part du principe que l'on a une installation Raspbian 2021-05-07 toute fraîche. Après la configuration initiale, mettez à jour votre distribution :</p>
<blockquote>
<pre>
sudo apt-get update
sudo apt-get upgrade</pre>
</blockquote>
<p>Installez ensuite les dépendances et outils nécessaires.</p>
<blockquote>
<pre>
sudo apt install libssl-dev zlib1g-dev mariadb-server mariadb-client libmariadbclient-dev dnsmasq uwsgi nginx uwsgi-plugin-python3 python3-pip git python3-venv libopenjp2-7</pre>
</blockquote>
<p>Configurez ensuite votre serveur MariaDB</p>
<blockquote>
<pre>
sudo mysql_secure_installation #mettez un mot de passe root et répondez oui au reste
sudo service mariadb restart
sudo mysql -u root -p #saisissez ensuite votre mot de passe root</pre>
</blockquote>
<p>Exécutez ensuite ces commandes SQL afin de créer la base et l'utilisateur associé (vous pouvez modifier le mot de passe ou le nom utilisateur)</p>
<blockquote>
<pre>
CREATE DATABASE bemani;
CREATE USER 'bemani'@'localhost' IDENTIFIED BY 'motdepasse';
GRANT ALL PRIVILEGES ON bemani.* TO 'bemani'@'localhost';
FLUSH PRIVILEGES;
exit</pre>
</blockquote>
<p>Installez ensuite le compilateur Rust (installez-le avec la config par défaut)</p>
<blockquote>
<pre>
curl https://sh.rustup.rs -sSf | sh</pre>
</blockquote>
<p>Quittez votre session bash et ouvrez-en une nouvelle afin de pouvoir appeler le compilateur Rust directement.</p>
<p>Clonez ensuite le repo git de bemaniutils</p>
<blockquote>
<pre>
git clone https://github.com/DragonMinded/bemaniutils.git
cd bemaniutils</pre>
</blockquote>
<p>Modifiez ensuite le fichier requirements.txt (via nano par ex) afin de rajouter les 2 lignes suivantes ;</p>
<blockquote>
<pre>
importlib-metadata==4.2.0
greenlet</pre>
</blockquote>
<p>Créez ensuite un environnement virtuel Python et installez les dépendances (cela peut prendre beaucoup de temps selon la puissance de votre Raspberry)</p>
<blockquote>
<pre>
python3 -m venv /home/pi/bemaniutils/
source /home/pi/bemaniutils/bin/activate
pip3 install -r requirements.txt</pre>
</blockquote>
<p>Modifiez le fichier config/server.yaml :</p>
<ul>
<li>Mettez le bon utilisateur/mot de base de base de donnée</li>
<li>Mettez l'adresse 192.168.100.1 comme adresse server et keepalive</li>
<li>Modifiez le secret_key</li>
<li>Adaptez les autres paramètres selon votre config et sauvegardez</li>
</ul>
<p>Quittez ensuite l'éditeur et lancez un "ifconfig -a" afin de noter l'adresse mac de votre port réseau eth0.</p>
<p>Modifiez ensuite le fichier /etc/dnsmasq.conf en sudo et insérez la config suivante (pensez à remplacer <mac> par votre adresse mac).</p>
<blockquote>
<pre>
no-resolv
address=/eamuse.konami.fun/192.168.100.1
dhcp-range=192.168.100.50,192.168.100.150,24h
dhcp-host=<mac>,192.168.100.1</pre>
</blockquote>
<p>Modifiez ensuite le fichier /etc/dhcpcd.conf en sudo afin de configurer l'IP fixe du Raspberry</p>
<blockquote>
<pre>
interface eth0
static ip_address=192.168.100.1</pre>
</blockquote>
<p>Créez le fichier /etc/nginx/sites-available/server.nginx en sudo et insérez le contenu suivant (modifiez le port si vous le souhaitez)</p>
<blockquote>
<pre>
server {
listen 5730;
server_tokens off;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/pi/bemaniutils/sock/services.sock;
}
}</pre>
</blockquote>
<p>Créez le fichier /etc/nginx/sites-available/frontend.nginx en sudo et insérez le contenu suivant (modifiez le port si vous le souhaitez)</p>
<blockquote>
<pre>
server {
server_name _;
listen 8573;
server_tokens off;
gzip on;
gzip_types text/html text/css text/plain application/javascript application/xml application/json;
gzip_min_length 1000;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/pi/bemaniutils/sock/frontend.sock;
}
location ^~ /static/ {
include /etc/nginx/mime.types;
root /home/pi/bemaniutils/bemani/frontend/;
}
}</pre>
</blockquote>
<p>Créez les liens symboliques de ces 2 fichiers dans /etc/nginx/sites-enabled</p>
<blockquote>
<pre>
sudo ln -s /etc/nginx/sites-available/server.nginx /etc/nginx/sites-enabled/server.nginx
sudo ln -s /etc/nginx/sites-available/frontend.nginx /etc/nginx/sites-enabled/frontend.nginx</pre>
</blockquote>
<p>Créez le fichier /etc/uwsgi/apps-available/server.ini en sudo et insérez le contenu suivant</p>
<blockquote>
<pre>
[uwsgi]
plugins = python3
chdir = /home/pi/bemaniutils
wsgi-file = /home/pi/bemaniutils/services.wsgi
callable = app
socket = /home/pi/bemaniutils/sock/services.sock
processes = 4
threads = 2
virtualenv = /home/pi/bemaniutils</pre>
</blockquote>
<p>Créez le fichier /etc/uwsgi/apps-available/frontend.ini en sudo et insérez le contenu suivant</p>
<blockquote>
<pre>
[uwsgi]
plugins = python3
chdir = /home/pi/bemaniutils
wsgi-file = /home/pi/bemaniutils/frontend.wsgi
callable = app
socket = /home/pi/bemaniutils/sock/frontend.sock
processes = 4
threads = 2
virtualenv = /home/pi/bemaniutils</pre>
</blockquote>
<p>Créez les liens symboliques de ces 2 fichiers dans /etc/uwsgi/apps-enabled</p>
<blockquote>
<pre>
sudo ln -s /etc/uwsgi/apps-available/server.ini /etc/uwsgi/apps-enabled/server.ini
sudo ln -s /etc/uwsgi/apps-available/frontend.ini /etc/uwsgi/apps-enabled/frontend.ini</pre>
</blockquote>
<p>Exécutez ces commandes dans le dossier bemaniutils</p>
<blockquote>
<pre>
mkdir sock
./dbutils --config config/server.yaml create
cp bemani/wsgi/services.wsgi .
cp bemani/wsgi/frontend.wsgi .</pre>
</blockquote>
<p>Modifiez les 2 fichiers services.wsgi/frontend.wsgi afin d'indiquer d'utiliser le fichier config/server.yaml</p>
<p>Redémarrez votre Raspberry Pi.</p>
<p>Et voila ! Vous voici avec un serveur e-amusement fonctionnel (en dehors des étapes supplémentaires en fonction des jeux. Consultez README.md pour cela).</p>
<p>Il suffira de faire pointer votre jeu sur l'adresse http://192.168.100.1:5730 (sauf si vous modifiez le port dans la configuration nginx). Le Raspberry attribuera automatiquement une IP entre 192.168.100.50 et 192.168.100.150 aux machines connectées à celui-ci.</p>
<p>L'interface est accessible via l'adresse http://192.168.100.1:8573 (sauf si vous modifiez le port dans la configuration nginx)</p>https://blog.cracrayol.org/index.php?post/2021/10/12/Cr%C3%A9er-un-serveur-E-Amusement-sur-un-Raspberry-Pi#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/22On repart de zérourn:md5:25b5f4ef1499a95f0c3b38fe13bbaaad2020-12-03T22:31:00+00:002020-12-03T22:31:00+00:00cracrayolLe reste <p>Comme dit dans le titre, je recommence mon blog de zéro... et j'en profite pour revenir à Dotclear, que j'utilisais au tout début.</p>
<p>Pourquoi Dotclear ? Parce que c'est l'un des rares moteur de blog qui soit encore maintenu et qui se focalise sur une chose : faire un blog. Donc simple, rapide et suffisamment efficace pour ne pas avoir à mettre les mains dans le cambouis. C'est sûr que comparé a WP, il offre beaucoup moins de personnalisation, mais au moins, c'est léger.</p>
<p>Pourquoi repartir de zéro ? Une envie, c'est tout. Mon blog précédent était à l'abandon (je me limitais aux màj de WordPress pour la sécurité) et je trouve que WP était devenu trop "gros" pour faire un simple blog. Je recréerai surement quelques articles du blog précédent (celui par exemple des cours de la NHK), mais bon... j'avais envie de recommencer de zéro.</p>
<p>Après, de quoi je vais parler ? Je pense que je vais continuer à parler jeux vidéo, à poster de temps en temps des photos et peut-être, parfois, autre chose. Qui sait...</p>https://blog.cracrayol.org/index.php?post/2020/12/03/On-repart-de-z%C3%A9ro#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/3Les leçons de japonais en français de la NHKurn:md5:a944818b19ede6f281c6e1d01800b8d42020-12-03T21:10:00+00:002020-12-03T23:31:06+00:00cracrayolLe resteJaponaisNHK <p>La NHK, la télévision et radio publique japonaise, propose sur son site "<a href="http://www.nhk.or.jp/lesson/french/">NHK World</a>", et ce depuis de nombreuses années, des leçons de japonais gratuites.</p>
<p>Dans un souci d'archivage, vous pouvez donc télécharger ici l'ensemble de ces leçons de japonais, et ce depuis 2006.</p>
<ul>
<li><a href="http://downloads.cracrayol.org/cours-japonais/cours-japonais_2001-2004.7z">Saison 2001 à 2004</a> : 150 leçons (749Mo) comprenant fichiers audio et images (il manque les images des leçons 100 à 150 - Merci à Jckbrtn pour ces leçons).</li>
<li><a href="http://downloads.cracrayol.org/cours-japonais/cours-japonais_2004-2008.7z">Saison 2004 à 2008</a> : 126 leçons + 18 expressions (213Mo) comprenant fichiers audio (format Real Media) et images.</li>
<li><a href="http://downloads.cracrayol.org/cours-japonais/cours-japonais_2008-2011.7z">Saison 2008 à 2011</a> : 100 leçons (567Mo) comprenant fichiers audio, expressions en vidéo, manuel PDF, leçons intermédiaires et leçons culturelles.</li>
<li><a href="http://downloads.cracrayol.org/cours-japonais/cours-japonais_2011-2015.7z">Saisons 2011 à 2015</a> : 50 leçons (232Mo) comprenant fichiers audio et documents PDF.</li>
<li><a href="http://downloads.cracrayol.org/cours-japonais/cours-japonais_2015-2017.7z">Saison 2015 à ...</a> : 48 leçons (252Mo) comprenant les fichiers audio et vidéo des leçons, les documents PDF et des copies de certaines rubriques du site de la NHK.</li>
</ul>
<p>Pour lire les fichiers audio de la saison 2006-2008, vous devez utiliser <a href="https://www.videolan.org/vlc/">VLC</a>.</p>
<p>Bonne écoute et bon apprentissage.</p>https://blog.cracrayol.org/index.php?post/2020/12/03/Les-le%C3%A7ons-de-japonais-en-fran%C3%A7ais-de-la-NHK#comment-formhttps://blog.cracrayol.org/index.php?feed/atom/comments/4