Le pire c'est qu'il a corrigé quelque temps après. Sans doute s'est-il dit .. hmm on dit "une valeur"... c'est féminin, donc un "e" au bout.. et bim boulette! Fallait pas corriger.
Hello 👋 Très bonne vidéo ! Je voulais juste ajouter que dans le cas précis d'un job dans GitLab CI dont tu prends l'exemple, il existe la propriété extends qui permet de faire hériter un job d'un autre et qui est un peu plus optimisée et flexible que les ancres YML (syntaxe
@@cocadmin Depuis la version 11.3 apparemment, "extends is a little more flexible because it uses reverse, recursive, deep merge strategy, unlike anchors". Tu peux même l'utiliser pour faire des templates de jobs entre différents fichiers avec le mot-clé include. :) Sources: docs.gitlab.com/ee/ci/yaml/#extends gitlab.com/gitlab-org/gitlab-foss/issues/51367
Mais ça reste un simple fichier texte :) YAML est le format (comment lire/écrire/comprendre/décoder) de ce fichier, et ça peut décrire aussi bien de la configuration que des actions (dans le cas des CI/CD) mais ce n'est pas un langage de programmation.
Hello. Tu devrais parler des répertoires groups_vars template etc qui sont là pour ça. La présentation est cool mais c'est rarement comme ça qu'on code les projets en ansible. Peut être une prochaine vidéo pour leur montrer les best pratices ? Merci pour la vidéo J'ai créée un projet qui automatise l'installation de AWX si besoin je peux partager
Langage (tout seul) prête tellement à confusion, surtout qu'en informatique on pense d'abord à « langage de programmation » … Ici, je préfère parler de « format (de balisage) » qui est la meilleure traduction de « markup language » ; car YAML / JSON / XML / INI / TOML / HCSV / etc, sont des formalismes de description. Petite précision : les chaînes de caractères devraient être entre double quotes (« " ») ou simple quotes (« ' ») ; et en leur absence le parseur devra faire la conversion… Ainsi, « key1: [foo, bar] » voit une liste JSON de mots (chaînes de caractères devinées), tandis que « key1: "[foo, bar]" » voit une chaîne avec des caractères spéciaux. De même, « key2: 077 » sera interprété comme l'entier « 77 » (on perd le zéro), alors que « key2: "077" » est interprété comme une chaîne telle quelle. Dans le même esprit, les mots clés peuvent être passés en chaîne simplement (cf. « "False" » et « "no" » normalement dans ces casses exactes) …raison pour laquelle je « quote » toujours au lieu d'attendre d'avoir des surprises (et de perdre du temps à les dénicher)
Yep, je pense que c'est un avantage que le yaml essayes de deviner le type pour un "language" destiné au humain. Après c'est sur faut savoir ce qu'on fait.
Top! Je bosse depuis pas mal de temps avec le YAML (AWS CF), je ne savais même pas qu'on pouvait faire des choses aussi simples. A ce sujet, est-ce qu'une vidéo sur les fonctions avancées YAML (notamment dans CloudFormation) serait réalisable ?
C’est le genre de vidéo que j’aimerais bien faire mais c’est peut-être un peu trop avancé pour l’instant. Mais sûrement si je referais une série sur le cloud ;)
Ce n'était pas claire dans les premières spécification et des parseurs les acceptent, pour peu que ce soit cohérent (comme le langage Python) La spécification v1 impose les espaces (comme PEP8 pour l'autre langage) et c'est tant mieux…
@@cocadmin oui je sais que si on écrit null il va comprendre ce que c'est mais si on veut garder sous forme de chaine de caractère et pas comme un type spécial (comme tu dis dans ta vidéo) comment on fait dans ce cas là ?
cocadmin kube, ansible, gitlab, je suis sure que je vais pouvoir enlever des boucles degeu jinja2 par des templates . Quoique ... bref ça me sera utile c sure
Première vidéo que j'écoute de ta chaîne et certainement pas la dernière! Merci!
Json et Yaml ne sont pas des langages (sous entendu de programmation). Ce sont juste des formats (syntaxe) de fichiers.
"valeure".... j'en ai encore mal aux yeux.
Le pire c'est qu'il a corrigé quelque temps après. Sans doute s'est-il dit .. hmm on dit "une valeur"... c'est féminin, donc un "e" au bout.. et bim boulette! Fallait pas corriger.
Hello 👋 Très bonne vidéo ! Je voulais juste ajouter que dans le cas précis d'un job dans GitLab CI dont tu prends l'exemple, il existe la propriété extends qui permet de faire hériter un job d'un autre et qui est un peu plus optimisée et flexible que les ancres YML (syntaxe
j'ai jamais essayé cette fonction ca a été ajouté récemment ?
@@cocadmin Depuis la version 11.3 apparemment, "extends is a little more flexible because it uses reverse, recursive, deep merge strategy, unlike anchors".
Tu peux même l'utiliser pour faire des templates de jobs entre différents fichiers avec le mot-clé include. :)
Sources: docs.gitlab.com/ee/ci/yaml/#extends
gitlab.com/gitlab-org/gitlab-foss/issues/51367
Tes vidéos sont vraiment excellentes, merci :)
Je ne regarderais plus jamais le YAML comme un simple fichier texte de config, merci !
Mais ça reste un simple fichier texte :) YAML est le format (comment lire/écrire/comprendre/décoder) de ce fichier, et ça peut décrire aussi bien de la configuration que des actions (dans le cas des CI/CD) mais ce n'est pas un langage de programmation.
Hello.
Tu devrais parler des répertoires groups_vars template etc qui sont là pour ça.
La présentation est cool mais c'est rarement comme ça qu'on code les projets en ansible.
Peut être une prochaine vidéo pour leur montrer les best pratices ?
Merci pour la vidéo
J'ai créée un projet qui automatise l'installation de AWX si besoin je peux partager
Salut Rab Boubou!
Je parle des fonctions yaml en general, pas juste pour ansible ;)
@@cocadmin Très bien autant pour moi dans ce cas
Eh bien, .. bien plus clair que la doc officielle du yaml
underrated
Langage (tout seul) prête tellement à confusion, surtout qu'en informatique on pense d'abord à « langage de programmation » …
Ici, je préfère parler de « format (de balisage) » qui est la meilleure traduction de « markup language » ; car YAML / JSON / XML / INI / TOML / HCSV / etc, sont des formalismes de description.
Petite précision : les chaînes de caractères devraient être entre double quotes (« " ») ou simple quotes (« ' ») ; et en leur absence le parseur devra faire la conversion…
Ainsi, « key1: [foo, bar] » voit une liste JSON de mots (chaînes de caractères devinées), tandis que « key1: "[foo, bar]" » voit une chaîne avec des caractères spéciaux.
De même, « key2: 077 » sera interprété comme l'entier « 77 » (on perd le zéro), alors que « key2: "077" » est interprété comme une chaîne telle quelle.
Dans le même esprit, les mots clés peuvent être passés en chaîne simplement (cf. « "False" » et « "no" » normalement dans ces casses exactes)
…raison pour laquelle je « quote » toujours au lieu d'attendre d'avoir des surprises (et de perdre du temps à les dénicher)
Yep, je pense que c'est un avantage que le yaml essayes de deviner le type pour un "language" destiné au humain.
Après c'est sur faut savoir ce qu'on fait.
Bonjour merci pour la vidéo.
C'est quoi votre éditeur de texte qui permets de traduire du yaml en json ?
Merci
Regarde yaml to json sur Google. Il y en a plein :)
@@cocadmin merci je vais regarder
Top! Je bosse depuis pas mal de temps avec le YAML (AWS CF), je ne savais même pas qu'on pouvait faire des choses aussi simples.
A ce sujet, est-ce qu'une vidéo sur les fonctions avancées YAML (notamment dans CloudFormation) serait réalisable ?
C’est le genre de vidéo que j’aimerais bien faire mais c’est peut-être un peu trop avancé pour l’instant.
Mais sûrement si je referais une série sur le cloud ;)
Vraiment nice vidéo ! A savoir que les tabs ne sont pas autorisés par YAML, pensez à utiliser des espaces pour vos indentations ;).
J'ai compris cela en lançant mes playbook Ansible avec l'option --syntax-check :)
Ce n'était pas claire dans les premières spécification et des parseurs les acceptent, pour peu que ce soit cohérent (comme le langage Python)
La spécification v1 impose les espaces (comme PEP8 pour l'autre langage) et c'est tant mieux…
Ça explique pourquoi ça marchait pas ! Bon bah merci j'y retourne.
elles sont cool t'es vidéos 👍
Parfaite explication pour moi qui ne connaissais pas le Yaml il y a 15min !
On met des e à valeur au Québec ?
Bonjour, très intéressant les templates !
petite question : peut-on utiliser un template sans pour autant "exporter" la valeur du template elle même ?
Oui
@@darksidersss5023 cool !!!!
comment on fait ??
Et du coup comment on fait un string contenant la valeur null sans qu'il interprète la valeur ?
toutes ces valeurs marchent :
null | Null | NULL | ~
@@cocadmin oui je sais que si on écrit null il va comprendre ce que c'est mais si on veut garder sous forme de chaine de caractère et pas comme un type spécial (comme tu dis dans ta vidéo) comment on fait dans ce cas là ?
@@watchingwolf8092 ah, il faut juste mettre des guillemets:
"Null"
@@cocadmin ah ok
wah c'est beau, on dirait du php dans un json simplifié à la python
Whoua! Je viens d'apprendre les templates !!!! Ça va grave me servir !!! Merci
Tu t’utilises yaml avec quel outils ?
@@cocadmin un tournevis
Bricolage as code
cocadmin kube, ansible, gitlab, je suis sure que je vais pouvoir enlever des boucles degeu jinja2 par des templates . Quoique ... bref ça me sera utile c sure
Perso c’est dans gitlab que je trouve que ça sert le plus ;)
fr.wikipedia.org/wiki/Esperluette
Oui.
Hello, très bonne vidéo
Abon DevOps c'est pas un métier 😅
super video
Valeure