Perso, j'utilise encore un vieux Athlon XP2600+ avec 1,5 de RAM sous FreeBSD 9.
Alors certes, ce n'est plus, loin s'en faut, une bête de course mais elle rend encore quelques services à pas cher.
D'autre part, j'administre un "serveur" qui tourne avec un Core2 à 2.5GHz avec 2Go de RAM sous FreeBSD 10 dont le seule but est de fournir une application partagée et un espace de stockage.
Pour la petite note technique, ce serveur fait tourner 3 disques de 500Go en RAIDZ ce qui m'a largement sauvé la vie dernièrement, un des disques ayant rendu l'âme après 3 ans de bons et loyaux services ;)
Enfin, la passerelle permettant à ce serveur, ainsi qu'à la totalité de la MJC, d'accéder à Internet se fait grâce à un bon vieux P4 à 3GHz avec 2Go de RAM et un PfSense tout juste remis à jour.
Et franchement, quand je vois l'utilisation globale des machines, je me dis que j'ai encore largement de la marge :D
Pour la difficulté et la durée d'apprentissage, deux chiffres : le Kernighan et Ritchie fait 280 pages, le John Barnes ("Programming in Ada 2012", pub gratuite) en fait lui … 949 !
Effectivement, j'ajouterai aussi que la norme pèse 951 pages à comparer avec les 1368 pages de la norme C++14… Comme quoi, tout est relatif.
Il pourrait l'être encore plus tellement j'ai laissé de côté certaines fonctionnalités pour me concentrer sur celles différenciant du C en termes de vérifications.
Comme dit dans ce commentaire, j'aurais pu parler:
- des différents types de nombres réels (point fixe, point flottant) qui bénéficient eux aussi des contraintes de types range mais aussi des contraintes de précision
- des paquetages qui représente un niveau d'encapsulation que l'on peut rapprocher des namespaces C++
- de la généricité (generics Java ou templates C++)
- des pointeurs que l'on utilise au final assez peu comparé au C
- de l'orientation objet
- des contrats apprus avec le version 2012 de la norme
…
Ce n'est pas un langage qui peut s'apprendre en peu de temps mais il y a tellement de choses que l'on peut très bien commencer à programmer sans tout connaître.
mahikeulbody met la barre vachement haut en disant qu'on pourrait résumer en quelques mots :)
Les grands concepts d'Ada sont:
- Le typage fort
- La concurrence
- la programmation bas niveau en restant haut niveau
Voilà pour les gros points. Ceux-ci se déclinent ensuite en différentes techniques.
Le typage fort
Ada permet la définition de type très contraint.
On peut par exemple définir des types comme
Qui définit donc deux types entiers avec des bornes différentes.
Les deux types, même s'ils sont des entiers ayant des plages de recouvrement, sont incompatibles et on ne peut pas, par exemple, assigner à une variable du type degres_kelvin une variable de type degres_celsius sans faire une conversion
degre_c:degre_celsius:=14;-- Température de circonstancedegre_k:degre_kelvin:=degre_c;-- Impossible même si la valeur est acceptabledegre_k2:degre_kelvn:=-12;-- le compilateur envoie juste un warning disant que cela va lancer une exception à l'exécution
Ceci n'est qu'un petit exemple du système de type. Pour beaucoup plus d'infos (il est trop tard :)), voir le wikibook.
La concurrence
Les tâches, threads en Java ou C (via les pthread Linux), font partie intégrante du langage depuis 1983.
Le langage définit donc la notion de multiprocessus depuis le début ainsi que les communications inter-process.
Ces dernières se font au travers des points de rendez-vous avec ou sans condition et des objets protégés.
C'est une partie complexe du langage mais qui, comme elle est normalisée, permet de faire de la programmation concurrente sans se soucier de la plateforme.
Soyons clair, là encore, j'abrège à mort :D
la programmation bas niveau en restant haut niveau
Là, il s'agit d'un des domaines où Ada excelle. En effet, on utilise surtout Ada dans l'embarqué… Normal, on ne peut pas y changer le code tous les quatre matins alors on veut un truc qui tienne la route.
Ada permet d'exprimer ce que l'on appelle les clauses de représentation.
Celles-ci définissent comment une structure doit être représentée en mémoire.
Par exemple:
Là, j'avoue, je ne me suis pas foulé, c'est dans la norme ;)
L'idée est de dire ce que l'on veut représenter, ici un medium mais aussi la taille allouée en mémoire (et le compilateur dira si cela peut se faire) et l'alignement en mémoire.
Ensuite, on peut même définir l'emplacement en mémoire.
Au passage, on se rend compte qu'il n'est pas besoin de faire appel aux pointeurs pour ce genre d'exercice.
Ceux-ci sont réservés à ce pour quoi ils ont été conçus, à savoir l'allocation dynamique.
Il se trouve que dans l'embarqué, on n'aime pas trop les allocations dynamiques de mémoire puisque le temps d'allocation n'est pas déterministe et le risque d'allocation par manque de RAM qui échoue existe (ce qui pourrait planter le programme).
Conclusion
C'est un résumé beaucoup trop rapide à mon goût mais :
1. il est beaucoup trop tard
2. le langage est très complet avec des concepts réellement orthogonaux (il n'y a que peu d’ambiguïtés voire pas du tout) et il est difficile de tout aborder dans un seul commentaire
3. le langage est complexe (mais comme dirait certains auteurs sur le sujet : c'est un langage complexe pour un monde complexe)
Ce qu'il faut vraiment savoir, c'est que faire compiler un programme Ada est, au début, une vraie gageure tellement le compilateur peut apparaître fasciste mais rien n'est implicite.
Contrairement au C, on estime que le programmeur fait des erreurs et que le compilateur n'en fait pas (au moins dans ce qu'il sait faire).
Au début, on se dit que c'est vraiment trop compliqué, trop verbeux et qu'on se bat contre le compilateur. Après un peu de temps, on utilise le compilateur pour ce qu'il est, un outil permettant de vérifier notre code et générer un binaire qui marche (ok, ça, c'est l'utopie) et la verbosité, c'est finalement un atout quand on doit relire son code six mois plus tard.
Voilà, je pourrais en écrire des tonnes mais je ne peux que te conseille d'essayer, en t'appuyant sur le wikibook, le manuel de référence que tout compilateur doit suivre et les deux newsgroup, le français et l'anglais où l'on ne trouve que des gens sympathiques :)
en ADA le type natural est-il lui aussi cyclique ou, sinon, que se passe-t-il lorsque l'on arrive aux bornes ?
En Ada, il n'y a que les types définis comme modulaires qui le sont. Natural n'en fait pas partie.
subtypeNaturalisIntegerrange0..Integer'Last;
Il s'agit d'un sous-type du type entier et comme lui, un dépassement de capacité provoque une exception.
Le programme suivant est accepté par le compilateur moyennant un avertissement.
gnatmake nat.adb
gcc-4.9 -c nat.adb
nat.adb:7:15: warning: value not in range of type "Standard.Integer"
nat.adb:7:15: warning: "Constraint_Error" will be raised at run time
gnatbind -x nat.ali
gnatlink nat.ali
A l'exécution, il arrive ce que le compilateur avait dit
L'élève ingénieur pourra réutiliser cette competence pour automatiser ces taches d'ingénieurs, et ne pas se reposer seulement sur ces collègues programmeurs.
Heu, dans mon ancien boulot, les ingénieurs non informaticiens, c'était plutôt macros Excel mais pas franchement Python.
Et puis franchement, de mon côté, c'est pas mes cours de chimie de première année de prépa qui me permettrait de faire quoique ce soit. En clair, c'est juste pour la culture, un peu comme apprendre l'algorithmie avec Pascal.
sinon, dans cette exemple, tu as écrit un décalage à gauche au lieu d'un décalage à droite (j'imagine que tu t'es laissé embarquer par l'opérateur du cout)
Whaa ! L'andouille !! J'avais pas vu ça :)
Tu as raison, j'ai dû me laisser embarquer par << ce qui ne serait pas arrivé si j'avais fait du C ;)
Autrement dit, spécifier un nombre supérieur à 63 ne comportant pas d'autres bits à un que les deux derniers revient à préciser un décalage de zéro, ce qui correspond bien à ce que l'on obtient pour 64, mais aussi 128 et 192. ;)
Je suis bien d'accord avec le fait qu'en assembleur, il est normal d'avoir un type modulaire pour cela mais bon, là, on parle de langage de haut niveau :D
C'est bien pour cela que je parle de "problème" entre guillemets ;)
En revanche la courbe d'apprentissage est plutôt rude … dommage
Il faut y aller petit à petit et ne pas chercher à manipuler le langage dans son ensemble d'un seul coup.
Personnellement, il y a encore un tétra chiée de trucs dans la norme que je n'ai pas encore utilisés ;)
Ce que je voulais dire c'est que comme rien n'est implicite, il faut écrire la fonction pour l'autre addition et ainsi assurer la commutativité de l'addition, ce qui n'a rien d'obligatoire…
C'est sûr que si tu écris une fonction permettant explicitement et seulement d'additionner des Int et des String, le programme va pouvoir additionner des Int et des String, encore heureux.
Certes mais je préfère dire ce que je veux faire que d'avoir un comportement inféré qui n'est pas forcément vrai… Bien qu'à partir du moment où on écrit '+', il semble, par convention, obligatoire que l'opération soit commutative.
Globalement, c'est vrai mais ça ne corrige pas les erreurs d'algo qui déclenchent des exceptions ;)
Ceci dit, il y a aussi des cas où ça peut se planter alors que ça compilait très bien.
Typiquement, je pense à l'utilisation des bindings.
La majeure partie du temps, ce sont des bibliothèques C/C++ qui sont liées et du coup, elles introduisent l'utilisation de pointeurs venant directement du code C et là, c'est le drame ;)
Ada n'est pas la panacée mais c'est vrai qu'une fois que j'ai corrigé toutes les erreurs de compilation, je suis déjà plus sûr de mon coup :D
J'étais intéressé par docbook aussi mais les 3/4 des documentations sur lequelles je tombe au moins 10 ans :/
Certes mais elles sont toujours d'actualité puisque le fonctionnement global n'a pas changé.
On utilise toujours les mêmes technologies qui fonctionnent bien depuis plus de dix ans.
Ce n'est donc pas vraiment un problème.
Du coup, je me suis amusé à chercher rapidement un système pour stocker les fichiers DocBook et finalement avec Lux qui est sur une base SolR/Lucene, il y a moyen de faire des requêtes XQuery sur un corpus documentaire.
# Juste pour dire
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Et si l'open hardware démocratisait l'usage d'ordinateurs recertifiés (v2). Évalué à 10.
Perso, j'utilise encore un vieux Athlon XP2600+ avec 1,5 de RAM sous FreeBSD 9.
Alors certes, ce n'est plus, loin s'en faut, une bête de course mais elle rend encore quelques services à pas cher.
D'autre part, j'administre un "serveur" qui tourne avec un Core2 à 2.5GHz avec 2Go de RAM sous FreeBSD 10 dont le seule but est de fournir une application partagée et un espace de stockage.
Pour la petite note technique, ce serveur fait tourner 3 disques de 500Go en RAIDZ ce qui m'a largement sauvé la vie dernièrement, un des disques ayant rendu l'âme après 3 ans de bons et loyaux services ;)
Enfin, la passerelle permettant à ce serveur, ainsi qu'à la totalité de la MJC, d'accéder à Internet se fait grâce à un bon vieux P4 à 3GHz avec 2Go de RAM et un PfSense tout juste remis à jour.
Et franchement, quand je vois l'utilisation globale des machines, je me dis que j'ai encore largement de la marge :D
[^] # Re: Ada et sécurité
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Make with Ada deuxième édition. Évalué à 3.
Effectivement, j'ajouterai aussi que la norme pèse 951 pages à comparer avec les 1368 pages de la norme C++14… Comme quoi, tout est relatif.
[^] # Re: Ada et sécurité
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Make with Ada deuxième édition. Évalué à 3.
Il pourrait l'être encore plus tellement j'ai laissé de côté certaines fonctionnalités pour me concentrer sur celles différenciant du C en termes de vérifications.
Comme dit dans ce commentaire, j'aurais pu parler:
- des différents types de nombres réels (point fixe, point flottant) qui bénéficient eux aussi des contraintes de types range mais aussi des contraintes de précision
- des paquetages qui représente un niveau d'encapsulation que l'on peut rapprocher des namespaces C++
- de la généricité (generics Java ou templates C++)
- des pointeurs que l'on utilise au final assez peu comparé au C
- de l'orientation objet
- des contrats apprus avec le version 2012 de la norme
…
Ce n'est pas un langage qui peut s'apprendre en peu de temps mais il y a tellement de choses que l'on peut très bien commencer à programmer sans tout connaître.
[^] # Re: Ada et sécurité
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Make with Ada deuxième édition. Évalué à 10.
mahikeulbody met la barre vachement haut en disant qu'on pourrait résumer en quelques mots :)
Les grands concepts d'Ada sont:
- Le typage fort
- La concurrence
- la programmation bas niveau en restant haut niveau
Voilà pour les gros points. Ceux-ci se déclinent ensuite en différentes techniques.
Le typage fort
Ada permet la définition de type très contraint.
On peut par exemple définir des types comme
Qui définit donc deux types entiers avec des bornes différentes.
Les deux types, même s'ils sont des entiers ayant des plages de recouvrement, sont incompatibles et on ne peut pas, par exemple, assigner à une variable du type degres_kelvin une variable de type degres_celsius sans faire une conversion
Ceci n'est qu'un petit exemple du système de type. Pour beaucoup plus d'infos (il est trop tard :)), voir le wikibook.
La concurrence
Les tâches, threads en Java ou C (via les pthread Linux), font partie intégrante du langage depuis 1983.
Le langage définit donc la notion de multiprocessus depuis le début ainsi que les communications inter-process.
Ces dernières se font au travers des points de rendez-vous avec ou sans condition et des objets protégés.
C'est une partie complexe du langage mais qui, comme elle est normalisée, permet de faire de la programmation concurrente sans se soucier de la plateforme.
Soyons clair, là encore, j'abrège à mort :D
la programmation bas niveau en restant haut niveau
Là, il s'agit d'un des domaines où Ada excelle. En effet, on utilise surtout Ada dans l'embarqué… Normal, on ne peut pas y changer le code tous les quatre matins alors on veut un truc qui tienne la route.
Ada permet d'exprimer ce que l'on appelle les clauses de représentation.
Celles-ci définissent comment une structure doit être représentée en mémoire.
Par exemple:
Là, j'avoue, je ne me suis pas foulé, c'est dans la norme ;)
L'idée est de dire ce que l'on veut représenter, ici un medium mais aussi la taille allouée en mémoire (et le compilateur dira si cela peut se faire) et l'alignement en mémoire.
Ensuite, on peut même définir l'emplacement en mémoire.
Au passage, on se rend compte qu'il n'est pas besoin de faire appel aux pointeurs pour ce genre d'exercice.
Ceux-ci sont réservés à ce pour quoi ils ont été conçus, à savoir l'allocation dynamique.
Il se trouve que dans l'embarqué, on n'aime pas trop les allocations dynamiques de mémoire puisque le temps d'allocation n'est pas déterministe et le risque d'allocation par manque de RAM qui échoue existe (ce qui pourrait planter le programme).
Conclusion
C'est un résumé beaucoup trop rapide à mon goût mais :
1. il est beaucoup trop tard
2. le langage est très complet avec des concepts réellement orthogonaux (il n'y a que peu d’ambiguïtés voire pas du tout) et il est difficile de tout aborder dans un seul commentaire
3. le langage est complexe (mais comme dirait certains auteurs sur le sujet : c'est un langage complexe pour un monde complexe)
Ce qu'il faut vraiment savoir, c'est que faire compiler un programme Ada est, au début, une vraie gageure tellement le compilateur peut apparaître fasciste mais rien n'est implicite.
Contrairement au C, on estime que le programmeur fait des erreurs et que le compilateur n'en fait pas (au moins dans ce qu'il sait faire).
Au début, on se dit que c'est vraiment trop compliqué, trop verbeux et qu'on se bat contre le compilateur. Après un peu de temps, on utilise le compilateur pour ce qu'il est, un outil permettant de vérifier notre code et générer un binaire qui marche (ok, ça, c'est l'utopie) et la verbosité, c'est finalement un atout quand on doit relire son code six mois plus tard.
Voilà, je pourrais en écrire des tonnes mais je ne peux que te conseille d'essayer, en t'appuyant sur le wikibook, le manuel de référence que tout compilateur doit suivre et les deux newsgroup, le français et l'anglais où l'on ne trouve que des gens sympathiques :)
Je reste dans les parages pour les questions :D
# Le gagnant de 2016
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Make with Ada deuxième édition. Évalué à 3.
Je n'ai pas pensé lors de la création de la dépêche à mettre un lien vers la vidéo montrant la réalisation du gagnant.
C'est chose faite.
Au passage, j'en profite pour mettre les logs des projets gagnants qui vous donneront accès au code, entre autres :
- Etherscope
- Framework to develop control software for the NXP cup race car
- Bluetooth Beacons
Et pour les prix spéciaux:
- IoT Networking Stack for the NXP FRDM-K64F board
- LVC-EMR-1, an explorer and mapper robot
Ouf, voilà
Finalement, ce serait peut-être bien de les mettre dans la dépêche, histoire que ce soit plus "vendeur" :D
[^] # Re: Un utilisateur OCaml sous PowerPC
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 3.
Alors je peux pas te dire pour PowerPC mais pour ARM, ça, je peux.
Le programme suivant compilé pour une carte NUCLEO-F411RE équipée d'un microprocesseur STM32 à partir du site de développement MBED
retourne… 0 mais envoie un avertissement
Donc pour ARM, pas de "problème" :)Warning: Shift count is too large in "main.cpp", Line: 8, Col: 29
[^] # Re: Du haut niveau pour gérer correctement du bas niveau
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 3.
En Ada, il n'y a que les types définis comme modulaires qui le sont. Natural n'en fait pas partie.
Il s'agit d'un sous-type du type entier et comme lui, un dépassement de capacité provoque une exception.
Le programme suivant est accepté par le compilateur moyennant un avertissement.
A l'exécution, il arrive ce que le compilateur avait dit
Voilà, le principe du moindre étonnement dans toute sa splendeur :)
[^] # Re: petit complément
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 2.
Heu, dans mon ancien boulot, les ingénieurs non informaticiens, c'était plutôt macros Excel mais pas franchement Python.
Et puis franchement, de mon côté, c'est pas mes cours de chimie de première année de prépa qui me permettrait de faire quoique ce soit. En clair, c'est juste pour la culture, un peu comme apprendre l'algorithmie avec Pascal.
[^] # Re: léger HS: coquille sur C++ (et C++!=C)
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 1.
Whaa ! L'andouille !! J'avais pas vu ça :)
Tu as raison, j'ai dû me laisser embarquer par << ce qui ne serait pas arrivé si j'avais fait du C ;)
[^] # Re: La réponse est dans la doc
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 1.
Je suis bien d'accord avec le fait qu'en assembleur, il est normal d'avoir un type modulaire pour cela mais bon, là, on parle de langage de haut niveau :D
C'est bien pour cela que je parle de "problème" entre guillemets ;)
[^] # Re: Quelques autres
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 2.
Je me doutais un peu de ça quand j'ai regardé les specs de shr
Voilà qui est sauvage !!
[^] # Re: Primitive en C pour OCaml
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 2.
Effectivement, tout s'explique.
Je suppose que les fonctions asr et lsr sont du même acabit puisque
Merci bien pour l'explication, je me doutais que je te verrai dans les parages avec mon exemple Ocaml :)
# Coquille
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 2.
J'ai oublié un mot !!
Pfff, on a beau se relire trois fois quand le cerveau veut pas voir, y a rien à faire :D
[^] # Re: petit complément
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 4.
Certes mais on retombe sur le même problème en décalant de 64 bits :)
En tout cas, merci pour les précisions sur les types
[^] # Re: Le but ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un print(1 + "3a"), ça nous inspire comment ?. Évalué à 1.
Il faut y aller petit à petit et ne pas chercher à manipuler le langage dans son ensemble d'un seul coup.
Personnellement, il y a encore un tétra chiée de trucs dans la norme que je n'ai pas encore utilisés ;)
[^] # Re: Le but ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un print(1 + "3a"), ça nous inspire comment ?. Évalué à 2.
Ce que je voulais dire c'est que comme rien n'est implicite, il faut écrire la fonction pour l'autre addition et ainsi assurer la commutativité de l'addition, ce qui n'a rien d'obligatoire…
La version exhaustive serait, du coup, celle-là
Certes mais je préfère dire ce que je veux faire que d'avoir un comportement inféré qui n'est pas forcément vrai… Bien qu'à partir du moment où on écrit '+', il semble, par convention, obligatoire que l'opération soit commutative.
[^] # Re: Le but ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un print(1 + "3a"), ça nous inspire comment ?. Évalué à 2. Dernière modification le 04 avril 2017 à 12:10.
Globalement, c'est vrai mais ça ne corrige pas les erreurs d'algo qui déclenchent des exceptions ;)
Ceci dit, il y a aussi des cas où ça peut se planter alors que ça compilait très bien.
Typiquement, je pense à l'utilisation des bindings.
La majeure partie du temps, ce sont des bibliothèques C/C++ qui sont liées et du coup, elles introduisent l'utilisation de pointeurs venant directement du code C et là, c'est le drame ;)
Ada n'est pas la panacée mais c'est vrai qu'une fois que j'ai corrigé toutes les erreurs de compilation, je suis déjà plus sûr de mon coup :D
Enfin, cela ne représente que mon avis…
[^] # Re: Le but ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un print(1 + "3a"), ça nous inspire comment ?. Évalué à 3.
En même temps, tu fais pas d'effort ;)
Il faut juste lui dire comment faire :)
Par contre, c'est pas commutatif, il faudrait aussi écrire ce que l'on fait dans l'autre sens.
[^] # Re: Mixed_Case_With_Underscores
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal CamelCase ou lowercase_with_underscore. Évalué à 2.
De plus, le compilateur peut aussi vérifier que le style est correct (cf. les options de compilation).
[^] # Re: Mixed_Case_With_Underscores
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal CamelCase ou lowercase_with_underscore. Évalué à 3.
D'ailleurs, c'est expliqué et justifié là
[^] # Re: nostalgie à 5 lignes
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un journal _bookmark_. Évalué à 1.
Ouais, ça balançait dur à l'époque :D
[^] # Re: nostalgie à 5 lignes
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un journal _bookmark_. Évalué à 1. Dernière modification le 13 mars 2017 à 14:24.
Ça nous rajeunit pas… Même si j'étais pas encore sur DLFP :)
Quelques mois plus tard, je me fendais d'une news de 7 lignes !!!!
[^] # Re: Pertinence de Ceph ou Gluster
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Installation de Ceph Jewel sous Debian Jessie. Évalué à 1.
Ils auraient au moins pu mettre du CodaFS, histoire de pouvoir répartir un peu la charge.
[^] # Re: DocBook n'est plus très populaire
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal DocBook ou l'art d'écrire de la documentation. Évalué à 1.
Certes mais elles sont toujours d'actualité puisque le fonctionnement global n'a pas changé.
On utilise toujours les mêmes technologies qui fonctionnent bien depuis plus de dix ans.
Ce n'est donc pas vraiment un problème.
[^] # Re: Sphinx
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal DocBook ou l'art d'écrire de la documentation. Évalué à 3.
Du coup, je me suis amusé à chercher rapidement un système pour stocker les fichiers DocBook et finalement avec Lux qui est sur une base SolR/Lucene, il y a moyen de faire des requêtes XQuery sur un corpus documentaire.
Intéressant tout ça ;)