GROS_FAIGNAN Posté(e) le 14 décembre 2019 Partager Posté(e) le 14 décembre 2019 bonjour j'ai tenter de suivre quelque tuto pour creer des repo github via cmd.exe, mais rien n'y fait j'ai toujours des message d'erreur https://gist.github.com/alexpchin/dc91e723d4db5018fef8 ici j'ai essayer cette methode : curl -u 'USER:passwrd' https://api.github.com/ -d '{"name":"REPO"}' avec cette methode j'ai toujours des erreur du type "not found" et je ne voie pas par quoi je doit remplacer "name" j'ai aussi essayer celle avec git (au debut de page) touch README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:alexpchin/<reponame>.git git push -u origin master marche pas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 14 décembre 2019 Partager Posté(e) le 14 décembre 2019 Tu veux créer ou init ? Et ton api call semble pas cohérent avec la spec de l'API https://developer.github.com/v3/repos/#create #Avatar ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 15 décembre 2019 Auteur Partager Posté(e) le 15 décembre 2019 creer j'ai été voire les manpages tu pourrais m'eclaircir la fonction create et le fonctionnement de l'API en general ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 Ben l'URL que j'ai donné indique que ce que tu cherche se trouve dans POST /user/repos Donc modifie juste ton url pour ajouter le chemin Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 erff j'ai pas tout compris : je le modifie comment mon code : curl -u 'USER:passwrd' https://api.github.com/ -d '{"name":"REPO"}' Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 Es tu bien sur de vouloir créer le repo depuis cmd ? Pourquoi pas simplement depuis l'interface github ? J'ai l'impression que tu essaye de manipuler des technos que tu ne connais pas du tout. (Le mot URL et "chemin" n'ayant semble t'il pas "fait tilt"). Je me refuse volontairement à ne pas fournir la commande finale/corrigée car il suffit (à mon sens) de bien relire ma réponse pour trouver la réponse et comprendre le souci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Minikea Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 curl par défaut utilise la commande GET pour récupérer du contenu. (comme tout navigateur web) généralement quand tu veux envoyer du contenu, ou une commande, il faut utiliser la commande POST . comme quand tu envois un formulaire dans un navigateur: tu remplis des champs et tu clique sur "envoyer" ; ça génère une requête POST par ton navigateur. pour utiliser une commande POST avec curl, je te conseille de lire un peu sur le sujet pour savoir comment faire et ce qu'il faut utiliser. Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 ]@Sheepux : non effectivement je ne maîtrise pas du tout la ligne de commande, je comprend vaguement le html/CSS/PHP et j'ai fait un peut de C et d'AS3 mais il y a longtemps. @Minikea : j'ai chercher rapidement sur le net le fonctionnement de la commande POST mais mes recherche n'ont données aucune ligne de commande qui fonctionne. (j'ai essayer ces 2 versions) : curl -u "user:psswrd" -X POST -d "user/repos" https://api.github.com curl -u "user:psswrd" https://api.github.com -X POST -d "user/repos" en remplaçant respectivement user psswrd et repos par mes identifiant et le nom que je voulais donné a mon dépôt. pour details je cherche a transmettre a un script la possibilité des créer des dépôt sur mon compte github, certain sur open-classroom m'on dit que ce n’était pas possible d'automatisé cette fonction, a voir ce que vous en pensez . [EDIT] j'ai aussi essayer cette forme curl -u "USER:PSSWRD" -X POST -d '{"name":"Test2","description":"Created via API","public":"true"}' https://api.github.com/user/repos idem je remplace users et passwrd par mes identifiant plutot que de me retourné une bette erreur "not found" j'ai le droit a un "error parsing json", c'est presque encourageant... meme si ca m'aide pas bcp ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 (Minikea a vu juste il manquait aussi le POST) Dernière tentative pour 2019: Citer modifie ton url pour ajouter le chemin https://fr.wikipedia.org/wiki/Uniform_Resource_Locator La question est donc : dans la commande, quelle est l'URL, et comment ajouter le chemin que j'ai indiqué dans la même réponse. Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 bah l'url je vois ce que c'est : en l'occurence https://api.github.com mais le chemin aucune idée, Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 curl -u "grosfaignan:psswrd" -X POST https://www.github.com/grosfaignan/Test2 cette syntaxe ne fonctionne pas non plus mais ne renvoie pas d'erreur ^^ curieux Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 curl -u "USER:PSSWRD" -X POST -d '{"name":"Test2","description":"Created via API","public":"true"}' https://api.github.com/user/repos Ah mais tu avais trouvé plus haut, il n'y avait pas l'edit quand j'ai répondu. Là tu es sur le bon chemin. Pourquoi le JSON est il invalide ? Car public est déclaré dans la doc en booléen (enlève les guillements autour de true) Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 j'ai enlever les guillement autour de true et meme erreur (problem parsing JSON) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 Essaye déja le plus simple: '{"name":"Test2"}' Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 déja fait ca marche pas (meme erreur parsing json) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 Apparement c'est qu'il faut passer par un token et pas par un -u "USER:PSSWRD" -H 'Authorization: token <your_token>' Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 j'ai activer un token dans mes setting github (un peut par hazard en fait) mais apparament faut aussi une identification OAuth pour les utiliser etc... et j'ai pas trop bien compris encore comment faire tout ca [EDIT] je viens de tenter quand meme le coup avec plusieurs syntaxe curl -H 'Authorization: token mytoken' -X POST -d '{"name":"Test2", "description":"created via command line", "homepage":"https://github.com","private":false}' https://api.github.com/user/repos Citer curl: (6) Could not resolve host: token curl: (6) Could not resolve host: mytoken curl: (3) Port number ended with 'c' curl: (3) [globbing] unmatched close brace/bracket in column 42 { "message": "Requires authentication", "documentation_url": "https://developer.github.com/v3/repos/#create" } ok ici la syntaxe d'authentification n'est pas bonne, le probleme de bracket doit venir du saut de ligne, dans la console ou je ne sais quoi (bizarre cela dit ^^), mais rien a faire je ne sais pas a quoi correspond l'erreur "port number ended with 'c' curl -H 'Authorization:mytoken' -X POST -d '{"name":"Test2"}' https://api.github.com/user/repos Citer { "message": "Requires authentication", "documentation_url": "https://developer.github.com/v3/repos/#create" } curl -H 'Authorization:token<mytoken>' -X POST -d '{"name":"Test2"}' https://api.github.com/user/repos Citer Le fichier spécifié est introuvable. la derniere syntaxe a l'air la bonne mais rien a faire quand meme une erreur : >> "le fichier specifier est introuvable" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sheepux Posté(e) le 16 décembre 2019 Partager Posté(e) le 16 décembre 2019 Mouaip y'a un mix d'informations faut juste suivre les guides dans le bon ordre: https://developer.github.com/v3/guides/getting-started/ curl -i -u username:$token 404 semble vouloir dire chez github pas d'auhtentification (c'est vraiment des cons ce qui ont concu les api github) https://developer.github.com/v3/troubleshooting/ Citer ypically, we send a 404 error when your client isn't properly authenticated. You might expect to see a 403 Forbidden in these cases. However, since we don't want to provide any information about private repositories, the API returns a 404 error instead. Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 16 décembre 2019 Auteur Partager Posté(e) le 16 décembre 2019 je suis en trains de tenter le coup mais ca a pas l'air de marcher des masse non plus, la plupart des erreur que j'ai sont des erreur "bad credential" ou "error parsing json" Citer Mouaip y'a un mix d'informations faut juste suivre les guides dans le bon ordre: pas la plus facile a lire non plus leur doc ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Minikea Posté(e) le 17 décembre 2019 Partager Posté(e) le 17 décembre 2019 ça, ça semble être la bonne forme: curl -i -u username:letokenarallongedegithub0123456789 -X POST -d '{"name":"Test2", "description":"created via command line", "private":false}' https://... à noter que tu peux mettre le token dans les headers de la requête: https://developer.github.com/v3/guides/getting-started/#create-a-repository curl -i -H "Authorization: token 5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4" -X POST -d '{"name": "blog","auto_init": true,"private": true, "gitignore_template": null}' https://api.github.com/GROS_FAIGNAT/repos (pas sûr pour "gitignore_template" s'il faut mettre null ou le supprimer) Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 17 décembre 2019 Auteur Partager Posté(e) le 17 décembre 2019 oui mais aucune de ces 2 forme ne fonctionne, j'ai toujours soit de erreur bad credential soit error parsing json, après y'a un formulaire pour autoriser les application a se connecter sur l'API, mais je ne sais pas comment il fonctionne ni si ca concerne les applis executée sur ma machine en local [EDIT] curl -i -u "grosfaignan:passwrd" -H "Authorization:token<y_token>" -X POST -d '{"name":"Test2","auto_init":true,"private":false,"gitignore_template":null}' https://api.github.com/user/repos je viens meme d'essayer cette forme qui me retourne une erreur Citer HTTP/1.1 401 Unauthorized Date: Tue, 17 Dec 2019 12:37:03 GMT Content-Type: application/json; charset=utf-8 Content-Length: 115 Server: GitHub.com Status: 401 Unauthorized X-RateLimit-Limit: 60 X-RateLimit-Remaining: 55 X-RateLimit-Reset: 1576589823 X-GitHub-Media-Type: github.v3; format=json Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type Access-Control-Allow-Origin: * Strict-Transport-Security: max-age=31536000; includeSubdomains; preload X-Frame-Options: deny X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin Content-Security-Policy: default-src 'none' X-GitHub-Request-Id: FB53:289BA:D15A40:FB1C7F:5DF8CBEF { "message": "Requires authentication", "documentation_url": "https://developer.github.com/v3/repos/#create" } j'ai bien été voir la doc mais j'y compren rien [EDIT2] après si y'a un autre systeme de stockage en ligne qui soit a la fois gratuit, permette le versioning et tant qu'a faire propose une arborescence des dossier je suis preneur Lien vers le commentaire Partager sur d’autres sites More sharing options...
Minikea Posté(e) le 17 décembre 2019 Partager Posté(e) le 17 décembre 2019 le problème, c'est le unauthorized. ça veut dire que ton token est pas reconnu. si l'autre forme te retourne une erreur JSON, ça veut dire que l'auth fonctionne mais que ton json est mal formé, ce qui est largement plus gérable. sinon il y a pleins d'autres outils que curl pour github. notamment git. ça serait quand même plus simple d'utiliser git qui est l'outil dédié que curl qui n'est pas fait pour ça, même si c'est une possibilité offerte. (github propose même une surcouche à git pour avoir plus de commandes, compatible avec windows: https://github.com/github/hub/releases/latest ) avant d'essayer de planter une vis dans un mur, il vaut mieux vérifier si ça se fait pas avec autre chose qu'un marteau...https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6 (à partir de "step 1") Lien vers le commentaire Partager sur d’autres sites More sharing options...
GROS_FAIGNAN Posté(e) le 17 décembre 2019 Auteur Partager Posté(e) le 17 décembre 2019 j'ai git mais je cherche une commande simple pour transmettre a un script utiliser par un autre logiciel la possibilité de créer des depot si besoin est cela dit j'ai essayer avec git et j'ai pas réussi non plus. la seule solution que j'ai trouver c'est de créer un depot en local avec github desktop et de le publier par la suite. mais je veut pas que les depot soient stocké en local après sinon je suis en train de jeter un œil sur gitlab pour voir ce qu'ils propose Lien vers le commentaire Partager sur d’autres sites More sharing options...
Minikea Posté(e) le 17 décembre 2019 Partager Posté(e) le 17 décembre 2019 le principe de git, c'est de synchroniser un "dépôt" local (en tout cas un répertoire où est stocké ton code) et le dépôt distant. c'est sa base, tu peux pas faire autrement. Honnêtement, tu devrais sérieusement réfléchir à ce que tu veux faire et te renseigner sur les moyens de le faire avant de te mettre à ré-inventer la roue. et sans vouloir être médisant, si tu n'arrive pas à t'en sortir avec git, tu ferais mieux de reprendre les bases ou de laisser tomber car c'est sans doute la partie la plus simple... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Minikea Posté(e) le 17 décembre 2019 Partager Posté(e) le 17 décembre 2019 bon, je viens de tester par acquis de conscience et la commande que je t'ai indiqué fonctionne. il faut juste éviter de mélanger les commandes, et de virer ce dont j'étais pas sûr: curl -i -u "geek85:$GHTOKEN" -X POST -d '{"name":"Test","auto_init":true,"private":true}' https://api.github.com/user/repos 17/12/19 15:27:22 - [0] HTTP/1.1 201 Created Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.