Bonjour,
Hudson est un serveur d'intégration continue sous licence MIT/CC:BY-SA et écrit en java. Pour éviter les buzzwords, on va dire que c'est un ordonnanceur qui permet de lancer automatiquement des compilations/tests. Il permet aussi aux chefs de savoir si nous pauvres développeurs avons bien travaillé en regardant des icônes de soleils/nuages plutôt qu'en lisant les logs de gcc.
http://www.hudson-ci.org/
Il s'avère que Oracle, suite au rachat de Sun est maintenant propriétaire de la marque Hudson. Bien qu'aucune menace ne semble avoir été proféré, les leaders du projets sont inquiets des pressions que pourrait faire Oracle (chantage au droits d'utilisation du nom).
De ce fait ils envisagent très sérieusement de changer le nom pour : Jenkins.
Je vous laisse lire les détails sur le blog officiel :
http://www.hudson-labs.org/content/hudsons-future
# Bravo!
Posté par JoeltheLion (site web personnel) . Évalué à 10.
Hudson est un serveur d'intégration continue sous licence MIT/CC:BY-SA et écrit en java. Pour éviter les buzzwords, on va dire que c'est un ordonnanceur qui permet de lancer automatiquement des compilations/tests. Il permet aussi aux chefs de savoir si nous pauvres développeurs avons bien travaillé en regardant des icônes de soleils/nuages plutôt qu'en lisant les logs de gcc.
On voit rarement une explication aussi claire d'un truc java, félicitations! Tu veux pas nous expliquer Hibernate, Spring, JBoss, EJB, et les autres pendant que tu y es?
[^] # Re: Bravo!
Posté par jjl (site web personnel) . Évalué à 5.
Plus sérieusement, si j'ai utilisé des mots simples, c'est sans doute que je suis étranger au monde java. Mon job, c'est plutôt du C bas niveau en compilation croisée. Chez nous Hudson sert à lancer des scripts shell qui font le boulot.
Du coup JBoss, EJB et autres J2EE sont très mystérieux pour moi. Mais on peut parler de MAC, de PHY, de switch et de registres si tu veux ;)
[^] # Re: Bravo!
Posté par Johann Ollivier-Lapeyre (site web personnel) . Évalué à 3.
Hibernate:
wikipedia: "Hibernate apporte une solution aux problèmes d'adaptation entre le paradigme objet et les SGBD en remplaçant les accès à la base de données par des appels à des méthodes objet de haut niveau."
En gros, tu fais:
monUser.setNom("Penso");
monUser.setPrenom("Fabien");
monUser.setInscriptionDate(new Date());
monUser.save();
Et tout le coté SQL sera géré automatiquement, quelque soit la base(Oracle, Mysql, ...).
Equivalent en Python: SQLAlchemy. Pour les autres language, je ne connais pas trop
Spring (cool!) et son concurrent EJB (bcp moins cool)
ca regroupe tellement de chose que j'aurai du mal a le faire en simple. A part sous le simple nom "framework"
Par exemple, disons que si tu fais tes objets metiers, et a cote des services, Spring va se charger de faire la glue, entre les deux. Et va s'occuper du cycle de vie de tes objets (instanciation, destruction...). Etant basé sur l'injection de dépendance, tu auras moins de code a écrire, il sera + propre, + facilement modifiable en évitant le coté spaguetti.
Et cadeau bonus pour la route
Maven
Si apt(-get) et configure+make avait eu une fille version Java, ça serait Maven:
1) Le(s) serveur(s) maven vont stocker toute les bibliotheques possibles (comme un dépot Debian ou Redhat), en chaque version (mieux que Debian et Redhat)
2) Le script de build va se contenter de décrire ce que tu a besoin en terme de lib, et comment du veux builder.
Au moment du build, tout va se telecharger tout seul et se builder tout seul.
[^] # Re: Bravo!
Posté par Sufflope (site web personnel) . Évalué à 9.
[...]
Au moment du build, tout va se telecharger tout seul
Et quand on dit tout, c'est tout. Notamment tout le ternet, mais pas que.
[^] # Re: Bravo!
Posté par pasScott pasForstall . Évalué à 1.
Plus les sources, tu vas bien debugger a un moment, non?
If you can find a host for me that has a friendly parrot, I will be very very glad. If you can find someone who has a friendly parrot I can visit with, that will be nice too.
[^] # Re: Bravo!
Posté par barmic . Évalué à 2.
La différence entre les deux c'est que l'un implémente toute la norme JEE et l'autre uniquement une partie (plus orienté web).
Hibernate, moi j'aurais dis en 3 lettres ORM. Ca se trouve dans pleins de langages.
Spring/EJB/OSGi, ce sont des framework qui permettent de développer des architectures à composants. Les composants sont comme des objets sauf qu'ils ont un cycle de vie particulier (qui change en fonction du type de composant).
Maven, c'est comme make ou c'est make mais avec la gestion des dépendances. Il a une approche différente aussi (on décris le projet, on ne script pas vraiment).
JEE (puisque j'en ai parlé plus haut), ensemble de standard Java (JSR) orienté vers la fourniture de services et le réseau (manière de faire du web, différents types de composants, etc. De plus il inclus tout les standards Java "classique" JSE que l'on apprends au début (swing, awt, etc).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par Johann Ollivier-Lapeyre (site web personnel) . Évalué à 2.
[^] # Re: Bravo!
Posté par barmic . Évalué à 3.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par JoeltheLion (site web personnel) . Évalué à 2.
Qu'est-ce que ça apporte en pratique?
[^] # Re: Bravo!
Posté par barmic . Évalué à 3.
"Objet Métier" dans une application la partie métier et la partie qui implémente vraiment la logique "fonctionnelle" de ton application. Par exemple tu veux créer un jeu vidéo, tu va avoir une partie du logiciel qui va servir à gérer l'affichage et un partie qui va servir à implémenter les règles du jeu. Cette dernière c'est la partie "métier" de ton application.
"Service" c'est les fonctionnalités que propose ton application quand celle-ci est fourni par réseau (je peux me planter aussi, hein)
"Injection de dépendances" ça c'est une technique qui va permettre au serveur sur le quel ton application fonctionne. D'initialiser des attribut de tes classes de manière transparentes (enfin presque). Grosso modo si ton objet a besoin d'un logger tu peut déclarer un attribut :
@Inject(require)
private Logger log;
(les noms sont bidons) et le système va se débrouiller pour qu'a l'instanciation de ton objet tu es un logger sans avoir d'autre chose à faire.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par JoeltheLion (site web personnel) . Évalué à 2.
[^] # Re: Bravo!
Posté par fearan . Évalué à 4.
mais make c'est juste des dépendances et des commandes pour résoudre ces dépendance.
*J'ai déjà bossé avec des fichiers Makefile bien écrit, c'est du bonheur.
*J'ai déjà bossé avec des fichiers Makefile utilisant à fonds les règles implicite
*J'ai déjà bossé avec des fichiers Makefile complètement illisible
*Enfin, comme en perl, je suis tombé sur un Makefile bien écrit, lisible, et utilisant les règles implicite juste quant il faut; mais faut pas se leurrer, c'est loin d'être la norme
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Bravo!
Posté par Johann Ollivier-Lapeyre (site web personnel) . Évalué à 2.
En plus les distrib ne gerent que quelques version de leurs lib. Un exemple, Opensuse, pour une 11.3, ne doit fournir que Qt4.5, 4.6 et 4.7 je pense. Maven lui te fournira quasiment chaque release d'Hibernate ou presque.
Enfin ça, c'est un des trucs que gere Maven, ça fait bien d'autres choses... Le tout en évitant d'etre bloat en se basant entierement sur un systeme de plugin.
[^] # Re: Bravo!
Posté par fearan . Évalué à 1.
ah pardon, tout dépend du makefile ^^ ou des conf foutu dans tes makefile de règle "implicite"; si tu met gcc en tant que dépendance, tu peux très bien avoir une règle qui s'en occupe, et variant selon debian ou mandriva (par contre faudrait être root, ou alors il y aura une demande de mot de passe);
Par contre pour les version de lib ça c'est plus compliqué ^^, mais bon on peut très bien imaginer des règles qui vont faire tout ce qui faut pour télécharger sur le site de la lib, mais bon ça va vite devenir galère à maintenir :D
> Le tout en évitant d'etre bloat en se basant entierement sur un systeme de plugin.
On m'avait dit la même chose pour eclipse/vim/emacs :)
(bon pour l'anecdote, j'ai déjà eu un make environnement qui faisait tout ce qu'il fallait, récupération des libs, compilation, modification du .bashrc, mais c'était spécifique à un projet, et la définition d'un makefile pour ce projet était d'une simplicité jamais égalée (en gros suffisait de donner le répertoire source et la liste de lib dont dépendait le projet) et le nom de l'exécutable ou lib si c'était une lib
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Bravo!
Posté par barmic . Évalué à 2.
Par exemple, moi pour travailler avec Java j'installe le JDK + Maven + un IDE, tout le reste se fait automatiquement avec Maven (y compris installation du serveur d'application).
A oui chose qu'il est très compliqué de faire avec make : la mise à jour automatique des bibliothèque.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par pasScott pasForstall . Évalué à 2.
Genre ton projet dit juste "tires moi gecko" et make va tout seul voir qu'il faut tirer libxml, libpng, gtk et tout le tralala, le tout dans la bonne version, en tirant les dependances de libpng et libxml?
Tu peux juste te contenter de dire a make "build moi une librairie/war/ear/whatever, les sources sont la, demerdes toi avec ca" ou "au fait, faut que tu deployes dans jetty aussi"?
Il est aussi capable de te dire que machin conflicte avec truc parce que les versions de libfoo requises sont incompatibles?
J'ai l'impression que ce que tu decris ressemble plus a ant, en gros un framework bas niveau ou il faut tout coder manuellement. J'ai goute au deux, je reviens plus a ant, clairement.
C'est la ou maven est tres fort, tu lui dit "c'est un projet java, il me faut lib a et b" et il s'occupe de tout.
Diaboliquement efficace dans une boite ou t'as un nombre consequent de projet avec des libs partagees: tout le monde est toujours sur la derniere version de chaque lib en permanence et n'a besoin de connaitre que ses dependances directes.
C'est a double tranchant par contre, c'est notamment tres lent (eclipse/intellij arrive sont suffisament malin pour garder la compilation incrementale, mais en cli faut pas etre presse) et le fait de toujours tirer la derniere version disponible peut rendre les release managers chevres. Comme dit plus bas, au premier build, ca va telecharger la moitie d'internet.
If you can find a host for me that has a friendly parrot, I will be very very glad. If you can find someone who has a friendly parrot I can visit with, that will be nice too.
[^] # Re: Bravo!
Posté par Thierry Thomas (site web personnel, Mastodon) . Évalué à 2.
Tout ça, et bien plus encore, se fait très bien avec des Makefile : c'est d'ailleurs comme ça que fonctionne le système des ports de FreeBSD (et historiquement des autres BSD).
[^] # Re: Bravo!
Posté par barmic . Évalué à 3.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par Thierry Thomas (site web personnel, Mastodon) . Évalué à 2.
Quant à POSIX, sans doute... mais il ne doit plus y avoir beaucoup de développeurs qui n'utilisent pas un système POSIX de nos jours !
[^] # Re: Bravo!
Posté par barmic . Évalué à 2.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par Sufflope (site web personnel) . Évalué à -2.
[^] # Re: Bravo!
Posté par barmic . Évalué à 4.
Garde tes œillères, c'est bien d'être un pur, mais tout le monde n'a pas forcément la possibilité de le faire.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par Sufflope (site web personnel) . Évalué à -1.
Garde tes œillères en pensant que c'est en acceptant le premier job alimentaire venu que ça sera le pied. T'as vu ça marche aussi :-D
Remarque tu seras bien en SSII.
[^] # Re: Bravo!
Posté par barmic . Évalué à 4.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par Sufflope (site web personnel) . Évalué à -1.
je suis content de mon travail
Bah de quoi tu te plains alors ?
[^] # Re: Bravo!
Posté par barmic . Évalué à 2.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par allcolor (site web personnel) . Évalué à 2.
Mais oui c'est bien connu, ce monde est rempli de poste vacant dans le libre et pour le libre... c'est honteux quand même tout ces gens qui refusent un poste dans le libre et vont travailler pour faire du proprio.... et dire qu'il suffirait qu'ils travaillent pas pour pas travailler.
[^] # Re: Bravo!
Posté par fearan . Évalué à 2.
putain je l'avais laissé passé celle là!!!
./configure && make install !!!
ça permet
1) 1 seul ctrl-C si on veut interrompre au début
2) si y a des truc qui manquent on plantent, ne pas lancer le make qui va inévitablement masquer ce qui manque
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Bravo!
Posté par barmic . Évalué à 2.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Bravo!
Posté par Krunch (site web personnel) . Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Slogan
Posté par claudex . Évalué à 10.
Un logiciel libre vous embête? Appelez Oracle, en moins de 3 mois le logiciel a changé de nom et a forké, comme ça vous êtes tranquille.
« 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: Slogan
Posté par barmic . Évalué à 7.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Slogan
Posté par zebra3 . Évalué à 2.
Au fait, MySQL s'appellera comment dorénavant ?
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Slogan
Posté par claudex . Évalué à 2.
« 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: Slogan
Posté par marahi . Évalué à 2.
sources :
https://secure.wikimedia.org/wikipedia/en/wiki/MariaDB
http://mariadb.org/
[^] # Re: Slogan
Posté par Gabin . Évalué à 1.
[^] # Re: Slogan
Posté par dj_ (site web personnel) . Évalué à 1.
C'est tjr dans la même logique. Mais bon maintenant il ne peut plus forker a moins de faire un autre enfant
[^] # Re: Slogan
Posté par zebra3 . Évalué à 3.
Ça me fait penser à http://xkcd.com/327/
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Slogan
Posté par claudex . Évalué à 4.
« 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
# Fonctionnalités...
Posté par cosmocat . Évalué à 5.
Il permet surtout de pouvoir lire un Chuck Norris Fact du programmeur à chaque compilation. Peut-être même est-ce sa principale utilité.
[^] # Re: Fonctionnalités...
Posté par Maclag . Évalué à 10.
Il s'est avéré que la simple fonction d'affichage en Java du Chuck Norris fact a fait que le reste du logiciel s'est développé tout seul.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.