Les contraintes de ces grosses boites, c'est pas que les cravates, c'est aussi le nombre de développeurs qui y travaillent pour gagner leur croute. L'intérêt de java est de pouvoir bien cadrer tout ce petit monde quitte a sacrifier les ressources machines. Par contre pour des projets à taille plus humaine et a ressources restreintes où on a besoin de l'innovation et de la motivation des développeurs c'est plutôt un frein. Ce n'est pas pour rien non plus que ces même grosses boites dont tu parles utilisent aussi d'autres langages.
Vu la vitrine que représente linuxfr ce serait intéressant de faire du choix du framework et du langage une sorte de défi. On prendrait une partie critique du site à faire et on bencherait autant la vitesse de sortie que le nombre de ligne de code.
J'ai compris comme toi, l'intérêt de perf et de taille c'est quand le format binaire est utilisé http://code.google.com/apis/protocolbuffers/docs/encoding.ht(...)
Ce n'est du coup plus du tout lisible...
Ce que je comprend c'est en gros qu'on a là un format binaire pour échanger des données entre c++, java et python.
Bof aussi donc...
Je n'ai pas tellement suivit l'évolution de svn, mais j'aimerai préciser que l'intérêt des "décentralisé" n'est pas que d'être décentralisés. Du reste ils peuvent également être utilisé en mode centralisé ! (l'inverse aussi d'ailleurs).
Personnellement, travaillant la majorité du temps seul et voyageant plutôt à vélo qu'en avion, je me décentralise rarement. Pourtant je profite énormément de bazaar. Pour ce que j'avais du mal a faire avec cvs :
Je crée pleins de branches (c'est rapide et léger).
Une par fonctionalité, bug.
Une par client (qui n'utilisent pas tous la même version).
Ce que j'aime bien avec bazaar c'est qu'après une fusion je garde dans les logs une trace visible (indenté) de quoi a été fait pour qui.
Ca donne quelque chose du genre (qui il me semble ne rend pas comme ça avec hg ou git)
revno : 1234
date ...
message : merge bs
revno : xxx
message :
entete en couleur pour bs
revno : yyy
message :
tri demandé par machin de chez bs
revno: 1233
date ...
message :
merge bug trucmuch
revno : xxx
message :
finalisation de la correction
revno : xxx
message :
1ere tentative de correction
etc. Donc chaque étape regroupant plusieurs commits dans une branche à part reste bien visible. Une étape peut également montrer une autre étape s'il y a un merge entre deux branches (indenté d'avantage etc.).
Ensuite, si je souhaite montrer le code à un collègue il y a bien sur tout un tas de possibilité de push pull & co, automatique ou non...
Sur l'interface lourde vs légère, on peut aussi prendre le problème à l'envers et chercher comment le résoudre pour ne plus avoir besoin d'une interface trop riche. On profite par exemple d'une interface web pour décentraliser et ainsi alléger les taches de chacun. C'est ce qu'on me demande en très grande majorité.
Mais d'après ce que j'ai compris vous avez prévu les deux solutions.
A propos de la communauté postgresql, quelle est la mailing liste (ou forum) francophone la plus active ? Je suis inscrit par sur http://www.postgresql.org/mailpref/pgsql-fr-generale mais je la trouve vraiment peu fréquentée...
De plus en plus souvent je constate qu'en entreprise il y a beaucoup plus de chance d'avoir un pépin local (à cause des configs locales qui sont de plus en plus complexes et qui changent tout le temps) qu'un pépin réseau (externe).
De même pour la confidentialité, il y a beaucoup plus de problème de fuites au sein même de l'entreprise que sur un serveur en ligne.
Inutile de parler des backups !
C'est curieux je constate exactement l'inverse ! Chez moi virtualbox est beaucoup plus véloce d'une part et la gestion de la mémoire est meilleure également, j'arrive à lancer beaucoup plus de machines virtuelles en même temps.
Je l'utilise pour tous mes devs pro ou perso.
Même si je bosse essentiellement seul je trouve pratique de pouvoir créer des branches pour tester des nouvelles fonctionnalités et par client lorsqu'ils ont les mêmes applis mais pas aux mêmes versions.
Mais pour moi, l'intérêt de bzr en particulier est de pouvoir changer de méthode (workflow) facilement suivant si je suis connecté ou pas, si je bosse avec quelqu'un ou pas, fréquemment ou pas etc.
Par contre, c'est vrai que même pour des petits projets il reste assez poussif bien que les devs semblent s'arracher les cheveux sur ce problème depuis pas mal de temps.
La différence de taille c'est que le programmeur méritocrate n'a de pouvoir que sur ce qu'il fait alors que l'aristocrate a un pouvoir sur ce qui ne le concerne pas.
En d'autres termes, il ne faut pas confondre avoir de l'autorité et être autoritaire...
En d'autres termes informatique ça veut dire que tu peux forker.
Pour ce qui est de l'égalité c'est pareil, il ne faut pas confondre les gens sont égaux et les gens ont des droits égaux quand bien même ils seraient différents...
Qu'on retrouve également dans les logiciels libres, chacun à également le droit d'utiliser un même logiciel suivant ces préférences et non celle du développeur.
On ne répond pas que les enfants ne peuvent pas perturber un conducteur, d'ailleurs dans les bus c'est écris noir sur blanc. On répond que c'est justement parce qu'il y a déjà pas mal d'éléments perturbateurs que c'est pas la peine d'en rajouter d'autres surtout s'ils ne sont pas du tout indispensables (contrairement aux enfants).
Du reste, les enfants à l'arrière, on sait à l'avance qu'ils vont faire du bordel, le problème du téléphone c'est pas tant de converser c'est surtout l'effet de surprise quand il sonne et ensuite quand il annonce qu'on vient de se faire virer.
Si on se souciait de sécurité ça fait longtemps que les portables seraient interdits vu les dégâts qu'ils causent entre les ondes et les déconcentrations d'automobilistes...
Admettons que je revienne sur un gros projet, admettons même que ce ne soit pas moi qui l'ai fait. Je vais utiliser une fonction déjà existante, il me semble que le premier truc que je vais regarder c'est le type des données qu'elle attend et reçoit...
Le seul cas critique que je vois en y réfléchissant c'est si je met à jour une librairie et qu'elle a changée son type de données, mais ça me semble quand même hyper rare...
Un cas de figure auquel je ne pense pas ?
Si les tests de type étaient indispensables, on ferait des tests unitaires pour ça, hors c'est également rarement le cas. Il y a également des outils comme pychecker ou pylint pour généraliser ce type de tests.
Pour les GUI, je suis passé aux applis web en grande partie pour faciliter les tests !!
On parle toujours des erreurs de typages détectés à la compilation, comme si elles étaient très fréquentes. Hors je sais pas vous mais personnellement, quelque soit le langage que j'ai utilisé je ne me souviens pas avoir été particulièrement confronté à ces problèmes...
Pareil pour les exceptions, je trouve concrètement très rare d'avoir un bug en python qui aurait été attrapé par un rattrapage obligatoire en java.
En revanche les tests fonctionnels et unitaires me servent énormément et sont beaucoup plus facile à faire qu'en java, ne serait-ce parce qu'ils n'obligent pas aux mêmes contraintes justement !
Est-ce qu'il y a moyen de lancer soit au démarrage soit avec une touche une série de terminaux avec différentes applis dedans sur différents workspace ?
Par exemple un mutt dans le workspace1 un slrn dans le 2 etc...
C'est la seule chose qui me manque avec fluxbox, un temps j'avais essayé mais en vain.
Je comprend tes réticences, c'est particulièrement important qu'un système de gestion de version soit pérène...
hg avec ces 32000 lignes de python capables de gérer le kernel est pour ce coup assez bluffant.
En particulier, quelque chose que je trouve pratique c'est qu'il permet toute sortes d'organisations, y compris de travailler en centralisé, voir de mixer décentralisé/centralisé. http://bazaar-vcs.org/Tutorials/CentralizedWorkflow
[^] # Re: Grillé
Posté par wilk . En réponse au journal LinuxFR en rails ?. Évalué à 1.
[^] # Re: Grillé
Posté par wilk . En réponse au journal LinuxFR en rails ?. Évalué à 3.
# Défi
Posté par wilk . En réponse au journal LinuxFR en rails ?. Évalué à 4.
[^] # Re: English vs other languages
Posté par wilk . En réponse au journal Publication de Python 3.0rc2. Évalué à 1.
>>> print Template('bonjour $nom $prenom').substitute(nom='archi', prenom='bald')
bonjour archi bald
[^] # Re: Pas convaincuj
Posté par wilk . En réponse au journal Google offre un format de donnée sous licence Apache. Évalué à 2.
http://code.google.com/apis/protocolbuffers/docs/encoding.ht(...)
Ce n'est du coup plus du tout lisible...
Ce que je comprend c'est en gros qu'on a là un format binaire pour échanger des données entre c++, java et python.
Bof aussi donc...
[^] # Re: Centralisé et Décentralisé
Posté par wilk . En réponse à la dépêche Subversion (SVN) 1.5 est disponible. Évalué à 1.
Personnellement, travaillant la majorité du temps seul et voyageant plutôt à vélo qu'en avion, je me décentralise rarement. Pourtant je profite énormément de bazaar. Pour ce que j'avais du mal a faire avec cvs :
Je crée pleins de branches (c'est rapide et léger).
Une par fonctionalité, bug.
Une par client (qui n'utilisent pas tous la même version).
Ce que j'aime bien avec bazaar c'est qu'après une fusion je garde dans les logs une trace visible (indenté) de quoi a été fait pour qui.
Ca donne quelque chose du genre (qui il me semble ne rend pas comme ça avec hg ou git)
revno : 1234
date ...
message :
merge bs
revno : xxx
message :
entete en couleur pour bs
revno : yyy
message :
tri demandé par machin de chez bs
revno: 1233
date ...
message :
merge bug trucmuch
revno : xxx
message :
finalisation de la correction
revno : xxx
message :
1ere tentative de correction
etc. Donc chaque étape regroupant plusieurs commits dans une branche à part reste bien visible. Une étape peut également montrer une autre étape s'il y a un merge entre deux branches (indenté d'avantage etc.).
Ensuite, si je souhaite montrer le code à un collègue il y a bien sur tout un tas de possibilité de push pull & co, automatique ou non...
[^] # Re: Coût d'une telle solution
Posté par wilk . En réponse à la dépêche Nuxeo RCP 2.0 : plateforme client riche pour applications documentaires et multimédias. Évalué à 4.
Mais d'après ce que j'ai compris vous avez prévu les deux solutions.
# Où êtes-vous ?
Posté par wilk . En réponse à la dépêche PostgreSQL 8.3 : présentation par Guillaume Lelarge mercredi 7 mai 2008. Évalué à 1.
[^] # Re: Qu'est-ce qui nécessite cela?
Posté par wilk . En réponse à la dépêche Ulteo ou une nouvelle approche du système d'exploitation. Évalué à 3.
De même pour la confidentialité, il y a beaucoup plus de problème de fuites au sein même de l'entreprise que sur un serveur en ligne.
Inutile de parler des backups !
[^] # Re: VirtualBox
Posté par wilk . En réponse à la dépêche La virtualisation et le libre : où en est-on ?. Évalué à 1.
[^] # Re: VirtualBox
Posté par wilk . En réponse à la dépêche La virtualisation et le libre : où en est-on ?. Évalué à 3.
[^] # Re: api ?
Posté par wilk . En réponse au journal google pousse python : appengine. Évalué à 1.
[^] # Re: Qui utilise bzr ?
Posté par wilk . En réponse à la dépêche Nouvelle version de Bazaar, le DVCS de Canonical. Évalué à 1.
Même si je bosse essentiellement seul je trouve pratique de pouvoir créer des branches pour tester des nouvelles fonctionnalités et par client lorsqu'ils ont les mêmes applis mais pas aux mêmes versions.
Mais pour moi, l'intérêt de bzr en particulier est de pouvoir changer de méthode (workflow) facilement suivant si je suis connecté ou pas, si je bosse avec quelqu'un ou pas, fréquemment ou pas etc.
Par contre, c'est vrai que même pour des petits projets il reste assez poussif bien que les devs semblent s'arracher les cheveux sur ce problème depuis pas mal de temps.
[^] # Re: Emacs et bzr
Posté par wilk . En réponse à la dépêche Nouvelle version de Bazaar, le DVCS de Canonical. Évalué à 3.
http://article.gmane.org/gmane.comp.version-control.bazaar-n(...)
> Last 100 revisions:
>
> $ time git log -100 >/dev/null
> real 0m0.011s
>
> $ time bzr log -l100 >/dev/null
> real 2m10.270s
git: 0m0.009s
bzr: 0m26.562s
> Last 10 revisions:
>
> $ time git log -10 >/dev/null
> real 0m0.007s
>
> $ time bzr log -l10 >/dev/null
> real 2m9.163s
git: 0m0.005s
bzr: 0m25.519s
Ceci dit ça ne change pas le fait que le résultat est instantané ou pas.
[^] # Re: Emacs et bzr
Posté par wilk . En réponse à la dépêche Nouvelle version de Bazaar, le DVCS de Canonical. Évalué à 4.
En d'autres termes, il ne faut pas confondre avoir de l'autorité et être autoritaire...
En d'autres termes informatique ça veut dire que tu peux forker.
Pour ce qui est de l'égalité c'est pareil, il ne faut pas confondre les gens sont égaux et les gens ont des droits égaux quand bien même ils seraient différents...
Qu'on retrouve également dans les logiciels libres, chacun à également le droit d'utiliser un même logiciel suivant ces préférences et non celle du développeur.
L'anarchobizounours t'embrasse ;-)
[^] # Re: et pourquoi illégal ?
Posté par wilk . En réponse au journal couper le téléphone du voisin bruyant. Évalué à 5.
Du reste, les enfants à l'arrière, on sait à l'avance qu'ils vont faire du bordel, le problème du téléphone c'est pas tant de converser c'est surtout l'effet de surprise quand il sonne et ensuite quand il annonce qu'on vient de se faire virer.
[^] # Re: et pourquoi illégal ?
Posté par wilk . En réponse au journal couper le téléphone du voisin bruyant. Évalué à 6.
[^] # Re: Dynamiquement typé ou statiquement typé ?
Posté par wilk . En réponse au journal Python et les décideurs. Évalué à 3.
Le seul cas critique que je vois en y réfléchissant c'est si je met à jour une librairie et qu'elle a changée son type de données, mais ça me semble quand même hyper rare...
Un cas de figure auquel je ne pense pas ?
Si les tests de type étaient indispensables, on ferait des tests unitaires pour ça, hors c'est également rarement le cas. Il y a également des outils comme pychecker ou pylint pour généraliser ce type de tests.
Pour les GUI, je suis passé aux applis web en grande partie pour faciliter les tests !!
[^] # Re: Dynamiquement typé ou statiquement typé ?
Posté par wilk . En réponse au journal Python et les décideurs. Évalué à 3.
Pareil pour les exceptions, je trouve concrètement très rare d'avoir un bug en python qui aurait été attrapé par un rattrapage obligatoire en java.
En revanche les tests fonctionnels et unitaires me servent énormément et sont beaucoup plus facile à faire qu'en java, ne serait-ce parce qu'ils n'obligent pas aux mêmes contraintes justement !
Est-ce parce que je travail généralement seul ?
[^] # Re: dwm ou comment éviter d'utiliser la souris...
Posté par wilk . En réponse à la dépêche FluxBox 1.0.0, l'Arlésienne sort de sa boîte !. Évalué à 2.
http://vimperator.mozdev.org/
[^] # Re: dwm ou comment éviter d'utiliser la souris...
Posté par wilk . En réponse à la dépêche FluxBox 1.0.0, l'Arlésienne sort de sa boîte !. Évalué à 1.
[^] # Re: dwm ou comment éviter d'utiliser la souris...
Posté par wilk . En réponse à la dépêche FluxBox 1.0.0, l'Arlésienne sort de sa boîte !. Évalué à 1.
Par exemple un mutt dans le workspace1 un slrn dans le 2 etc...
C'est la seule chose qui me manque avec fluxbox, un temps j'avais essayé mais en vain.
[^] # Re: bazaar
Posté par wilk . En réponse au journal Sondage pour utilisateurs de git. Évalué à 1.
hg avec ces 32000 lignes de python capables de gérer le kernel est pour ce coup assez bluffant.
# bazaar
Posté par wilk . En réponse au journal Sondage pour utilisateurs de git. Évalué à 1.
En particulier, quelque chose que je trouve pratique c'est qu'il permet toute sortes d'organisations, y compris de travailler en centralisé, voir de mixer décentralisé/centralisé.
http://bazaar-vcs.org/Tutorials/CentralizedWorkflow
# Thinkpad lenevo
Posté par wilk . En réponse au journal Lenovo va commercialiser des PC Portables sous Linux. Évalué à 1.