Petit point autours de la machine à café du lundi 22/03/21

Bonjour à tous.

Voilà un petit point autours de la machine à café :coffee:

Peut-être y trouverais-je des retours pertinents susceptibles d’accompagner ma quête.

La semaine dernière, j’ai rejoint le groupe Défi PG Mars 2021 de manière assez tardive sur le plan de calendrier, et assez en retard aussi sur les plans technologiques. Ce qui fait que pour l’instant j’ai plus à apprendre qu’à apporter véritablement.

Je me suis rendu compte aussi, que dans ma réponse globale au défi “Modifier des données distantes (Janvier 2021)”, les différents maillons d’accès à mon web service externalisé chez Ionos (paramétrage serveur inaccessible, api php) étaient un peu ringards, à part, peut-être, l’intégration des requêtes du CRUD avec Flutter en http.

Lors de la réunion, j’ai redécouvert Vapor (jamais mis en oeuvre dans mon cas), et découvert, purement et simplement, la notion de WebSocket (standard du Web désignant un protocole réseau de la couche application et une interface de programmation du World Wide Web visant à créer des canaux de communication full-duplex par-dessus une connexion TCP pour les navigateurs web). Whaou, ça calme! Il est bon mon groupe. Mais Je me suis senti bien petit d’un seul coup, et surtout en charge de gros handicaps à remonter.

Qu’à cela ne tienne, c’est ce que j’ai commencé à faire ce weekend, avec la reprise du cours Vapor de MB, et ce, de fonds en combles. J’ai implanté toute la partie localhost, mais j’ai aussi créé un hébergement externalisé avec une “Instance Scaleway, comme recommandé (mais plus chère :neutral_face:). Le cours m’a permis de tout configurer, à peu près sans encombres, et je maîtrise assez correctement mon instance via terminal en ssh.

La loi de Pareto, s’est aussi invitée à la fête, avec environ 80% de problèmes (donc de temps) produits par 20 % de causes. Notamment, l’impossibilité totale de connecter MySQL Workbench, alors qu’avec le terminal tout fonctionne parfaitement?! Bon, j’ai mis du temps à découvrir que la version uptodate 8.0.23 de WB, est déclarée non opérationnelle avec BigSur qu’elle plante lamentablement. J’ai rétrogradé avec la version précédente 8.0.22, qui ne plante plus BigSur, mais que je n’arrive pas à connecter?! Mais bon, ça va le faire, et j’ai mon terminal opérationnel alternativement.

J’arrive donc à rattraper un peu le train Vapor. Je vais finaliser cette semaine. J’ai toujours des questions à résoudre, telles que Flutter + Vapor? Ensuite si je peux convertir mon app Flutter (http) en app Vapor, ce sera top.

L’étape suivante sera l’accès au même web service mais avec l’intégration des WebSockets.

Bref du boulot en perspective, mais très intéressant.

Désolé si je ne peux pas être plus productif pour le groupe pour l’instant, mais je compte bien sur lui pour l’être lors des prochaines échéances défis.

J’ai publié ici, pour partager un peu la vie du groupe, son engagement aussi, et surtout l’énorme source de progrès que tout cela peut receler.

Bien à vous :wave:

6 J'aime

Bonjour @jmz

Je suis un peu pareil que toi niveau code, j’ai passé tout mon dimanche à essayer de rattraper mon retard sur Flutter/Dart :sweat_smile:

Par contre, je pense pouvoir répondre à quelques unes de tes interrogations.

Concernant le MySQL, je n’utilise pas Workbench (que je trouve très lourd), mais Sequel Ace (qui est un fork de Sequel Pro). il permet la gestion d’une base MySQL simplement avec la possibilité d’un accès SSH, sockets, etc. A tester pour ton projet je pense.

Concernant Vapor (je n’ai pas encore vu tous les cours) mais sur le fonctionnement, tu n’auras pas besoin de convertir Flutter à Vapor. En fait Vapor te fournit un WebServices (ou plusieurs). Flutter va se connecter à ce WebService. En gros, Flutter ne sait même pas que c’est Vapor, il se connecte juste avec le service et demande à ce que telles ou telles requètes soient exécutée par Vapor de son côté.

Le Trello mis en place est toujours présent et tu peux venir nous rejoindre quand tu veux pour venir partager tes ressources ! Sur ce défi, on a, en plus du code, plein d’autres points qui ne sont pas évidents, je peux citer par exemple : le WebService, le Git, la collaboration à plusieurs sur un projet, etc. Quelque soit ton background, on a tous quelque chose à apprendre, mais aussi à apporter :wink:

2 J'aime

Merci pour ce retour ! Je suis ravi de voir à quel point ce défi vous est utile et vous motive.

Oui, Scaleway a fortement augmenté ses tarif, depuis que j’ai enregistré le cours Vapor l’année dernière. Aujourd’hui, je vous recommande plutôt Hetzner qui propose des serveurs à partir de 2,96€/mois qui marchent très bien.

Merci pour ce lien, je ne connaissais pas mais j’aime l’idée d’avoir une alternative plus légère que WB la prochaine fois que je devrais gérer un serveur mysql.

2 J'aime

Merci à vous, schtipoun, thonyf, Draken pour vos « j’aime », et aussi Mrt1 et mbritto pour ces retours. Je continue, et reviendrai vers vous avec des nouvelles. A+

Whaaa ça me fait carrément envi les défis ! Mais je n’ai carrément pas le temps depuis… depuis décembre c’est un peu la course.
En tout cas le thème est vraiment engageant. Bon courage à toi @jmz !

1 J'aime

Bonjour Maxime,
Je rebondis sur ton retour et jette cette bouteille à la mer :

J’ai donc créé un serveur chez Hetzner et cela semble marcher. Sauf ce petit problème qui a justifié un ticket d’assistance :
bonjour (Hetzner),
J’ai créé un serveur [myServer] et j’essaie de ma connecter en ssh avec la commande ssh [email protected][my_ip] comme documenté :
[email protected] ~ % ssh [email protected]
[email protected] 's password: ?
Cette commande me demande un password. Mais de quel password s’agit-il? Je ne me souvient pas d’en avoir créé un spécifique (autre qu’un password associé aux clefs sshrsa elles-mêmes?! (j’attends une réponse de Hetzner).
Mais si quelqu’un a une info éventuellement, merci, je prends. :smile:

Voilà la réponse :

Dear Mister ZARAGOZA,
thank you for request.

You have created a server with public key. Thats why you dont got password in email.

Please use your public key:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP9[--------]rNA1AqbRL0YgX3S099w==\n [email protected] (shorten)

to connect to your server.

For further questions we are at your disposal.

Bon, je ne comprends pas tout, mais j’ai une piste :thinking:

salut @jmz

Tu as du créer une paire de clefs SSH, avec une clef privée et une clef publique.
Faut vérifier que la clef publique se trouve bien sur le serveur (apparemment oui, puisque Hetznez te la renvoie).
Il faut utiliser la clé privée maintenant pour se connecter. As-tu bien la paire de clef sur ton ordinateur? tu as quoi dans ton dossier /~/.ssh ?

Ci-joint la doc Hetzner :
https://docs.hetzner.com/robot/dedicated-server/security/ssh/

Merci pour ton suivi Mrt1 (As-tu un prénom sur la Terre ? :joy: )
Oui bien sûr, j’ai bien une paire de clefs (J’ai suivi les cours de Maxime, Môssieu :rofl: )
Ce que je ne sait pas, c’est la forme de la réponse. J’ai tenté de coller le texte de ma clef privée (:scream:) obtenu avec un cat .ssh/htz-rsa, j’ai tenté aussi d’insérer le nom de fichier htz-rsa, aussi le chemin complet du fichier, j’ai tapé « et merde » ça n’a pas marché non plus ?!! Je suis allé dans la console de mon serveur depuis le site Hetzner lui même, le terminal s’ouvre, j’ai même rebooté le serveur avec CTRL+ALT+SUPP, mais il me demande un login (le serveur dont je suis sur la console, me demande un login?! Quel login? C’est confusant, non?! Bien évidement je tente chaque fois des tas de réponses mais sans succés. A suivre :woozy_face:

Salut @jmz
En général à ce niveau il faut renseigner le mot de passe de l’utilisateur.
La on te demande le mot de passe de l’utilisateur root.
A aucun moment tu as créé un login et un mot de passe pour le serveur ?

Bonjour Alexandre,
Merci pour ta réponse. Non, pas de mot de passe créé (bien que je ne néglige pas le fait d’être à côté de mes pompes, ça ne serait pas la première fois), d’ailleurs c’est ce que dit Hetzner dans le mail, [quote=« jmz, post:6, topic:3401 »]Thats why you dont got password in email.[/quote]
Dans sa vidéo de connexion avec SCALEWAY, Maxime crée un fichier config dans user/ssh/ au format suivant :
Host scw-jmz
HostName 163.172.xx.xx
User root
IdentityFile ~/.ssh/myKey-rsa
et avec la commande : ssh scw-jmz ça marche tout seul. Là non?!
Bon je vais y arriver, avec un peu de temps et de doc, et peut-être de retours comme le tient.
Encore merci.

Ok du coup effectivement la solution doit être du côté de la paire clé public/privé, piste à sonder :

  • repertoire source du .rsa ?
  • droits au niveau de ce répertoire ?
  • penser à sauter un ligne à la fin de ton fichier rsa ou à ne pas en sauter justement. J’ai déjà eu un bug de ce genre qui m’avait rendu fou

Bon courage !

1 J'aime

Bonjour à tous,

Dénouement de cette phase HETZNER.

Après 1 semaine de tentatives à coup de 30 minutes grappillées par-ci, par-là, et de nombreux échanges de mails avec le support, je ne suis arrivé à rien. C’est frustrant, et on pense que c’est toujours la faute à soi-même?! Vendredi, j’ai consacré un peu plus de temps à résoudre ces problèmes de connexion. Mais à l’issue d’une des nombreuses tentatives, j’ai reçu ce mail:

1. Go to the Rescue Section of your server, but click on the Activate Rescue & Reset button instead of the (reset root password) button.
2. After that your server will boot into a rescue system.
3. Connect to your server via SSH or VNC using the rescue login details
4. Run the following commands in Rescue:
mount /dev/sda1 /mnt
chroot-prepare /mnt
chroot /mnt
passwd
5. Reboot your server and login with the new password (Also check whether the Quemu Guest Agent is installed).

Lequel mail, assez hermétique et ésotérique (d’autant que je ne trouvais pas le chemin Rescue?!) a fini de me décourager. Beaucoup trop de temps pour rien. Alors, j’ai clôturé mon compte! et suis partis à la recherche de nouvelles aventures avec DigitalOcean. :face_with_raised_eyebrow:

Côté Digital Ocean, Trop super! J’ai pu configurer en quelques minutes, sans problème, mon serveur Ubuntu, MySQL, Swift, mes connexions SSH Terminal et Sequel Ace (meci Mrt1), j’ai créé une base à moi. Seul bémol, impossible de connecter Workbench, mais là c’est la version Workbench avec BigSur que j’incrimine.

Heureux, j’ai maintenant un bel environnement, je repars à fond dans Vapor et dans mon challenge perso de porter mon application WebService CRUD (API PHP) sous Vapor, et ensuite, de taquiner les WebSockets en suivant la piste du dernier challenge. A+ :coffee:

2 J'aime

Content que tu aies trouvé une solution @jmz ! Digital Ocean est un très bon hébergeur aussi :+1:

1 J'aime