Le GCU-Squad viens de publier un petit billet parfait pour bien commencer un vendredi :)
On y découvre l'existence d'une bibliothèque nommée libxo dont l'objectif est de générer du contenu sous différents formats (texte, XML, JSON, et HTML). Cette bibliothèque est distribuée sous licence Juniper. C'est une licence libre utilisée par Juniper qui si j'ai bien compris est une entreprise qui bosse dans la virtualisation (mais je peux être totalement à coté de la plaque).
Mais pourquoi je vous parle de ça ?
Tout simplement parce que cette bibliothèque fait rentrer le mal dans vos outils unix préféré. Non, pas de systemd. Ici il s’agit de demander aux outils (binutils) classiques de générer du XML, du JSON ou du HTML. À vous les :
% wc --libxo html,pretty,warn /etc/motd
<div class="line">
<div class="text"> </div>
<div class="data" data-tag="lines"> 25</div>
<div class="text"> </div>
<div class="data" data-tag="words"> 165</div>
<div class="text"> </div>
<div class="data" data-tag="characters"> 1140</div>
<div class="text"> </div>
<div class="data" data-tag="filename">/etc/motd</div>
</div>
Personnellement je trouve que c'est vraiment une bonne chose qui pourrais permettre d'utiliser facilement les sorties de ces outils hors du shell (on peut imaginer des scripts CGI qui deviennent triviaux par exemple).
Mais pour le moment c'est surtout FreeBSD qui bénéficie de se travail.
# Licence
Posté par Zenitram (site web personnel) . Évalué à 7. Dernière modification le 07 novembre 2014 à 10:56.
Non.
"Copyright (c) 2014, Juniper Networks"
Ca veut dire que le code appartient à Juniper.
Cette bibliothèque est distribuée sous une classique licence BSD-2 Clause.
PS : http://www.downforeveryoneorjustme.com/www.gcu-squad.org
"It's not just you! http://www.gcu-squad.org looks down from here."
[^] # Re: Licence
Posté par barmic . Évalué à 3.
C'est chiant les licences qui ne disent pas leur nom. J'ai parcouru la licence vite fait et je ne m'intéresse pas assez au sujet pour reconnaitre la licence qui va bien à son contenu.
chezmoiçamarche et chez moi downforeveryoneorjustme est d'accord avec moi.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Licence
Posté par Michaël (site web personnel) . Évalué à 2.
C'est la licence BSD sous laquelle est distribué FreeBSD. (BSD 2 clauses).
[^] # Re: Licence
Posté par barmic . Évalué à 4.
Je sais ce que je dis c'est que c'est dommage de devoir deviner à partir du texte que c'est une BSD 2 clause. Là où la licence GPL commence en indiquant son nom histoire de savoir rapidement de quoi on parle (et non ce n'est pas que les licences à rallonges qui font ça).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Licence
Posté par Michaël (site web personnel) . Évalué à 2.
Ah oui, pardon j'ai survolé le fil un peu trop rapidement. C'est vrai qu'afficher clairement le nom de la licence serait plus pratique!
[^] # Re: Licence
Posté par ulver . Évalué à 7. Dernière modification le 07 novembre 2014 à 14:18.
www.gcu-squad.org n'est pas down. Mais j'ai déjà entendu des gens s'en plaindre.
Je dirais que ça vient de :
Et que certains FAI n'ont pas compris que des adresses IP qui se terminent par .0, ce n'était pas forcément un réseau…
[^] # Re: Licence
Posté par navaati . Évalué à 4.
Bordel !
Je comprenais pas pourquoi le gcu squad ne marchait pas chez moi mais marchait partout ailleurs !
Conclusion, Orange sont vraiment des merdes.
(Disclaimer : j'ai pas choisi Orange, coloc, fibre, toussa)
[^] # Re: Licence
Posté par Marotte ⛧ . Évalué à 2.
C'est pas contraire aux RFC ?
[^] # Re: Licence
Posté par woffer 🐧 . Évalué à 0.
Nope, cela dépend du masque du réseau.
La règle est :
IP réseau & masque du réseau doit être égal à l'IP réseau
[^] # Re: Licence
Posté par tyoup . Évalué à 1.
Ya pas une exception pour les /31 ?
[^] # Re: Licence
Posté par Kerro . Évalué à 5.
Il n'est pas possible d'avoir la partie locale de l'adresse avec uniquement des 1 (ça c'est certain, c'est l'adresse de diffusion) ou des 0 (je ne suis pas 100% certain). Donc cela dépend du masque de sous-réseau.
194.213.125.0/23 est valide (la partie locale est 1 0000 0000 en binaire)
194.213.125.0/24 n'est pas une adresse d'hôte valide (la partie locale est 0000 0000 en binaire)
194.213.125.0/25 n'est pas valide (la partie locale est 000 0000 en binaire)
Dans tous les cas, une adresse qui se termine par un octet à zéro est forcément valide depuis/vers l'extérieur puisque le masque de sous-réseau n'a qu'une définition locale. En gros le PC de la famille Michu ne sait pas si le masque du sous-réseau sur lequel est le serveur de gcu-squad est de 24 bits ou pas. Et Orange non plus (sauf si c'est hébergé chez eux, mais dans ce cas ils fournissent l'adresse).
La seule exception à laquelle je pense est le cas ou le routeur entre la salle des machines et internet constate que l'adresse contient uniquement des 0 par rapport au masque qu'il connaît (et donc en interne, quel que soit la segmentation réseau, ce sera uniquement des 0 aussi).
[^] # Re: Licence
Posté par nanard . Évalué à 1.
Je veux pas trop m'aventurer mais il me semble que non.
Quoi qu'il en soit, une addresse qui ce termine par 255, n'est pas forcement une addresse de broadcast, de même que par zero ce n'est pas forcement une adresse rezo.
J'ai plus d'exemple en tête, suffie d'étudier l'adressage ipv4 pour l'apprendre.
Allez tous vous faire spéculer.
[^] # Re: Licence
Posté par claudex . Évalué à 3.
Soit 172.16.0.0/16, les adresses 172.16.0.255 et 172.16.1.0 sont valides.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Licence
Posté par fmaz fmaz . Évalué à 2.
Sauf erreur, pour le broadcast, tu gardes le réseau et tu complètes avec des 1 en binaire.
Donc si ton réseau est 123.123.123.0/25, l'adresse de broadcast est 123.123.123.127.
[^] # Re: Licence
Posté par ut0mt8 (site web personnel) . Évalué à 0.
En très résumé :
Partie réseau de l'adresse = @IP xor Mask
Adresse réseau du subnet = Partie réseau de l'adresse complété avec des 0
Adresse de broadcast du subnet = Partie réseau de l'adresse complété avec des 1
Le tout en binaire évidement.
(tips : ipcalc est votre ami)/
Pour en revenir a GCU, ils ont fait exprès de choisir une @IP valide en .0 pour faire "chier" les implémentations pourries dont certaines box de couleur orangé…
# Le Genièvre, c'est surtout dans le Gin.
Posté par Frank-N-Furter . Évalué à 10.
À moins qu’ils n’aient changé d’activité, non. C’est un fabricant d’équipement réseau (switchs, routeurs, etc). L’OS qui tourne dans le matos est basé sur FreeBSD.
Depending on the time of day, the French go either way.
[^] # Re: Le Genièvre, c'est surtout dans le Gin.
Posté par pifou . Évalué à 4.
Leur nouveau dada, c'est QFabric http://www.juniper.net/fr/fr/products-services/switching/qfabric-system/
L'idée pour simplifier c'est de créer un réseau virtuel comme on le fait pour les VM … après dans la vrai vie c'est pas encore ça.
[^] # Re: Le Genièvre, c'est surtout dans le Gin.
Posté par syntaxerror . Évalué à 1.
Sur certains matériels (QFX5100) le switch boute Linux et le FreeBSD tourne dans une VM sous KVM, afin de permettre des mises à jour sans interruption du trafic
http://forums.juniper.net/t5/Data-Center-Technologists/The-QFX5100-Takes-Virtualization-to-Heart/ba-p/230715
# Le libre se diffuse
Posté par ʭ ☯ . Évalué à 3. Dernière modification le 07 novembre 2014 à 11:17.
(pour l’instant uniquement df(1), w(1) et wc(1))
Mouais, 3 outils, wah! Ceci étant, je vois pas pourquoi les binutils améliorés ne finiront pas dans nos distributions?
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Le libre se diffuse
Posté par barmic . Évalué à 3. Dernière modification le 07 novembre 2014 à 11:25.
D'où le "pour le moment". Et oui c'est assez récent, il y a 3 outils mais rien empêche grep et autre d'en bénéficier sous peu.
(et merci pour la correction)
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Le libre se diffuse
Posté par Michaël (site web personnel) . Évalué à 3.
La plupart des distributions Linux utilisent certainement une version GNU des programmes classiques tels que
wc
alors que FreeBSD utilise souvent des implémentations spécifiques (à l'exception notoire degrep(1)
).[^] # Re: Le libre se diffuse
Posté par Thierry Thomas (site web personnel, Mastodon) . Évalué à 2.
Cf. BSD grep.
[^] # Re: Le libre se diffuse
Posté par Michaël (site web personnel) . Évalué à 2.
Sur ma machine (FreeBSD 10) la commande
bsdgrep
est certes disponible mais/usr/bin/grep
est toujours la version GNU.# Juniper
Posté par Spack . Évalué à 9.
Juniper est un concurrent de Cisco. Il fournissent du matériel et autres solutions réseau.
# binutils ?
Posté par gouttegd . Évalué à 6.
Je ne sais pas pour FreeBSD, mais sous GNU/Linux binutils fait référence aux outils qui permettent de manipuler les fichiers objets et les exécutables binaires (des programmes comme strip, as, readelf, ar, objdump, etc.). Les outils Unix « classiques » comme df, w ou wc n’en font pas partie.
[^] # Re: binutils ?
Posté par barmic . Évalué à 6.
En effet, je voulais dire coreutils.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: binutils ?
Posté par Bapt (site web personnel) . Évalué à 4.
On n'a pas les coreutils sous FreeBSD :) enfin pas dans base
# Titre
Posté par Anonyme . Évalué à 6.
Franchement, tu aurais pu parler de JSON à la place de XML, c’est quand même bien plus sexe :P
[^] # Re: Titre
Posté par barmic . Évalué à 8.
Si on était pas vendredi oui :)
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Titre
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 4.
Bien plus sexe ? Je ne veux pas d'exhibitionnisme sur mon ordinateur !
[^] # Re: Titre
Posté par Kerro . Évalué à 9.
L'exhibitionnisme n'existe que parce que les habits existent. C'est donc l'absence d'habit (au moins partielle) qui défini l'exhibitionnisme, pas le sexe.
[^] # Re: Titre
Posté par tyoup . Évalué à -3.
Si je comprends bien, si je porte un pantalon et que je sors ma zigounette, je ne suis pas un exhibitionniste vu que j'ai un pantalon ?
Bref, sinon quelqu'un peut nous expliquer pourquoi xml existe ? Ça, ça m'intéresserait…
[^] # Re: Titre
Posté par Michaël (site web personnel) . Évalué à 3.
Le XML n'est pas seulement un format permettant la sérialisation mais aussi — et surtout? — un format permettant la validation des documents. Il y a trois stratégies pour la sérialisation de données, qu'on peut comparer ainsi:
Un format comme SGML ou XML permet en outre de valider le document lu par un “validateur XML ou SGML” i.e. un composant logiciel standard, en principe bien testé.
Un format comme JSON ou les ProperyList n'offre pas de méthode de validation standard: soit on valide à la main, soit on utilise un outil générique mais ce dernier cas de figure revient à utiliser une forme bridée et non normalisée du SGML.
Un format comme les S-expressions, n'offre pas de méthode de validation et on ne peut pas vraiment imaginer éditer des S-expressions à la main.
[^] # Re: Titre
Posté par Pierre Carrier . Évalué à 2.
Quoi ??
[^] # Re: Titre
Posté par Michaël (site web personnel) . Évalué à 2.
Localiser et modifier la partie adéquate d'une S-expression dans un gros fichier est difficile sinon impossible. Pour continuer la comparaison, faire la même chose avec XML est plus facile car un document XML expose beaucoup plus de contexte que ne le fait une S-expression.
[^] # Re: Titre
Posté par Zylabon . Évalué à 2.
Plus de redondance ne fait pas plus de contexte… C'est même plus de bruit, les machines n'en font qu'une bouchée mais pour les humains c'est chiant.
Please do not feed the trolls
[^] # Re: Titre
Posté par Michaël (site web personnel) . Évalué à 2.
Un document XML peut être comparé à une DTD ce qui permet à des éditeurs spécialisés de donner une information du type “vous êtes en train d'éditer la propriété auteur du document bidule dans la bibliothèque xy et vous pouvez ajouter à cet endroit un élément homepage”. C'est le contexte dont je parle et ce type d'information n'est pas disponible pour les formats qui ne précisent pas la structure du document.
[^] # Re: Titre
Posté par tyoup . Évalué à 1.
Malheureusement, pas toujours… Le premier document avec lequel j'ai eu à travailler contenait des balises du type … Même si ça reste un fichier xml valide, il n'existe pourtant pas de DTD ou de Schema pour le valider.
[^] # Re: Titre
Posté par tyoup . Évalué à 1.
du type <c1/> <c2/> <c3/> …
[^] # Re: Titre
Posté par anaseto . Évalué à 2. Dernière modification le 11 novembre 2014 à 21:58.
Pour ce qui est de la redondance (qui n'a rien à voir avec le contexte dont parle Michaël), un possible avantage qui me vient c'est que, s'il y a une erreur de syntaxe, elle soit plus facilement localisable : avec des S-expressions, vu qu'on ferme toujours avec le même symbole, s'il manque une parenthèse fermante, on peut plus difficilement deviner quelle parenthèse on a oubliée de fermer.
[^] # Re: Titre
Posté par fearan . Évalué à 3.
je dirai explose beaucoup plus le mémoire ;) Je bosse en ce moment à réduire le gouffre qu'xml présente pour la deserialisation / serialisation (déjà passer de DOM à SAX est indispensable), travailler sur les flux en GZip aide pas mal, mais ça reste un volume de donnée assez conséquent et une grosse partie de la place est prise par les balises…
Bref de mon point de vue l'XML est un mauvais choix, il multiplie facilement le volume de donnée généré par 2, alors pour wc, ça va (quoique là c'est plus qu'un *2) ; puis ça va être ls, puis grep, puis…
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Titre
Posté par barmic . Évalué à 3.
Je ne comprends pas très bien, il y a des cas où xml pose des problèmes de volumes évident, mais pour l'utilisation mémoire lors d'un parsing en SAX, je ne comprends pas très bien. L'intérêt de SAX c'est de travailler sur un flux de données et plus sur un contexte donc tu travaille systématiquement sur un volume de données réduit (et tu va toujours dans le même sens). Enfin l'API de parsing SAX est sans état et te fourni uniquement des évènements (ouverture de balise, fermeture de balise, etc). C'est donc à ton parseur de prendre en charge l'état et pour ça il n'a pas besoin de garder les balises en mémoire (il stocke la structure du XML dans une structure de son langage).
Du coup je ne vois pas en quoi les balises peuvent avoir un impact en consommation mémoire lors d'un parsing SAX. Je présume que je passe à coté de quelque chose ?
Ce serait super si ça se rependait ! Ce qui est top c'est que tu as le choix (si tu ne sais pas que ça existe ça ne changera rien à ta vie) et que tu as plus que du XML tu as aussi du json et du HTML (comme dis dans la liste de diffusion "à quand du YAML ?").
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Titre
Posté par fearan . Évalué à 2.
ça ça passe très bien dans le cas d'appli simple; chez nous on a
(Client => requête serveur d'application => requête serveur métier => modèle de calcul => serveur métier => serveur d'application => client).
Le tout étant en réseau sur un cluster; le problème étant qu'avec les mécanisme qu'on a à notre disposition on a pas le flux modèle de calcul => client; donc fatalement on a, à un moment où à un autre, la totalité du flux en mémoire, même GZippé on se chope des truc > 720Mo, pour juste un processus de calcul, sachant qu'on a plusieurs utilisateurs sur le cluster.
Ajoutes à cela que les calculs n'étant pas instantanés, on a un système de cache coté serveur d'application.
Le problème est que quand ils ont pensé le truc ils ont mal anticipé l'augmentation du volume de données. Le passage à Sax fut indispensable car DOM nous pétait la ram, mais il est, pour le moment, inconcevable d'ouvrir les modèles de calculs directement aux client.
De plus certaines constructions nécessitent d'avoir la totalité des données XML pour être finalisée dans leur ensemble…
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Titre
Posté par Tonton Th (Mastodon) . Évalué à 5.
Pour contre-balancer le poids de la violence.
# Juniper
Posté par ut0mt8 (site web personnel) . Évalué à 2.
Juniper est une marque célèbre de routeur/switchs/firewalls (un des concurrents les plus crédibles à Cisco). C'est une société qui utilise et contribue à l'opensource.
Par exemple Junos, l'OS qui fait tourner la majorité de leur produit est basé sur FreeBSD.
Juniper a pas mal contribué en retour.
Cet outil est assez logique venant de juniper car tout la configuration/dialogue dans leurs OS se fait en XML (heureusement c'est masqué).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.