En parlant de grammaire j'ai peut-être porté à confusion, mais c'est surtout le terme 'sémantique' qui m'importait (je n'ai pas trop su comment le formuler) ; on se tape de savoir si on fait des blocs avec des {} ou des BEGIN/END, c'est juste cosmétique. En revanche est-ce de l'impératif ou du fonctionnel (ex: 'if' peut exister dans les 2 cas, mais avoir une sémantique différente), de l'objet à classe ou à prototype, fait-on de l'héritage de type ou bien de trait, du typage dynamique/statique, avec de l'inférence ou pas, du typage fort/faible, quel est le modèle mémoire etc…
Je fais partis des gens qui pensent que celui qui ne connaît qu'un langage n'en maîtrise aucun. Et inversement un codeur qui comprend les différentes notions de mon paragraphe précédent (parce qu'il a étudié la théorie et pratiqué des langages divers) n'aura pas de mal à appréhender le langage Java, parce qu'il est assez pauvre et n'a pas de fonctionnalité qu'on ne retrouve ailleurs (et ce n'est pas forcément un défaut). Ça ne veut pas dire être un dieu du Java en 3 jours, mais ça veut sûrement dire être à peu prés opérationnel en 1 mois au sein d'une équipe.
Tu penses que je suis très théorique, et c'est sûrement le cas ; mais l'entreprise que j'ai créée avec 3 associés a fêté ses 10 ans il y a peu, alors peut-être me croiras-tu si je te dis que je suis aussi pragmatique. J'ai eu l'occasion de briller à des entretiens avec mes (petites) connaissances théoriques, et sans avoir à démontré que je connais par cœur telle ou telle API ; mais il s'agissait de recruteurs intelligents cherchant de bons techniciens (spoil: ce n'était pas des SSII :) ). J'ai aussi pu mener un certains nombres d'entretiens du coté recruteur ; et j'ai toujours été content de mes choix, que j'ai fait avec des entretiens ouverts et assez théoriques, et jamais portant sur la maîtrise de tel subtilité d'un langage ou de sa lib standard ; les personnes recrutées ont toujours rapidement été efficaces sur le terrain en peu de temps. Je pense qu'une personne qui connaît bien un, et un seul, langage et sa lib standard, ne pourra jamais envisager une solution optimale si son langage se prête mal au problème rencontré.
Les formules sont mathématiques et le recrutement s'est fait pour des compétences poussées en ce sens. Si je leur parle de XOR, je ne suis même pas sûr qu'ils me répondront
Je n'ai pas compris ce passage. Tes collègues sont brillants en maths mais ne connaissent pas XOR ?! Si oui, alors j'imagine qu'ils connaissent le concept de 'ou exclusif' sans connaître le sobriquet que lui donne les informaticiens, ce qui n'est pas vraiment un souci à mon sens ni une lacune théorique (ils trouveront le jour où ils en auront besoin). Si c'est autre chose alors explique plus clairement stp.
Par contre, pour être opérationnels, ils doivent avoir l'écosystème en main pour fournir un logiciel fini.
En ce qui me concerne, si les gens ne sont pas opérationnels dans l'heure, ça ne me semble pas choquant s'ils ont les bases pour le devenir rapidement (pour moi c'est ça un bon informaticien). "Quoi tu as fait du Qt/GTK/… mais jamais de Swing ! Tu ne dois sûrement pas être capable de faire une GUI, car pour ça il faut connaître par cœur la signature du constructeur de JButton !". En ce qui me concerne une boite qui me dirait ça, je n'aurai probablement pas envie de travailler pour elle dans tous les cas ; après je ne sais pas quels sont les plans de notre posteur, car sa demande était assez vague, nous sommes d'accord.
1) Je pense que l'incompréhension vient que ce ce j'appelle langage, c'est seulement le langage (sa grammaire, sa sémantique), mais :
j'ai fait systématiquement l'effort de parler du langage Java quand il je parlais du langage.
j'ai fait systématiquement l'effort de parler de l'écosystème Java (qui comprend le JDK) le reste du temps. J'ai précisé dans mes 2 derniers messages que le maîtriser était difficile, donc je ne comprends pas pourquoi tu tiens tellement à me l'expliquer vu qu'on est d'accord…
J'ai aussi dit que coder correctement était difficile dans tous les langages, et que maîtriser même un langage simple était difficile. Je fais du Python, langage simple, depuis plus de 10 ans, il m'arrive encore d'apprendre des choses dessus ; et je ne parle pas de fonctions de la lib standard (il est évident que je ne la connaît pas par cœur), mais bien d'aspect du langage lui-même. Là encore on est d'accord mais tu me le réexpliques quand même.
J'ai aussi dit que l’excès de simplicité du langage pouvait justement être une source de difficulté pour le programmeur (il manque des notions qui auraient permis que le langage fasse les choses à notre place, donc le programmeur doit faire plus d'efforts). Donc le fait que le langage soit simpliste n'implique pas que coder des choses complexes soit simple, c'est très exactement le contraire.
2) La phrase originelle disait que le langage Java faisait partie des plus savants. C'est faux il fait partie des langages les plus simples parmi les langages les plus utilisés. Et c'est normal Java a été conçu dans cet optique :
"Le langage Java reprend en grande partie la syntaxe du langage C++, très utilisée par les informaticiens. Néanmoins, Java a été épuré des concepts les plus subtils du C++ et à la fois les plus déroutants, tels que les pointeurs et références, ou l’héritage multiple contourné par l’implémentation des interfaces. Les concepteurs ont privilégié l’approche orientée objet de sorte qu’en Java, tout est objet à l’exception des types primitifs (nombres entiers, nombres à virgule flottante, etc.)."
"L’équipe envisageait initialement d’utiliser le langage C++, mais l’abandonna pour différentes raisons. Tout d’abord, ils développaient sur un système embarqué avec des ressources limitées et estimaient que l’utilisation du C++ demandait un investissement trop important et que cette complexité était une source d’erreur pour les développeurs. L'absence de ramasse-miettes impliquait que la gestion de la mémoire devait être programmée manuellement, un défi mais aussi une source d’erreurs."
"Il faut noter que les évolutions successives du langage ne portent guère sur sa syntaxe -relativement stable depuis le début- mais principalement sur l'enrichissement de ses fonctions, avec l'embarquement et l'optimisation de bibliothèques logicielles (API) dans des domaines très variés de l'informatique : bases de données, gestion XML, informatique distribuée et web, multimédia, sécurité…"
Note que le fait qu'il fasse partie des plus simples n'implique pas qu'il soit simple dans l'absolu. Donc oui il a des subtilités, mais il y en a aussi dans les autres langages (et particulièrement en C++).
Hmm, t'as jamais testé jni ou quoi ?
JNI fait parti de la lib standard, pas du langage en tant que tel. Il y a des API complexes dans tous les langages.
Il y a des API comparables dans tous les langages ; tous les langages bien conçus permettent de s'interfacer avec du C, et quand il y gestion automatique de la mémoire ça peut être source de complexité oui, mais ça reste vrai dans plein de langages 'simple' (ex: Go, Python). Donc ça ne rend pas Java plus complexe que les autres, désolé.
As-tu essayé de maîtriser la STL ? :)
Programmer avec un GC facilite globalement la vie du programmeur (c'est pour ça qu'il y en a un dans Java—cf l'historique plus haut) ; maintenant chaque solution amène aussi des problèmes. Donc l'existence de problèmes ne prouve pas qu'on est plus complexe que le reste du monde.
Et tu te limite à un seul langage dans tes applis ?
Quel rapport avec Java au juste ? Oui programmer c'est difficile ; oui mélanger des langages c'est difficiles ; oui si certains ont un GC ça va provoquer un certain type de problème, mais Java n'est pas le seul à avoir un GC (anecdote: on peut mettre un GC en C++, mais pas gérer sa mémoire manuellement en Java) et le GC facilite la vie 99% du temps, donc encore une fois ça ne rend pas Java plus complexe que les autres.
De quel "java" parles-tu, et à quel "C++" le compares-tu ?
Même les dernières versions de Java sont loin d'être aussi expressives que l'état de l'art d'il y a 15 ans (youpi il y a enfin les lambdas, la concurrence tremble), donc peu importe la version du langage Java, cela reste un langage plutôt simple. Rien que le langage de template de C++ déja présent il y a 20 ans (mais pas toujours implémenté par les compilateurs C++ tellement il est complexe), face aux generics poussifs de Java permet de voir l'abîme de complexité qui sépare les 2 langages. Note que je dis juste que C++ est plus complexe, je ne dis en aucun cas si un des 2 langages est mieux que l'autre (ils sont différents, avec des qualités différentes), ni s'ils sont bien (là c'est l'assurance de lancer une discussion interminable, ce n'était pas le but).
Faire un itérateur ou une fonction lambda, un hash personnalisé, ça te semble à la portée de n'importe qui ?
Dans un langage qui gère automatiquement la mémoire (comme Java), si écrire un itérateur ou une fonction lambda s'avère difficile, c'est éventuellement parce le langage utilisé n'est pas très puissant, par exemple s'il est simpliste. En gros, langage simpliste implique que le programmeur doive en baver pour faire des choses non triviales. En C++, c'est différent, on doit se soucier de plus de choses comme la mémoire (où est-ce qu'on alloue, qui désalloue…), les difficultés viennent de l'aspect bas-niveau.
Écrire une bonne fonction de hash est difficile dans tous les langages.
Et les GUI, le modèle MVC, c'est si simpliste ?
C'est quoi le rapport avec les langages ? Ce sont des choses qu'on peut être amené à coder dans n'importe quel langage. Le fait que cela soit difficile, c'est parce que coder c'est difficile, cela n'a rien a voir avec le côté simpliste ou non du langage.
On voit très vite que faire du code propre (je ne parle pas d'un programme sur un bout de serviette), donc maintenable, réutilisable, n'est pas si direct que ça. Dans aucun des deux.
Ça sera difficile dans tous les langages, parce que faire de la qualité c'est difficile par principe.
Après selon le projet, le langage choisi pourra être plus ou moins adapté (et donc rendre ça un peu moins difficile), et les difficultés techniques seront de natures différentes (ex: se battre avec les cycles de références en C++ qui provoquent des fuites mémoires, se battre avec le GC qui défonce les performances en Java).
Il est possible d'écrire du code non trivial (voire très complexe) même avec un langage simpliste. Et Java est relativement simpliste ; par exemple il a fallut attendre des plombes pour avoir des lambdas, alors que tous les langages avec gestion automatique de la mémoire les avaient depuis longtemps ; avoir des classes anonymes était une solution simple à ce manque, mais en pratique avoir un concept de moins pour garder le langage simple obligeait les codeurs à écrire plus de code moche ; ce qui s'appelle être simpliste (trop simple, la simplicité n'est plus une force, mais une faiblesse). Et le fait d'avoir des lambdas aujourd'hui ne ramène pas Java au niveau de l'état de l'art, ca le rend juste moins simple. Au contraire C++ dispose de beaucoup de concepts, ce qui le rend très (voire trop) complexe.
Maintenant un codeur qui veut maîtriser Java devra au final connaître l’écosystème Java, et cela sera difficile aussi (parce que devenir compétent c'est difficile).
Pour le C++ et le Java, qui sont parmi les langages les plus savants
C++ est clairement très complexe, voire compliqué.
Java le langage en revanche est plutôt simple, voire simpliste (ce qui ne veut pas dire non plus qu'on en connaît les moindres subtilités en 2 heures évidemment). Après il existe tout un tas de bibliothèques/outils permettant justement de pallier les lacunes du langage. Du coup c'est l'écosystème Java qui est assez complexe.
Ça ne remet pas en cause ce que tu dis, et mixer pratique et théorie est effectivement la bonne approche.
Il y aussi Zulip libéré par DropBox il y a quelques mois ; après je ne l'ai jamais testé, et si des gens ici l'ont fait, des retours seraient intéressants.
le pire qu'il puisse arriver c'est qu'il n'existe plus qu'un seul langage informatique.
C'est vrai, mais personne ici n'a soutenu le contraire en même temps.
Il m'a permis de comprendre la différence entre une variable et un objet grâce à son mot clé bless par exemple
En gros Perl t'a appris les idiomes du Perl. On pourrait en dire autant de n'importe langage donc.
Cela deviendra peut être devenu un langage de vieux
Soit un langage est utilisé par les gens, et il devient forcément un langage de vieux (en ayant au passage plus ou moins inspiré son ou ses successeurs), soit tout le monde s'en tape.
Aussi Perl6 a quoi cela peut servir ? à découvrir, à apprendre, à explorer
On peut faire tout ça avec n'importe quel langage.
… à penser différemment
On peut faire ça avec n'importe quel langage éloigné des autres langages qu'on connaît déjà. Entre C, Python, Rust, Erlang, Haskell, Prolog, Ada (par exemple) on a déjà des concepts très différents à appréhender. Les concepts de Perl6 apportent-ils tant de choses que ça (c'est une vraie question) ?
Il existe des tas de très bons langages libres (ou avec au moins une implémentation libre). On peut donc demander quel est l'intérêt de Perl6 de toute bonne foi, sans sous-entendre qu'il ne sert à rien. Et par exemple "faire un langage pour s'amuser" peut être une réponse acceptable (mais pas forcément très motivante).
En 2008/2009, j'ai bossé dans une boite qui fait un firmware de centre multi-média (qu'on retrouve dans une box internet d'un des 4 grands FAI français par exemple). La GUI était faite en Python, et s'appuyait sur des widgets en C et des briques en C++ pour les parties bas niveau. Ça marchait plutôt bien, et ça permettait de facilement faire évoluer l'interface du produit et de l'adapter spécifiquement pour les différents clients.
C'était d'ailleurs une source de tension en interne, et à chaque problème de réactivité de l'IHM, l'équipe C++ rappelait son envie de réécrire la GUI en C++. Là où c'est cocasse, c'est que 9 fois sur 10 lesdits problèmes venaient en fait… du code écrit en C++. Pour la bonne raison que la clé est d'écrire du code asynchrone avec de petites actions facilement annulables, et qu'en Python c'est assez facile à faire.
Conclusion: Python est très bien pour faire du prototypage ; mais régulièrement le prototype s'avère suffisamment bon pour que la réécriture ne s'impose pas vraiment.
Tu n'as pas à te justifier d'être débutant, le forum est là pour ça (sinon je ne me fatiguerai pas à répondre). En revanche, dans la mesure où tu vas faire évoluer ce code, il va bien falloir le comprendre un minimum; ça tombe bien car Python est plutôt simple à appréhender, et ce code ne fait pas grand chose non plus. L'améliorer est donc tout à fait possible pour un débutant, et c'est un bon moyen d'apprendre (potentiellement plus que d'écrire du code trivial au kilomètre).
La question est donc de savoir si tu as compris comment implémenter la solution numéro 1 que je t'ai donnée (sûrement la plus adaptée).
Tu stockes les dernières valeurs dans un fichier caché (bon dans l'absolu, pour faire les choses proprement, il faudrait faire attention et prévoir les cas où le script est lancé plusieurs fois en parallèle), tu lis les nouvelles valeurs, et si elles sont égales aux anciennes tu renvoies 'N/A' (même si un simple None ferait l'affaire mais c'est une autre histoire).
Plutôt qu'un script lancé par cron, tu fais un daemon qui tourne en permanence (et peut garder les dernières valeurs dans une variable). ici c'est sûrement overkill, mais si voulais faire un truc plus intelligent qui se met par exemple à lire les valeurs plus souvent s'il s'aperçoit qu'elles changent rapidement (grosse fuite :) ) ça serait une piste.
gagnerait à être écrit (plus court, le fichier est fermé même en cas d'erreur):
withopen(sensorFile,"r")asf:text=f.read().strip()
Ça serait mieux que tes tas de text.split("\n") soit fait une seule fois au début et stocké dans une variable.
Il n'y a pas besoin de 'parenthéser' les return ou les if. '/'+str(cptA)+'/'+str(cptB)+'/'+str(i) devient en plus concis/lisible (et plus rapide je pense) '/%s/%s/%s' % (cptA, cptB, i) (les string ont aussi une méthode format() mais je suis resté à mes vieilles habitudes).
Ça fait longtemps que <> est obsolète au profit de !=.
Évidemment qu'il y a des chefaillons un peu partout, y compris dans le libre. Mais tu présentes ça dans un thread qui parle d'une fonctionnalité bancale de Gimp. Alors c'est peut-être juste maladroit de ta part, mais du coup tu présentes le problème des chefaillons comme majeur dans le libre, et qui expliquerai peut-être la frustration de cet utilisateurs : peut-être que si les fonctionnalités étaient choisies par les utilisateurs finaux il y aurait moins de frustration.
Je pense que, dans le cas général, et dans notre cas particulier de Gimp, c'est un faux problème (ou tout du moins très mineur). Non le problème c'est qu'il y a très peu de développeurs par rapport à l'importance du logiciel (on a vu la même chose avec OpenSSL par exemple). Les fonctionnalités peuvent être choisies au mieux, il faudrait 10 fois plus de codeurs (et/ou que les dév actuels puissent travailler à plein temps dessus) pour que le développement se fasse à une vitesse satisfaisante.
Mais le problème est complexe, ce n'est pas la faute des utilisateurs qui seraient juste des feignasses hein. Du coup l'initiative de Jehan qui permet aux utilisateurs de financer le développement du logiciel est très bonne à mon avis. Parce que contrairement aux simples dons que tous les projets acceptent, là on a une vrai dynamique de 'vous donnez et moi derrière je peux bosser à plein temps'.
ce n'est pas très honnête d'avoir ignoré ma phrase
Pas du tout; en fait c'est très exactement le contraire : je souligne l'incohérence de tes propos, et en particulier cette phrase.
En effet, il n'est pas du tout question d'esclavage dans mon post ; tu es tout à fait en droit de refuser. En fait n'importe qui refuserait, c'est bien normal. Pourtant les 10 personnes n'ont aucune gène à venir demander ("on n'est pas du tout pour l'esclavage hein, mais si tu le ne fais pas t'es qu'un sale égoïste"). Pourtant tu le vois comme de l'esclavage, et c'était le but.
En revanche, désolé, mais c'est toi qui es malhonnête :
dans ton exemple 50 % des gens sont des dev, et 50% de valeureux utilisateurs qui contribuent. Gimp (car c'est un bon exemple) a une poignée de développeurs et des milliers d'utilisateurs (sinon il n'y aurait pas de bouquin Gimp à la Fnac). Si 50% de cette communauté était des dev, Gimp serait supérieur à photoshop depuis longtemps !
Dans ton premier post tu parles de "public - l'utilisateur final" ; et là dans ton exemple les utilisateurs sortent les poubelles quand les dévs ne font que balayer : on dirait même qu'ils travaillent plus dur que les devs, les pauvres ! Quand je fais un rapport de bug, même si le bug m'a fait perdre du temps et que je prends encore 2 heures pour rédiger le rapport, mon investissement en temps n'a rien de comparable au temps que les devs ont passé sur le logiciel ; ma récompense c'est que le logiciel est réparé. Je ne m'attends pas à prendre des décisions majeures pour si peu. Et faire un feedback du genre un post sur le forum officiel en disant "la fonctionnalité truc c'est de la merde" c'est un investissement encore plus petit. Attention les feedbacks c'est très bien - quand c'est constructif au moins—mais ne pas faire tout ce qui as pu être dit pas les utilisateurs ne veut pas dire ne pas écouter les feedbacks du tout.
Allez comme j'adore les analogies je vais affiner un peu :)
Il se trouve qu'en effet un week-end sur 2 tu nettoies le littoral (à la base tu adores le littoral, le centre ville tu t'en tapes). 10 personnes (parmi lesquelles un t'a prêté un balai et une autre donné un sac poubelle) viennent te voir pour que tu nettoies d'autres quartiers. 3 veulent que tu nettoies le quartier A, 2 le quartier B, le reste 5 quartiers différents ; celui qui t'a prêté un balai continuera à le faire, et peut être même qu'une 2ème personne te donnera un sac poubelle. Et donner des retours ne leur fait pas peur non plus : si ce n'est pas assez propre ils te le diront. Parce que tu es gentil, tu acceptes de nettoyer le quartier A (c'était les plus nombreux). Bilan: tu fais 7 déçus qui penses que tu es un égoïste et que tu ne les écoutes pas du tout :)
J'imagine que si 10 personnes venaient te demander de venir balayer la rue un dimanche (alors que toi tu voulais mater des Game of Thrones tranquille), gratuitement et pendant qu'ils regardent, tu t'exécuterai. Ben oui ça serait très démocratique (ils sont 10 et toi 1), et en plus ça serait utile à la communauté (alors que bon glander pendant ton temps libre, quelle idée). Et puis bon ils pourraient tout à fait apprendre à balayer, mais sincèrement ça a l'air difficile et assez chiant, alors que toi tu feras ça sûrement très bien. Ne t'inquiète pas, dans un grand élan démocratique ils seront toujours prêts à te dire si ton travail ne leur convient pas et qu'ils faut recommencer. Enfin sauf qu'en fait M. Machin il voulait que tu balayes devant chez lui avant devant chez Mme Truc, du coup il ne trouve pas ça super démocratique quand même, tu ne l'écoutes pas du tout, il a même l'impression que tu lui pisses à la raie, c'est pas très sympa.
Sais-tu si il y a un moyen de récupérer les contacts du mobile dans CremeCRM ?
Oui c'est plus ou moins possible, mais pas de manière forcément très satisfaisante malheureusement.
Aux alentours de 2010, quand on a regardé ce qui était le mieux pour synchroniser les contacts/activités avec les téléphones, ActiveSync (AS) semblait être le seul truc disponible à peu prêt partout. Comme c'est un machin pas forcément super ouvert de chez Microsoft, nous n'étions pas franchement enchantés, mais nous avons implémenté un module 'activesync', qui se connecte à un serveur AS en tant que client (comme un téléphone en fait) et permet donc la synchro. Il te faut donc un client AS sur ton téléphone (l'iPhone le fait de base et Android le faisait, avant en tout cas) et un serveur AS : à l'époque c'était généralement un Exchange ou un compte Google (en libre il me semble qu'on a rapidement eu des problèmes avec ZPush, et comme ce n'était pas vraiment demandé par les utilisateurs/clients on n'a pas persévéré dessus).
En pratique l'implémentation de chez google marchait pas trop mal (mais pétait les plombs de temps en temps ; il préfèrent clairement qu'on passe par leur API perso…), et selon les version d'exchange ça marche plus ou moins bien (si tu es intéressait par exchange—mais j'imagine que non :)—je peux demander ce qui tourne chez nos clients). Et il y a genre 6 mois google a arrêté le protocole ActiveSync sur ses serveurs (et sur les téléphones récents je ne sais pas trop ; peut être une app externe au pire).
Conclusion: via ActiveSync éventuellement.
Sinon, un de mes collègues développe pour un client un module qui utilise l'API google. Ça arrivera donc dans le trunk quand on en sera satisfait, mais ce n'est pas disponible à l'heure actuelle, et encore moins dans la version stable.
Personnellement j'aimerai bien bosser avec du CardDav/CalDav, vu que c'est plus standard et disponible sur la plupart des téléphones maintenant (et les serveurs google). Mais comme ce n'est pas du tout demandé par nos clients (c'est triste mais google est omniprésent, et ils ne s'en séparerons pas pour nos beaux yeux :) ) et qu'à côté j'ai plein de choses à faire, c'est repoussé à quand j'aurai le temps (ou quand un client sera intéressé donc).
Dernière solution:
tu as des outils pour synchroniser un téléphone avec un client mail (parfois, outlook permet de le faire avec des logiciels tiers) ; ensuite tu exportes tes contacts en CSV/XLS dans ton client mail et tu réimportes dans Creme (on a un importeur CSV/XLS assez puissant).
Mais ce n'est à priori pas automatisable : c'est vraiment pour un premier import, pas pour de la synchronisation.
Voila. J'espère que ma réponse n'était pas trop ennuyante.
Je ne sais pas si c'est de la bêtise ou de la méchanceté (les 2 n'étant pas mutuellement exclusifs), mais tes commentaires sont vraiment toxiques.
J'imagine que cracher sur le travail des autres ça t'aide à te sentir malin. C'est sûr que c'est plus facile que de venir nous présenter ton propre travail ; toi qui fait sûrement passer l’intérêt des utilisateurs avant le tien (et ce même lorsque c'est sur ton temps libre évidemment), ça doit être bien pourtant. Mais je suis à peu près sûr que ça n'arrivera pas…
(et oui désolé linuxfr je ne t'ai pas écouté et j'ai nourri le troll)
Bon j'aurai sûrement beaucoup de choses à répondre, mais comme on semble au final tout à fait d'accord, cela serait inutile.
Juste une chose : les gens de ma génération on toujours vécu en entendant "c'est la crise" ; alors pour nous au final cela ne veut pas forcément dire grand chose. Il est normal que tu t'inquiètes en voyant tes enfants vivre dans un monde où trouver du travail (par exemple) est bien plus difficile qu'à l'époque où toi tu as commencé.
C'est fondamentalement humain que tu vois en premier lieu ce qu'on a perdu, et que ce qu'on a gagné soit juste du bonus. Mais au final je pense que la plupart des gens [*] ont en fait toutes les cartes en main pour vivre heureux, mais qu'il faille faire l'effort de s'en rendre compte. Les média en véhiculant l'image que la "réussite" (j'ai vraiment horreur de ce terme) ça soit l'argent facile et rapide et la célébrité ont à mon avis une grande part de responsabilité dans ce problème ; mais je refuse de tout leur mettre sur le dos car chacun a aussi la possibilité de réfléchir par soi-même, et donc c'est la solution de facilité de dire "c'est leur faute ils ont qu'à dire des trucs intelligents pour que nous n'ayons pas besoin de réfléchir".
[*] parce que oui évidement qu'il y a de la vraie misère en France. Mais les vrais miséreux, même s'ils seront toujours trop nombreux ne sont heureusement que très peu. Beaucoup de pauvres ont un logement avec l'électricité, l'eau courante, un frigo pas trop vide, Internet, une télé… Si les richesses étaient mieux réparties (et c'est le problème) leur vie n'en serait que meilleure certainement, mais on est (heureusement) bien loin des 'Misérables', et les gens ont au final bien trop à perdre pour prendre la fourche et le fusil et faire la révolution (je ne veux surtout pas dire "y a des gens qui meurent alors taisez vous", juste "ce n'est pas grave si à 50 ans vous n'avez pas une Rollex" :) ).
Y a vraiment encore ici des gens pour tenir ce genre de discours digne du bistrot du coin ? (à moins que ça ne soit de l'humour ; si c'est le cas désolé)
Je pense qu'il y a 3000 ans les vieux disaient déjà des plus jeunes qu'ils étaient stupides/fainéants/superficiels/…
Alors que bien sûr tous les gens de ta génération sont intelligents/travailleurs/honnêtes ; du coup c'est à se demander pourquoi la planète est dans cet état.
j'ai 34 ans (j'imagine tu en as un peu plus), et déjà à mon époque la plupart des gens se passionnaient pour des trucs stupides de jeunes et des people à 2 balles. Et désolé mais à l'époque Sheila et compagnie c'était pas non plus super intellectuel. Et dans ma famille ceux qui consomment le plus des ragots people, ce sont des personnes âgées (je doute que ça soit les lycéens qui fassent vivre 'France dimanche'…).
Tu as visiblement choisi ton confort et celui de ta famille comme principale priorité, et il n'y a vraiment rien de mal à ça (devine quoi ? la plupart des gens font ça). Mais du coup, en tant qu'informaticien, si tu trouves que les boites d'informatique sont toute naze, et bien c'est aussi de ta faute ; pas entièrement de ta faute évidemment, ta faute de manière infinitésimale, mais non nulle. Si tous les informaticiens comptent sur le fait que d'autres montent des boites par exemple, et bien ce sont effectivement des non-informaticiens qui montent des boites (des financiers par exemple). Et de la même manière que toi tu ne joueras pas l'avenir de ta famille sur un coup de poker en changeant de travail, et bien personne ne va venir monter une boite à 200 mètres de ta maison et te proposer de doubler ton salaire pour un travail à mi-temps sur un passionnant logiciel libre.
[^] # Re: ca depend de ta maniere d'apprendre
Posté par GuieA_7 (site web personnel) . En réponse au message Quel est le meilleur moyen d'apprendre à utiliser un langage de programmation ?. Évalué à 5.
En parlant de grammaire j'ai peut-être porté à confusion, mais c'est surtout le terme 'sémantique' qui m'importait (je n'ai pas trop su comment le formuler) ; on se tape de savoir si on fait des blocs avec des {} ou des BEGIN/END, c'est juste cosmétique. En revanche est-ce de l'impératif ou du fonctionnel (ex: 'if' peut exister dans les 2 cas, mais avoir une sémantique différente), de l'objet à classe ou à prototype, fait-on de l'héritage de type ou bien de trait, du typage dynamique/statique, avec de l'inférence ou pas, du typage fort/faible, quel est le modèle mémoire etc…
Je fais partis des gens qui pensent que celui qui ne connaît qu'un langage n'en maîtrise aucun. Et inversement un codeur qui comprend les différentes notions de mon paragraphe précédent (parce qu'il a étudié la théorie et pratiqué des langages divers) n'aura pas de mal à appréhender le langage Java, parce qu'il est assez pauvre et n'a pas de fonctionnalité qu'on ne retrouve ailleurs (et ce n'est pas forcément un défaut). Ça ne veut pas dire être un dieu du Java en 3 jours, mais ça veut sûrement dire être à peu prés opérationnel en 1 mois au sein d'une équipe.
Tu penses que je suis très théorique, et c'est sûrement le cas ; mais l'entreprise que j'ai créée avec 3 associés a fêté ses 10 ans il y a peu, alors peut-être me croiras-tu si je te dis que je suis aussi pragmatique. J'ai eu l'occasion de briller à des entretiens avec mes (petites) connaissances théoriques, et sans avoir à démontré que je connais par cœur telle ou telle API ; mais il s'agissait de recruteurs intelligents cherchant de bons techniciens (spoil: ce n'était pas des SSII :) ). J'ai aussi pu mener un certains nombres d'entretiens du coté recruteur ; et j'ai toujours été content de mes choix, que j'ai fait avec des entretiens ouverts et assez théoriques, et jamais portant sur la maîtrise de tel subtilité d'un langage ou de sa lib standard ; les personnes recrutées ont toujours rapidement été efficaces sur le terrain en peu de temps. Je pense qu'une personne qui connaît bien un, et un seul, langage et sa lib standard, ne pourra jamais envisager une solution optimale si son langage se prête mal au problème rencontré.
Je n'ai pas compris ce passage. Tes collègues sont brillants en maths mais ne connaissent pas XOR ?! Si oui, alors j'imagine qu'ils connaissent le concept de 'ou exclusif' sans connaître le sobriquet que lui donne les informaticiens, ce qui n'est pas vraiment un souci à mon sens ni une lacune théorique (ils trouveront le jour où ils en auront besoin). Si c'est autre chose alors explique plus clairement stp.
En ce qui me concerne, si les gens ne sont pas opérationnels dans l'heure, ça ne me semble pas choquant s'ils ont les bases pour le devenir rapidement (pour moi c'est ça un bon informaticien). "Quoi tu as fait du Qt/GTK/… mais jamais de Swing ! Tu ne dois sûrement pas être capable de faire une GUI, car pour ça il faut connaître par cœur la signature du constructeur de JButton !". En ce qui me concerne une boite qui me dirait ça, je n'aurai probablement pas envie de travailler pour elle dans tous les cas ; après je ne sais pas quels sont les plans de notre posteur, car sa demande était assez vague, nous sommes d'accord.
[^] # Re: ca depend de ta maniere d'apprendre
Posté par GuieA_7 (site web personnel) . En réponse au message Quel est le meilleur moyen d'apprendre à utiliser un langage de programmation ?. Évalué à 5.
1) Je pense que l'incompréhension vient que ce ce j'appelle langage, c'est seulement le langage (sa grammaire, sa sémantique), mais :
J'ai aussi dit que coder correctement était difficile dans tous les langages, et que maîtriser même un langage simple était difficile. Je fais du Python, langage simple, depuis plus de 10 ans, il m'arrive encore d'apprendre des choses dessus ; et je ne parle pas de fonctions de la lib standard (il est évident que je ne la connaît pas par cœur), mais bien d'aspect du langage lui-même. Là encore on est d'accord mais tu me le réexpliques quand même.
J'ai aussi dit que l’excès de simplicité du langage pouvait justement être une source de difficulté pour le programmeur (il manque des notions qui auraient permis que le langage fasse les choses à notre place, donc le programmeur doit faire plus d'efforts). Donc le fait que le langage soit simpliste n'implique pas que coder des choses complexes soit simple, c'est très exactement le contraire.
2) La phrase originelle disait que le langage Java faisait partie des plus savants. C'est faux il fait partie des langages les plus simples parmi les langages les plus utilisés. Et c'est normal Java a été conçu dans cet optique :
"Le langage Java reprend en grande partie la syntaxe du langage C++, très utilisée par les informaticiens. Néanmoins, Java a été épuré des concepts les plus subtils du C++ et à la fois les plus déroutants, tels que les pointeurs et références, ou l’héritage multiple contourné par l’implémentation des interfaces. Les concepteurs ont privilégié l’approche orientée objet de sorte qu’en Java, tout est objet à l’exception des types primitifs (nombres entiers, nombres à virgule flottante, etc.)."
"L’équipe envisageait initialement d’utiliser le langage C++, mais l’abandonna pour différentes raisons. Tout d’abord, ils développaient sur un système embarqué avec des ressources limitées et estimaient que l’utilisation du C++ demandait un investissement trop important et que cette complexité était une source d’erreur pour les développeurs. L'absence de ramasse-miettes impliquait que la gestion de la mémoire devait être programmée manuellement, un défi mais aussi une source d’erreurs."
"Il faut noter que les évolutions successives du langage ne portent guère sur sa syntaxe -relativement stable depuis le début- mais principalement sur l'enrichissement de ses fonctions, avec l'embarquement et l'optimisation de bibliothèques logicielles (API) dans des domaines très variés de l'informatique : bases de données, gestion XML, informatique distribuée et web, multimédia, sécurité…"
Tiré de https://fr.wikipedia.org/wiki/Java_%28langage%29
Note que le fait qu'il fasse partie des plus simples n'implique pas qu'il soit simple dans l'absolu. Donc oui il a des subtilités, mais il y en a aussi dans les autres langages (et particulièrement en C++).
Quel rapport avec Java au juste ? Oui programmer c'est difficile ; oui mélanger des langages c'est difficiles ; oui si certains ont un GC ça va provoquer un certain type de problème, mais Java n'est pas le seul à avoir un GC (anecdote: on peut mettre un GC en C++, mais pas gérer sa mémoire manuellement en Java) et le GC facilite la vie 99% du temps, donc encore une fois ça ne rend pas Java plus complexe que les autres.
[^] # Re: ca depend de ta maniere d'apprendre
Posté par GuieA_7 (site web personnel) . En réponse au message Quel est le meilleur moyen d'apprendre à utiliser un langage de programmation ?. Évalué à 5.
Même les dernières versions de Java sont loin d'être aussi expressives que l'état de l'art d'il y a 15 ans (youpi il y a enfin les lambdas, la concurrence tremble), donc peu importe la version du langage Java, cela reste un langage plutôt simple. Rien que le langage de template de C++ déja présent il y a 20 ans (mais pas toujours implémenté par les compilateurs C++ tellement il est complexe), face aux generics poussifs de Java permet de voir l'abîme de complexité qui sépare les 2 langages. Note que je dis juste que C++ est plus complexe, je ne dis en aucun cas si un des 2 langages est mieux que l'autre (ils sont différents, avec des qualités différentes), ni s'ils sont bien (là c'est l'assurance de lancer une discussion interminable, ce n'était pas le but).
C'est quoi le rapport avec les langages ? Ce sont des choses qu'on peut être amené à coder dans n'importe quel langage. Le fait que cela soit difficile, c'est parce que coder c'est difficile, cela n'a rien a voir avec le côté simpliste ou non du langage.
Ça sera difficile dans tous les langages, parce que faire de la qualité c'est difficile par principe.
Après selon le projet, le langage choisi pourra être plus ou moins adapté (et donc rendre ça un peu moins difficile), et les difficultés techniques seront de natures différentes (ex: se battre avec les cycles de références en C++ qui provoquent des fuites mémoires, se battre avec le GC qui défonce les performances en Java).
Il est possible d'écrire du code non trivial (voire très complexe) même avec un langage simpliste. Et Java est relativement simpliste ; par exemple il a fallut attendre des plombes pour avoir des lambdas, alors que tous les langages avec gestion automatique de la mémoire les avaient depuis longtemps ; avoir des classes anonymes était une solution simple à ce manque, mais en pratique avoir un concept de moins pour garder le langage simple obligeait les codeurs à écrire plus de code moche ; ce qui s'appelle être simpliste (trop simple, la simplicité n'est plus une force, mais une faiblesse). Et le fait d'avoir des lambdas aujourd'hui ne ramène pas Java au niveau de l'état de l'art, ca le rend juste moins simple. Au contraire C++ dispose de beaucoup de concepts, ce qui le rend très (voire trop) complexe.
Maintenant un codeur qui veut maîtriser Java devra au final connaître l’écosystème Java, et cela sera difficile aussi (parce que devenir compétent c'est difficile).
[^] # Re: ca depend de ta maniere d'apprendre
Posté par GuieA_7 (site web personnel) . En réponse au message Quel est le meilleur moyen d'apprendre à utiliser un langage de programmation ?. Évalué à 3.
C++ est clairement très complexe, voire compliqué.
Java le langage en revanche est plutôt simple, voire simpliste (ce qui ne veut pas dire non plus qu'on en connaît les moindres subtilités en 2 heures évidemment). Après il existe tout un tas de bibliothèques/outils permettant justement de pallier les lacunes du langage. Du coup c'est l'écosystème Java qui est assez complexe.
Ça ne remet pas en cause ce que tu dis, et mixer pratique et théorie est effectivement la bonne approche.
[^] # Re: Python 3?
Posté par GuieA_7 (site web personnel) . En réponse au journal CPython abandonne Mercurial et passe à Git et Github. Évalué à 4. Dernière modification le 08 janvier 2016 à 10:10.
Mercurial est lui-même écrit principalement en Python (et donc du Python 2.X, le passage en Python 3 étant sujet à débats).
[^] # Re: Mattermost : alternative libre très complète à Slack
Posté par GuieA_7 (site web personnel) . En réponse au journal Slack remplace l'IRC, ou comment l'opensource qui ne réussit pas à se défaire de ses démons. Évalué à 4.
Il y aussi Zulip libéré par DropBox il y a quelques mois ; après je ne l'ai jamais testé, et si des gens ici l'ont fait, des retours seraient intéressants.
# StringIO
Posté par GuieA_7 (site web personnel) . En réponse au message Équivalent Python au ostringstream de C++ ?. Évalué à 5.
https://docs.python.org/release/2.7/library/stringio.html#module-StringIO
[^] # Re: Ca sert à quoi Perl6 ?
Posté par GuieA_7 (site web personnel) . En réponse au journal Bientôt Noël pour Perl6. Évalué à 3.
C'est vrai, mais personne ici n'a soutenu le contraire en même temps.
En gros Perl t'a appris les idiomes du Perl. On pourrait en dire autant de n'importe langage donc.
Soit un langage est utilisé par les gens, et il devient forcément un langage de vieux (en ayant au passage plus ou moins inspiré son ou ses successeurs), soit tout le monde s'en tape.
On peut faire tout ça avec n'importe quel langage.
On peut faire ça avec n'importe quel langage éloigné des autres langages qu'on connaît déjà. Entre C, Python, Rust, Erlang, Haskell, Prolog, Ada (par exemple) on a déjà des concepts très différents à appréhender. Les concepts de Perl6 apportent-ils tant de choses que ça (c'est une vraie question) ?
Il existe des tas de très bons langages libres (ou avec au moins une implémentation libre). On peut donc demander quel est l'intérêt de Perl6 de toute bonne foi, sans sous-entendre qu'il ne sert à rien. Et par exemple "faire un langage pour s'amuser" peut être une réponse acceptable (mais pas forcément très motivante).
[^] # Re: Oublie
Posté par GuieA_7 (site web personnel) . En réponse au journal RPI Zero. Évalué à 4.
En effet, c'était subtile. Peut-être même un peu trop ! :)
C'est un peu connu maintenant, ceci expliquant cela…
[^] # Re: Oublie
Posté par GuieA_7 (site web personnel) . En réponse au journal RPI Zero. Évalué à 9.
En 2008/2009, j'ai bossé dans une boite qui fait un firmware de centre multi-média (qu'on retrouve dans une box internet d'un des 4 grands FAI français par exemple). La GUI était faite en Python, et s'appuyait sur des widgets en C et des briques en C++ pour les parties bas niveau. Ça marchait plutôt bien, et ça permettait de facilement faire évoluer l'interface du produit et de l'adapter spécifiquement pour les différents clients.
C'était d'ailleurs une source de tension en interne, et à chaque problème de réactivité de l'IHM, l'équipe C++ rappelait son envie de réécrire la GUI en C++. Là où c'est cocasse, c'est que 9 fois sur 10 lesdits problèmes venaient en fait… du code écrit en C++. Pour la bonne raison que la clé est d'écrire du code asynchrone avec de petites actions facilement annulables, et qu'en Python c'est assez facile à faire.
Conclusion: Python est très bien pour faire du prototypage ; mais régulièrement le prototype s'avère suffisamment bon pour que la réécriture ne s'impose pas vraiment.
[^] # Re: Utilise "values"
Posté par GuieA_7 (site web personnel) . En réponse au message JSON how to get the data I want.. Évalué à 2.
Plutôt que
je trouve plus élégant:
Remarque: du coup si c'est vide on se tapera une exception
StopIteration
à la place d'uneKeyError
. J'imagine qu'il faut gérer ce cas.Question pour Marotte: es-tu sûr que dans le dictionnaire la première valeur (s'il elle existe) est forcément la bonne ?
[^] # Re: Intuitivement...
Posté par GuieA_7 (site web personnel) . En réponse au message Problème de doublons dans un fichier txt. Évalué à 2.
Ok, et donc que veux-tu ?
[^] # Re: Intuitivement...
Posté par GuieA_7 (site web personnel) . En réponse au message Problème de doublons dans un fichier txt. Évalué à 4.
Tu n'as pas à te justifier d'être débutant, le forum est là pour ça (sinon je ne me fatiguerai pas à répondre). En revanche, dans la mesure où tu vas faire évoluer ce code, il va bien falloir le comprendre un minimum; ça tombe bien car Python est plutôt simple à appréhender, et ce code ne fait pas grand chose non plus. L'améliorer est donc tout à fait possible pour un débutant, et c'est un bon moyen d'apprendre (potentiellement plus que d'écrire du code trivial au kilomètre).
La question est donc de savoir si tu as compris comment implémenter la solution numéro 1 que je t'ai donnée (sûrement la plus adaptée).
[^] # Re: Intuitivement...
Posté par GuieA_7 (site web personnel) . En réponse au message Problème de doublons dans un fichier txt. Évalué à 5.
Avec un peu d'imagination les solutions sont nombreuses :
None
ferait l'affaire mais c'est une autre histoire).Sinon quelques remarques sur ton code:
s'écrit en Python idiomatique:
gagnerait à être écrit (plus court, le fichier est fermé même en cas d'erreur):
Ça serait mieux que tes tas de
text.split("\n")
soit fait une seule fois au début et stocké dans une variable.Il n'y a pas besoin de 'parenthéser' les
return
ou lesif
.'/'+str(cptA)+'/'+str(cptB)+'/'+str(i)
devient en plus concis/lisible (et plus rapide je pense)'/%s/%s/%s' % (cptA, cptB, i)
(les string ont aussi une méthode format() mais je suis resté à mes vieilles habitudes).Ça fait longtemps que
<>
est obsolète au profit de!=
.[^] # Re: CremeCRM
Posté par GuieA_7 (site web personnel) . En réponse au message Quel CRM libre choisir aujourd'hui ?. Évalué à 2.
Mon collègue était surpris que dpkg-config ne soit pas déjà installé ; du coup il mettra à jour le tutoriel.
[^] # Re: Écrire du texte, "C'est tout con, mais c'est horripilant"
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Entretien avec Jehan, développeur GIMP. Évalué à 3.
Évidemment qu'il y a des chefaillons un peu partout, y compris dans le libre. Mais tu présentes ça dans un thread qui parle d'une fonctionnalité bancale de Gimp. Alors c'est peut-être juste maladroit de ta part, mais du coup tu présentes le problème des chefaillons comme majeur dans le libre, et qui expliquerai peut-être la frustration de cet utilisateurs : peut-être que si les fonctionnalités étaient choisies par les utilisateurs finaux il y aurait moins de frustration.
Je pense que, dans le cas général, et dans notre cas particulier de Gimp, c'est un faux problème (ou tout du moins très mineur). Non le problème c'est qu'il y a très peu de développeurs par rapport à l'importance du logiciel (on a vu la même chose avec OpenSSL par exemple). Les fonctionnalités peuvent être choisies au mieux, il faudrait 10 fois plus de codeurs (et/ou que les dév actuels puissent travailler à plein temps dessus) pour que le développement se fasse à une vitesse satisfaisante.
Mais le problème est complexe, ce n'est pas la faute des utilisateurs qui seraient juste des feignasses hein. Du coup l'initiative de Jehan qui permet aux utilisateurs de financer le développement du logiciel est très bonne à mon avis. Parce que contrairement aux simples dons que tous les projets acceptent, là on a une vrai dynamique de 'vous donnez et moi derrière je peux bosser à plein temps'.
[^] # Re: Écrire du texte, "C'est tout con, mais c'est horripilant"
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Entretien avec Jehan, développeur GIMP. Évalué à 7.
Pas du tout; en fait c'est très exactement le contraire : je souligne l'incohérence de tes propos, et en particulier cette phrase.
En effet, il n'est pas du tout question d'esclavage dans mon post ; tu es tout à fait en droit de refuser. En fait n'importe qui refuserait, c'est bien normal. Pourtant les 10 personnes n'ont aucune gène à venir demander ("on n'est pas du tout pour l'esclavage hein, mais si tu le ne fais pas t'es qu'un sale égoïste"). Pourtant tu le vois comme de l'esclavage, et c'était le but.
En revanche, désolé, mais c'est toi qui es malhonnête :
Allez comme j'adore les analogies je vais affiner un peu :)
Il se trouve qu'en effet un week-end sur 2 tu nettoies le littoral (à la base tu adores le littoral, le centre ville tu t'en tapes). 10 personnes (parmi lesquelles un t'a prêté un balai et une autre donné un sac poubelle) viennent te voir pour que tu nettoies d'autres quartiers. 3 veulent que tu nettoies le quartier A, 2 le quartier B, le reste 5 quartiers différents ; celui qui t'a prêté un balai continuera à le faire, et peut être même qu'une 2ème personne te donnera un sac poubelle. Et donner des retours ne leur fait pas peur non plus : si ce n'est pas assez propre ils te le diront. Parce que tu es gentil, tu acceptes de nettoyer le quartier A (c'était les plus nombreux). Bilan: tu fais 7 déçus qui penses que tu es un égoïste et que tu ne les écoutes pas du tout :)
[^] # Re: Écrire du texte, "C'est tout con, mais c'est horripilant"
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Entretien avec Jehan, développeur GIMP. Évalué à 10. Dernière modification le 29 juin 2015 à 21:37.
J'imagine que si 10 personnes venaient te demander de venir balayer la rue un dimanche (alors que toi tu voulais mater des Game of Thrones tranquille), gratuitement et pendant qu'ils regardent, tu t'exécuterai. Ben oui ça serait très démocratique (ils sont 10 et toi 1), et en plus ça serait utile à la communauté (alors que bon glander pendant ton temps libre, quelle idée). Et puis bon ils pourraient tout à fait apprendre à balayer, mais sincèrement ça a l'air difficile et assez chiant, alors que toi tu feras ça sûrement très bien. Ne t'inquiète pas, dans un grand élan démocratique ils seront toujours prêts à te dire si ton travail ne leur convient pas et qu'ils faut recommencer. Enfin sauf qu'en fait M. Machin il voulait que tu balayes devant chez lui avant devant chez Mme Truc, du coup il ne trouve pas ça super démocratique quand même, tu ne l'écoutes pas du tout, il a même l'impression que tu lui pisses à la raie, c'est pas très sympa.
[^] # Re: CremeCRM
Posté par GuieA_7 (site web personnel) . En réponse au message Quel CRM libre choisir aujourd'hui ?. Évalué à 4.
Oui c'est plus ou moins possible, mais pas de manière forcément très satisfaisante malheureusement.
Aux alentours de 2010, quand on a regardé ce qui était le mieux pour synchroniser les contacts/activités avec les téléphones, ActiveSync (AS) semblait être le seul truc disponible à peu prêt partout. Comme c'est un machin pas forcément super ouvert de chez Microsoft, nous n'étions pas franchement enchantés, mais nous avons implémenté un module 'activesync', qui se connecte à un serveur AS en tant que client (comme un téléphone en fait) et permet donc la synchro. Il te faut donc un client AS sur ton téléphone (l'iPhone le fait de base et Android le faisait, avant en tout cas) et un serveur AS : à l'époque c'était généralement un Exchange ou un compte Google (en libre il me semble qu'on a rapidement eu des problèmes avec ZPush, et comme ce n'était pas vraiment demandé par les utilisateurs/clients on n'a pas persévéré dessus).
En pratique l'implémentation de chez google marchait pas trop mal (mais pétait les plombs de temps en temps ; il préfèrent clairement qu'on passe par leur API perso…), et selon les version d'exchange ça marche plus ou moins bien (si tu es intéressait par exchange—mais j'imagine que non :)—je peux demander ce qui tourne chez nos clients). Et il y a genre 6 mois google a arrêté le protocole ActiveSync sur ses serveurs (et sur les téléphones récents je ne sais pas trop ; peut être une app externe au pire).
Conclusion: via ActiveSync éventuellement.
Sinon, un de mes collègues développe pour un client un module qui utilise l'API google. Ça arrivera donc dans le trunk quand on en sera satisfait, mais ce n'est pas disponible à l'heure actuelle, et encore moins dans la version stable.
Personnellement j'aimerai bien bosser avec du CardDav/CalDav, vu que c'est plus standard et disponible sur la plupart des téléphones maintenant (et les serveurs google). Mais comme ce n'est pas du tout demandé par nos clients (c'est triste mais google est omniprésent, et ils ne s'en séparerons pas pour nos beaux yeux :) ) et qu'à côté j'ai plein de choses à faire, c'est repoussé à quand j'aurai le temps (ou quand un client sera intéressé donc).
Dernière solution:
tu as des outils pour synchroniser un téléphone avec un client mail (parfois, outlook permet de le faire avec des logiciels tiers) ; ensuite tu exportes tes contacts en CSV/XLS dans ton client mail et tu réimportes dans Creme (on a un importeur CSV/XLS assez puissant).
Mais ce n'est à priori pas automatisable : c'est vraiment pour un premier import, pas pour de la synchronisation.
Voila. J'espère que ma réponse n'était pas trop ennuyante.
[^] # Re: Écrire du texte, "C'est tout con, mais c'est horripilant"
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Entretien avec Jehan, développeur GIMP. Évalué à 10.
Je ne sais pas si c'est de la bêtise ou de la méchanceté (les 2 n'étant pas mutuellement exclusifs), mais tes commentaires sont vraiment toxiques.
J'imagine que cracher sur le travail des autres ça t'aide à te sentir malin. C'est sûr que c'est plus facile que de venir nous présenter ton propre travail ; toi qui fait sûrement passer l’intérêt des utilisateurs avant le tien (et ce même lorsque c'est sur ton temps libre évidemment), ça doit être bien pourtant. Mais je suis à peu près sûr que ça n'arrivera pas…
(et oui désolé linuxfr je ne t'ai pas écouté et j'ai nourri le troll)
[^] # Re: Bouleversifiant
Posté par GuieA_7 (site web personnel) . En réponse au journal Nous les intellectuels autoproclamés du numérique. Évalué à 1.
On fait ça ! Cela sera l'occasion de savoir qui tes enfants ont le plus écouté, Nabila ou toi. Qui sait, tu pourrais être agréablement surpris :)
[^] # Re: Écrire du texte, "C'est tout con, mais c'est horripilant"
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Entretien avec Jehan, développeur GIMP. Évalué à 10.
Va vraiment falloir retrouver et tabasser les utilisateurs qui ont demandé à ce que E17 sorte avec 10 ans de retard et sans appli :)
[^] # Re: Bouleversifiant
Posté par GuieA_7 (site web personnel) . En réponse au journal Nous les intellectuels autoproclamés du numérique. Évalué à 4.
Bon j'aurai sûrement beaucoup de choses à répondre, mais comme on semble au final tout à fait d'accord, cela serait inutile.
Juste une chose : les gens de ma génération on toujours vécu en entendant "c'est la crise" ; alors pour nous au final cela ne veut pas forcément dire grand chose. Il est normal que tu t'inquiètes en voyant tes enfants vivre dans un monde où trouver du travail (par exemple) est bien plus difficile qu'à l'époque où toi tu as commencé.
C'est fondamentalement humain que tu vois en premier lieu ce qu'on a perdu, et que ce qu'on a gagné soit juste du bonus. Mais au final je pense que la plupart des gens [*] ont en fait toutes les cartes en main pour vivre heureux, mais qu'il faille faire l'effort de s'en rendre compte. Les média en véhiculant l'image que la "réussite" (j'ai vraiment horreur de ce terme) ça soit l'argent facile et rapide et la célébrité ont à mon avis une grande part de responsabilité dans ce problème ; mais je refuse de tout leur mettre sur le dos car chacun a aussi la possibilité de réfléchir par soi-même, et donc c'est la solution de facilité de dire "c'est leur faute ils ont qu'à dire des trucs intelligents pour que nous n'ayons pas besoin de réfléchir".
[*] parce que oui évidement qu'il y a de la vraie misère en France. Mais les vrais miséreux, même s'ils seront toujours trop nombreux ne sont heureusement que très peu. Beaucoup de pauvres ont un logement avec l'électricité, l'eau courante, un frigo pas trop vide, Internet, une télé… Si les richesses étaient mieux réparties (et c'est le problème) leur vie n'en serait que meilleure certainement, mais on est (heureusement) bien loin des 'Misérables', et les gens ont au final bien trop à perdre pour prendre la fourche et le fusil et faire la révolution (je ne veux surtout pas dire "y a des gens qui meurent alors taisez vous", juste "ce n'est pas grave si à 50 ans vous n'avez pas une Rollex" :) ).
[^] # Re: Bouleversifiant
Posté par GuieA_7 (site web personnel) . En réponse au journal Nous les intellectuels autoproclamés du numérique. Évalué à 8.
Y a vraiment encore ici des gens pour tenir ce genre de discours digne du bistrot du coin ? (à moins que ça ne soit de l'humour ; si c'est le cas désolé)
Je pense qu'il y a 3000 ans les vieux disaient déjà des plus jeunes qu'ils étaient stupides/fainéants/superficiels/…
Alors que bien sûr tous les gens de ta génération sont intelligents/travailleurs/honnêtes ; du coup c'est à se demander pourquoi la planète est dans cet état.
j'ai 34 ans (j'imagine tu en as un peu plus), et déjà à mon époque la plupart des gens se passionnaient pour des trucs stupides de jeunes et des people à 2 balles. Et désolé mais à l'époque Sheila et compagnie c'était pas non plus super intellectuel. Et dans ma famille ceux qui consomment le plus des ragots people, ce sont des personnes âgées (je doute que ça soit les lycéens qui fassent vivre 'France dimanche'…).
Tu as visiblement choisi ton confort et celui de ta famille comme principale priorité, et il n'y a vraiment rien de mal à ça (devine quoi ? la plupart des gens font ça). Mais du coup, en tant qu'informaticien, si tu trouves que les boites d'informatique sont toute naze, et bien c'est aussi de ta faute ; pas entièrement de ta faute évidemment, ta faute de manière infinitésimale, mais non nulle. Si tous les informaticiens comptent sur le fait que d'autres montent des boites par exemple, et bien ce sont effectivement des non-informaticiens qui montent des boites (des financiers par exemple). Et de la même manière que toi tu ne joueras pas l'avenir de ta famille sur un coup de poker en changeant de travail, et bien personne ne va venir monter une boite à 200 mètres de ta maison et te proposer de doubler ton salaire pour un travail à mi-temps sur un passionnant logiciel libre.
[^] # Re: CremeCRM
Posté par GuieA_7 (site web personnel) . En réponse au message Quel CRM libre choisir aujourd'hui ?. Évalué à 2.
Voila j'ai créé la fiche sur alternativeto.net (une belle façon de passer son samedi matin :) ). Elle est en attente de validation.