Parce que, comme un certain nombre de service et même d'applications, ton service fait appel à la bibliothèque standard C pour lui donner un certain nombre d'informations à propos des utilisateurs, choses qu'elle va en principe chercher dans les fichiers de config.
Or, NSSwitch est justement là pour fournir d'autres sources de données, de manière transparente, dont une base LDAP. Donc, ton serveur LDAP se plaint au démarrage parce que le serveur LDAP n'est pas lancé :-)
Pour autant, on s'aperçoit également que ce n'est pas ça qui empêche ton serveur de démarrer.
Alors là, pour le coup, on est entièrement d'accord.
Cependant, par « la plus créative », je n'entendais pas forcément « la plus noble ». Elle l'est, à mon avis, dans le sens où il est très simple d'ouvrir un nouveau fichier et de s'en aller vers n'importe quelle voie, que ce soit un PRINT "BONJOUR" ou la rédaction du noyau Linux, mais aussi une bello démo, quoi que ça se perde aussi ...
C'est la même chose que de prendre une feuille de papier et se mettre à dessiner mais même là, les arts graphiques ont malheureusement un coût qui grimpe assez vite. Aujourd'hui, même avec un investissement initial relativement restreint, on peut avoir un PC avec une carte grahique de tueur et 400 Go de disque dur.
Sans te connaitre, j'ai l'impression à lire ta prose que tu rentres dans la catégorie des codeurs frustrés de ne pas recevoir la considération qu'ils estiment leur être due.
Non. Pourtant, ça aurait pu, effectivement.
En fait, j'aime mon métier, mais il est généralement bien considéré. Par contre, il y a effectivement beaucoup de gens qui pensent que ce n'est pas plus compliqué de bien programmer que de déboucher un évier. Pour autant, ce n'est pas forcément du mépris.
Personnellement, je considère que algorithmie et programmation sont deux activités différentes. Elles peuvent être réalisées par la même personne sur un certain nombre de projets ou sur des éléments déterminés, mais cela reste des activités distinctes
Ça en revient à ce que je disais au dessus. Un électronicien accompli est quelqu'un qui manie aussi bien le fer à souder que les formules qui régissent le phénomène. Après, évidemment, on peut se spécialiser, spécialement quand on fait de la micro-électronique.
Malheureusement, je vois trop souvant dans mon boulot (bioinfo) des codes dont algo et implémentation ont été fait par la ou les mêmes personnes, et on obtient souvant des choses sous-optimales dans au moins une des deux catégories.
Je travaille aussi dans une unité de bioinfo, même si je ne suis pas moi-même biologiste et ce cas de figure est très particulier : il est très difficile d'être à la fois très bon biologiste et très bon coder, parce que c'est une vraie double compétence, et que la bio est plus éloignée encore de l'informatique que le sont déjà les sciences dures traditionnelles.
De toutes façons, la bioinformatique est un métier à part entière et pourtant récent. Il y a même des écoles qui se construisent pour se focaliser sur ce type d'application.
asser de 5% à 10% d'utilisation CPU ne va pas changer la face du monde, mais dans le cas d'application de calcul ou d'applications critiques, ce n'est pas tout à fait la même chose.
Oui mais justement. Le problème de la bioinfo est de coder des logiciels efficaces et qui soient adaptés aux besoins des biologistes. Là, tu vas avoir besoin de deux personnes spécialisées dans leur métier avec éventuellement un correspondant entre les deux.
Par contre, passer de 10% à 5% d'utilisation du CPU, ça ne peut pas se faire efficacement sans bien connaître le fonctionnement de sa machine. Il faut bien se rendre compte que ça marche dans les deux sens : autant optimiser le code pour faire fonctionner un algo congénitalement pourri est absurde, autant considérer qu'un algorithme parfait sur le papier sera forcément le plus efficace quelque soit le contexte l'est tout autant.
Et encore. Je pense que dans bien des cas, son boulot consiste en mettre ensemble des éléments prééxistants et trouver la "colle"qui permettra de faire de l'ensemble des pièces un tout cohérent et qui correspond au besoin (et aux contraintes).
C'est aussi quelque chose qui pourrait être débattu longuement : jusqu'à quel stade faire de la veille technologique et de la recherche de l'existant reste-t-il plus efficace que de réinventer la roue ? Pas si simple d'y répondre, encore moins hors-contexte :-)
Pour reprendre ton exemple de l'avion, le but n'est pas de savoir dessiner un boulon, [...] Ce n'est pas du calcul mathématique et pourtant c'est tout de même de l'ingénieurie
C'est bien ça que je voulais dire : il s'agit d'un travail pluri-disciplinaire mais très lié, et surtout très appliqué.
Après, vouloir limiter le travail de l'ingénieur technique au fait de pouvoir pondre du code, c'est soit être frustré, soit vouloir le remplacer à terme par des BTS sous peu ;-)
J'expliquais le contraire.
Je sais bien que mes posts sont particulièrement longs, mais quand même.
Ensuite, 'faudrait peut-être remettre les choses à leur place et revaloriser aussi le métier des techniciens. C'est précisément parce que beaucoup de gens estiment qu'on n'est en mesure de raisonner seul qu'à partir du niveau ingénieur que le métier se galvaude. Même à Bac+2, point de salut, aujourd'hui, dirait-on.
En particulier, sous la pression de la spécialisation des entreprises et de a complexité de certains systèmes spécialisés (typiquement des systèmes embarqués),
Naturellement. Mais le fait de revaloriser le travail du coder n'enlève rien à celui des autres acteurs. Pour être tout-à-fait franc, j'ai moi-même beaucoup travaillé en autodidacte, écrit mes premiers programmes autour de 10 ans avec le plan IPT, pour ensuite réintégrer, étant adulte, une école d'ingé. On y trouve tout ce que l'on n'aurait pas rencontré ou approfondi soi-même. En particulier, les spécifications formelles.
On peut ensuite aborder l'informatique fondamentale par le côté «&nsbp;science du traitement de l'information » (École de Dijkstra) ou appliquée, en concevant des algos les plus adaptés possibles à la machine sur laquelles ils vont tourner (approche qui a eu tendance à se perdre ses dernières années). Le piège étant de voir midi à sa porte et de ne considérer l'activité que depuis un seul de ces points de vue.
C'est comme apprendre la musique au conservatoire ou dans un club de jazz. Les premiers seront d'excellents musiciens (même si très théoriques, au départ), mais les seconds pourront peut-être aussi devenir des Jimi Hendrix ...
je ne vois pas pourquoi ça impliquerait, comme tu l'as interprété, qu'il n'y a que le pisseur de code qui fait de la programmation.
Effectivement, mais son commentaire suivant ne laissait aucun doute à ce sujet, malheureusement.
Mais par contre, on ne peut pas nier qu'avec les besoins en informatique, et en particulier en développement, on a maintenant des équipes immenses de gens qui ont une capacité d'abstraction théorique assez minable mais qui savent programmer, comme ils savent écrire en français correct sans être des grands écrivains. Les DailyWTF sont une bonne illustration de ce phénomène :)
Tout-à-fait, mais cela reflète plus le niveau de compétence et de spécialisation des personnes concernées qu'une vraie séparation des disciplines (et c'est pas plus mal parce que le DailyWTF me fait toujours bien rigoler :-).
Mais ça met en lumière ce qui nous distingue, Aldoo et moi : pour moi, un programmeur est forcément une personne capable d'abstraction et de produire des algorithmes efficaces, quelque soit le langage, même si on passe beaucoup de temps sur son préféré.
Ce serait un peu comme dire qu'un électronicien ne fait qu'assembler des composants, même si sa platine est très propre, mais que c'est aux physiciens de connaître la loi d'Ohm.
Après quant à savoir si la programmation est toujours la pierre angulaire de l'informatique, je suis plutôt d'accord
La pierre angulaire, je ne l'affirme même pas, encore que je ne vois pas d'autre displine « dominer » l'informatique. Mais la plus créative, je pense que c'est toujours le cas.
Surtout que sur la plupart des téléviseurs de ce type, enfin au moins sur le mien, il existe un mode « zoom ». Ça élargit au maximum en conservant les proportions et donc, oui, ça tronque le haut et le bas de l'image ... soit justement ces fameuses bandes noires quand un film est diffusé en 4:3.
C'est-à-dire que, dit comme çà, j'ai l'impression que pour Aldoo, coder est une activité rebutante, voire dégradante (d'une part) et - surtout - que les gens qui le font n'arrivent qu'en bout de ligne pour traduire dans un langage donné un pseudo-code qui a déjà été prémaché par leurs supérieurs. Je pense que depuis 1960, ce modèle n'existe plus.
D'une part, il y a bien longtemps que l'on ne distingue plus les analystes des programmeurs, d'autre part, ce sont ceux qui sont confrontés de près à l'utilisation de leur machine au quotidien qui développent le meilleur esprit d'analyse et qui pondent au final les algos les plus efficaces. Alors constater qu'il y a des gens qui pensent qu'au contraire, quand on est devant un écran, on n'est qu'exécutif, ça me scie.
Aldoo a carrément écrit que le travail d'un programmeur ne réside que dans sa forme !
En outre, il y a bien longtemps, également, que les ordinateurs ont dépassé le simple stade des outils d'aide aux mathématiques. Avec ce genre de raisonnement, on n'aurait jamais connu les jeux vidéos, par exemple.
M'enfin bon. Tout cela est assez révélateur de la mentalité d'une certaine partie des scientifiques, que je pensais pourtant en nette régression. Les gens qui sont doués pour les mathématiques traditionnelles avaient l'habitude d'être les rois du monde, parce que ça s'applique à peu près tout les domaines de la vie courante : physique sous toutes ses formes, finances, astronomie, aérospatiale, etc. Or, il se trouve que les ordinateurs utilisent et poussent à l'extrême une branche très particulière de ces mathématiques dans laquelle ces gens-là ne sont pas plus avantagés que le commun des mortels. Malgré cela, les ordinateurs sont omniprésents. Et beaucoup de gens ne comprennent pas que l'on remette en cause l'universalité de leur connaissances.
Et puis puisque l'on parle d'ingénierie, il est de fait que beaucoup de gens estiment désormais que l'activité principale d'un ingénieur n'est plus la conception, mais le management. Ça, déjà, ça pourrait faire jazzer pendant des heures, mais bon. Pour moi, l'emblématique de l'ingéniérie est la conception des ponts et des avions. Beaucoup de maths et de théorie initiale, certes, mais pour produire quand même au final des ouvrages d'art (dans tous les sens du terme). Spécialement, en aéronautique, d'ailleurs (« pour qu'un avion vole bien, il faut qu'il soit beau », selon Marcel Dassault).
Avec ce genre d'approche, on arriverait à des trucs du style : « pour faire un avion, on part de l'existant - un autobus - on lui colle deux ailes et on motorise suffisamment, jusqu'à ce que ça vole ». Et quand je vois comment sont conduits certains projets, particulièrement en informatique, je me dis que c'est pas loin de la réalité.
que ce soit au niveau recherche, ingénierie ou pissage de code.
Je crois qu'il n'y a rien à faire. La programmation est l'essence-même de l'informatique. C'est probablement l'activité la plus créative de toute la discipline, mais aujourd'hui, un programmeur, c'est un pisseur de code. Un ingé évolue forcément vers quelque chose d'autre, sinon ce n'est plus un ingé. C'est désolant.
OpenSSL utilise un fichier de configuration pour connaître les valeurs par défaut de tout ce qu'il y a à mettre dans un certificat. Tu peux passer une bonne partie de ces valeurs sur la ligne de commande, mais elle devient alors kilométrique ... Donc : regarde dans /etc/pki/tls/openssl.cnf. C'est le fichier de configuration d'OpenSSL par défaut. Copie-le dans le répertoire config de la CA que tu as dû créer si tu as suivi le tutoriel en entier.
Édite cette copie et mets-y tes valeurs par défaut. Lis bien chaque option, y compris celle qui sont commentées. Fais ensuite des copies de ce fichier pour chaque type d'opération que tu as l'intention d'effectuer : requête, signature, création du certificat racine ... (en principe, ces deux ou trois-là devraient être suffisants).
Le détail qui change tout : n'oublie pas d'ajouter utf8 = yes dans la section [ req ]. Ou alors passer -utf8 sur la ligne de commande. Autrement, il te génère bien un certif' compatible UTF-8, mais il parse quand même le contenu de ton fichier de conf' en ASCII.
Il faudra donc au minimum préciser le pays (Country - C), l'organisation (O), l'unité organisationelle (OU), et le Common Name (CN), soit le p'tit nom de ton certif' ou de ce qu'il représente. Si tu crées ce certificat pour un serveur, le CN doit obligatoirement contenir le nom de serveur pleinement qualifié (avec le domaine).
De là, première étape (à n'effectuer qu'une seule fois), la création du certificat racine, que tu conserveras précieusement :
1) Génère suffisamment de données aléatoires dans un fichier (ainsi, tu pourras recommencer facilement en cas de pépin). Ça peut être long si tu utilises le générateur de vrais nombres aléatoires. N'oublie pas de provoquer de l'activité disque, réseau, souris et autres pour accélérer cette production. dd if=/dev/random of=private/.rand bs=1 count=16384
2) Tu vas créer la clé privée du certificat racine. À conserver en lieu sûr et à ne jamais divulguer ! D'ailleurs, tu vas même la protéger par une passphrase. Choisis-là suffisamment longue pour qu'elle ne soit pas triviale, mais pas trop compliquée non plus car tu la saisiras chaque fois que tu signeras un certificat. openssl genrsa -aes256 -out private/ca.key -rand private/.rand 4096
chmod 400 private/ca.key
3) Crée le certificat racine. On le fait en faisant une requête et en passant -x509 pour qu'il remplissent directement les champs qui en font un certificat à part entière ... en l'autosignant. « req » dit que l'on veut travailler sur des demandes de signature. « new » dit que l'on souhaite en créer une (et pas travailler sur un fichier existant). « root-ca-cert.cnf » est le nom de ton fichier de config. On va le signer avec la clé que tu viens de créer, il faudra donc saisir ta passphrase pour pouvoir utiliser cette clé. openssl req -new -x509 -days 3650 -config configs/root-ca-cert.cnf -key private/ca.key -out ca.crt
Et voila. Tu viens de créer le certificat racine, valable 10 ans, qui signera tous les autres. Il faudra également le communiquer aux différents clients si ce n'est pas automatique. C'est l'équivalent d'un CACert, Thawte ou Verisign. Note que ce certificat est à la racine de ton répertoire CA, et pas dans un de ses sous-répertoires. La clé privée, elle, reste en dessous de private. Sauve bien les deux et ne divulgue jamais la clé, encore une fois.
Deuxième étape, à répéter pour chaque certificat que tu vas créer et signer :
4) Regénère des données aléatoires (moins long cette fois) : dd if=/dev/random of=private/.rand bs=1 count=4096
5) Regénère une clé. Sans passphrase cette fois, parce qu'elle ne protège qu'un seul certificat, et qu'il faudrait resaisir cette passphrase à chaque fois que l'on relancerait le serveur qui utilise le certificat qu'elle protège. openssl genrsa -out private/ldap.key -rand private/.rand 1024
chmod 400 private/ldap.key
6) Refais une demande de signature en bonne et due forme, sans « -x509 », cette fois. Je te conseille de choisir comme nom de fichier la valeur que tu donneras à ton OU. De plus, on déposera cette demande dans le répertoire prévu à cet effet, « csr ». Le fichier « server-csr.cnf » est ton fichier de config dédié à la demande de certificats, si ce n'est pas le même. openssl req -new -out csr/ldap.csr -config server-csr.cnf -key private/ldap.key
7) Tu as maintenant un certificat, protégé par une clé secrète, mais pas encore authentifié. On va demander à la CA de signer ce certificat avec le sien. « sign.cnf » est le ficheir de config dédié à la signature. Si tu l'as bien configuré, il contient déjà les noms et emplacements du certificat racine et de sa clé, ce qui t'évite d'avoir à te les palucher à chaque fois sur la ligne de commande. openssl ca -out certs/ldap.crt -in csr/ldap.csr -config sign.cnf
Importe ensuite manuellement le fichier ca.crt dans la liste des autorités de certification de Firefox, par exemple. On ne doit pas te demander de passphrase à ce stade. Il faudra faire de même pour tous les clients sécurisés, style ldapsearch ou autre. Enfin, utilise un certificat signé (pas celui de la CA) par serveur à authentifier.
C'est fastidieux, mais c'est une méthode universelle. Avec çà, fini les certifs auto-signés.
Surtout qu'une machine, ça se dévalue vite. Si on veut en acheter deux pour le principe, il faut avoir la place et le budget. C'est idiot d'avoir une machine déjà périmée alors qu'elle n'a jamais été mise sous tension ...
J'vais p'têt dire une connerie, mais un bête fichier HTML à la place de tout le tralala, ce ne serait pas aussi efficace et largement plus « Open » et universel ?
Au pire, une deuxième interface réseau PCI bien rangée dans sa boîte est encore la solution qui reviendra le moins cher, puisqu'on peut pratiquement être sûrs, en plus, qu'elle sera immédiatement reconnue sous Linux.
Le jour où ta première interface réseau claque, ce qui n'est franchement pas courant, tu la branches, tu fais ifconfig et c'est fini.
[^] # Re: Sémaphore + Socket
Posté par Obsidian . En réponse au message Select sur un semaphore ?. Évalué à 2.
[^] # Re: Sémaphore + Socket
Posté par Obsidian . En réponse au message Select sur un semaphore ?. Évalué à 3.
# Sémaphore + Socket
Posté par Obsidian . En réponse au message Select sur un semaphore ?. Évalué à 4.
Mais dans les deux cas, tu peux préciser des jeux de sockets ou de sémaphores qui seront examinés de manière atomique.
Dans ton cas, c'est surtout un select() sur les sockets qui t'intéresse, donc laisse tomber le sémaphore et utilise deux sockets.
Bon courage;
[^] # Re: cn=chezmoicamarche,dc=org
Posté par Obsidian . En réponse au message ldap + tls. Évalué à 2.
Or, NSSwitch est justement là pour fournir d'autres sources de données, de manière transparente, dont une base LDAP. Donc, ton serveur LDAP se plaint au démarrage parce que le serveur LDAP n'est pas lancé :-)
Pour autant, on s'aperçoit également que ce n'est pas ça qui empêche ton serveur de démarrer.
[^] # Re: Informaticien ?
Posté par Obsidian . En réponse au journal Le chercheur, l'ingénieur et l'informaticien. Évalué à 2.
Cependant, par « la plus créative », je n'entendais pas forcément « la plus noble ». Elle l'est, à mon avis, dans le sens où il est très simple d'ouvrir un nouveau fichier et de s'en aller vers n'importe quelle voie, que ce soit un PRINT "BONJOUR" ou la rédaction du noyau Linux, mais aussi une bello démo, quoi que ça se perde aussi ...
C'est la même chose que de prendre une feuille de papier et se mettre à dessiner mais même là, les arts graphiques ont malheureusement un coût qui grimpe assez vite. Aujourd'hui, même avec un investissement initial relativement restreint, on peut avoir un PC avec une carte grahique de tueur et 400 Go de disque dur.
[^] # Re: Informaticien ?
Posté par Obsidian . En réponse au journal Le chercheur, l'ingénieur et l'informaticien. Évalué à 3.
Non. Pourtant, ça aurait pu, effectivement.
En fait, j'aime mon métier, mais il est généralement bien considéré. Par contre, il y a effectivement beaucoup de gens qui pensent que ce n'est pas plus compliqué de bien programmer que de déboucher un évier. Pour autant, ce n'est pas forcément du mépris.
Personnellement, je considère que algorithmie et programmation sont deux activités différentes. Elles peuvent être réalisées par la même personne sur un certain nombre de projets ou sur des éléments déterminés, mais cela reste des activités distinctes
Ça en revient à ce que je disais au dessus. Un électronicien accompli est quelqu'un qui manie aussi bien le fer à souder que les formules qui régissent le phénomène. Après, évidemment, on peut se spécialiser, spécialement quand on fait de la micro-électronique.
Malheureusement, je vois trop souvant dans mon boulot (bioinfo) des codes dont algo et implémentation ont été fait par la ou les mêmes personnes, et on obtient souvant des choses sous-optimales dans au moins une des deux catégories.
Je travaille aussi dans une unité de bioinfo, même si je ne suis pas moi-même biologiste et ce cas de figure est très particulier : il est très difficile d'être à la fois très bon biologiste et très bon coder, parce que c'est une vraie double compétence, et que la bio est plus éloignée encore de l'informatique que le sont déjà les sciences dures traditionnelles.
De toutes façons, la bioinformatique est un métier à part entière et pourtant récent. Il y a même des écoles qui se construisent pour se focaliser sur ce type d'application.
asser de 5% à 10% d'utilisation CPU ne va pas changer la face du monde, mais dans le cas d'application de calcul ou d'applications critiques, ce n'est pas tout à fait la même chose.
Oui mais justement. Le problème de la bioinfo est de coder des logiciels efficaces et qui soient adaptés aux besoins des biologistes. Là, tu vas avoir besoin de deux personnes spécialisées dans leur métier avec éventuellement un correspondant entre les deux.
Par contre, passer de 10% à 5% d'utilisation du CPU, ça ne peut pas se faire efficacement sans bien connaître le fonctionnement de sa machine. Il faut bien se rendre compte que ça marche dans les deux sens : autant optimiser le code pour faire fonctionner un algo congénitalement pourri est absurde, autant considérer qu'un algorithme parfait sur le papier sera forcément le plus efficace quelque soit le contexte l'est tout autant.
Et encore. Je pense que dans bien des cas, son boulot consiste en mettre ensemble des éléments prééxistants et trouver la "colle"qui permettra de faire de l'ensemble des pièces un tout cohérent et qui correspond au besoin (et aux contraintes).
C'est aussi quelque chose qui pourrait être débattu longuement : jusqu'à quel stade faire de la veille technologique et de la recherche de l'existant reste-t-il plus efficace que de réinventer la roue ? Pas si simple d'y répondre, encore moins hors-contexte :-)
Pour reprendre ton exemple de l'avion, le but n'est pas de savoir dessiner un boulon, [...] Ce n'est pas du calcul mathématique et pourtant c'est tout de même de l'ingénieurie
C'est bien ça que je voulais dire : il s'agit d'un travail pluri-disciplinaire mais très lié, et surtout très appliqué.
Après, vouloir limiter le travail de l'ingénieur technique au fait de pouvoir pondre du code, c'est soit être frustré, soit vouloir le remplacer à terme par des BTS sous peu ;-)
J'expliquais le contraire.
Je sais bien que mes posts sont particulièrement longs, mais quand même.
Ensuite, 'faudrait peut-être remettre les choses à leur place et revaloriser aussi le métier des techniciens. C'est précisément parce que beaucoup de gens estiment qu'on n'est en mesure de raisonner seul qu'à partir du niveau ingénieur que le métier se galvaude. Même à Bac+2, point de salut, aujourd'hui, dirait-on.
[^] # Re: Informaticien ?
Posté par Obsidian . En réponse au journal Le chercheur, l'ingénieur et l'informaticien. Évalué à 2.
Naturellement. Mais le fait de revaloriser le travail du coder n'enlève rien à celui des autres acteurs. Pour être tout-à-fait franc, j'ai moi-même beaucoup travaillé en autodidacte, écrit mes premiers programmes autour de 10 ans avec le plan IPT, pour ensuite réintégrer, étant adulte, une école d'ingé. On y trouve tout ce que l'on n'aurait pas rencontré ou approfondi soi-même. En particulier, les spécifications formelles.
On peut ensuite aborder l'informatique fondamentale par le côté «&nsbp;science du traitement de l'information » (École de Dijkstra) ou appliquée, en concevant des algos les plus adaptés possibles à la machine sur laquelles ils vont tourner (approche qui a eu tendance à se perdre ses dernières années). Le piège étant de voir midi à sa porte et de ne considérer l'activité que depuis un seul de ces points de vue.
C'est comme apprendre la musique au conservatoire ou dans un club de jazz. Les premiers seront d'excellents musiciens (même si très théoriques, au départ), mais les seconds pourront peut-être aussi devenir des Jimi Hendrix ...
je ne vois pas pourquoi ça impliquerait, comme tu l'as interprété, qu'il n'y a que le pisseur de code qui fait de la programmation.
Effectivement, mais son commentaire suivant ne laissait aucun doute à ce sujet, malheureusement.
Mais par contre, on ne peut pas nier qu'avec les besoins en informatique, et en particulier en développement, on a maintenant des équipes immenses de gens qui ont une capacité d'abstraction théorique assez minable mais qui savent programmer, comme ils savent écrire en français correct sans être des grands écrivains. Les DailyWTF sont une bonne illustration de ce phénomène :)
Tout-à-fait, mais cela reflète plus le niveau de compétence et de spécialisation des personnes concernées qu'une vraie séparation des disciplines (et c'est pas plus mal parce que le DailyWTF me fait toujours bien rigoler :-).
Mais ça met en lumière ce qui nous distingue, Aldoo et moi : pour moi, un programmeur est forcément une personne capable d'abstraction et de produire des algorithmes efficaces, quelque soit le langage, même si on passe beaucoup de temps sur son préféré.
Ce serait un peu comme dire qu'un électronicien ne fait qu'assembler des composants, même si sa platine est très propre, mais que c'est aux physiciens de connaître la loi d'Ohm.
Après quant à savoir si la programmation est toujours la pierre angulaire de l'informatique, je suis plutôt d'accord
La pierre angulaire, je ne l'affirme même pas, encore que je ne vois pas d'autre displine « dominer » l'informatique. Mais la plus créative, je pense que c'est toujours le cas.
[^] # Re: Une page web ?
Posté par Obsidian . En réponse au journal Accès au contenu "OpenDisc" d'un CD audio. Évalué à 2.
[^] # Re: Pour faire vendre des télés
Posté par Obsidian . En réponse au journal 4/3 16/9 panscan letterbox .... Évalué à 2.
[^] # Re: Informaticien ?
Posté par Obsidian . En réponse au journal Le chercheur, l'ingénieur et l'informaticien. Évalué à 9.
D'une part, il y a bien longtemps que l'on ne distingue plus les analystes des programmeurs, d'autre part, ce sont ceux qui sont confrontés de près à l'utilisation de leur machine au quotidien qui développent le meilleur esprit d'analyse et qui pondent au final les algos les plus efficaces. Alors constater qu'il y a des gens qui pensent qu'au contraire, quand on est devant un écran, on n'est qu'exécutif, ça me scie.
Aldoo a carrément écrit que le travail d'un programmeur ne réside que dans sa forme !
En outre, il y a bien longtemps, également, que les ordinateurs ont dépassé le simple stade des outils d'aide aux mathématiques. Avec ce genre de raisonnement, on n'aurait jamais connu les jeux vidéos, par exemple.
M'enfin bon. Tout cela est assez révélateur de la mentalité d'une certaine partie des scientifiques, que je pensais pourtant en nette régression. Les gens qui sont doués pour les mathématiques traditionnelles avaient l'habitude d'être les rois du monde, parce que ça s'applique à peu près tout les domaines de la vie courante : physique sous toutes ses formes, finances, astronomie, aérospatiale, etc. Or, il se trouve que les ordinateurs utilisent et poussent à l'extrême une branche très particulière de ces mathématiques dans laquelle ces gens-là ne sont pas plus avantagés que le commun des mortels. Malgré cela, les ordinateurs sont omniprésents. Et beaucoup de gens ne comprennent pas que l'on remette en cause l'universalité de leur connaissances.
Et puis puisque l'on parle d'ingénierie, il est de fait que beaucoup de gens estiment désormais que l'activité principale d'un ingénieur n'est plus la conception, mais le management. Ça, déjà, ça pourrait faire jazzer pendant des heures, mais bon. Pour moi, l'emblématique de l'ingéniérie est la conception des ponts et des avions. Beaucoup de maths et de théorie initiale, certes, mais pour produire quand même au final des ouvrages d'art (dans tous les sens du terme). Spécialement, en aéronautique, d'ailleurs (« pour qu'un avion vole bien, il faut qu'il soit beau », selon Marcel Dassault).
Avec ce genre d'approche, on arriverait à des trucs du style : « pour faire un avion, on part de l'existant - un autobus - on lui colle deux ailes et on motorise suffisamment, jusqu'à ce que ça vole ». Et quand je vois comment sont conduits certains projets, particulièrement en informatique, je me dis que c'est pas loin de la réalité.
[^] # Re: Informaticien ?
Posté par Obsidian . En réponse au journal Le chercheur, l'ingénieur et l'informaticien. Évalué à 4.
[^] # Re: Informaticien ?
Posté par Obsidian . En réponse au journal Le chercheur, l'ingénieur et l'informaticien. Évalué à 7.
Je crois qu'il n'y a rien à faire. La programmation est l'essence-même de l'informatique. C'est probablement l'activité la plus créative de toute la discipline, mais aujourd'hui, un programmeur, c'est un pisseur de code. Un ingé évolue forcément vers quelque chose d'autre, sinon ce n'est plus un ingé. C'est désolant.
[^] # Re: beurre, argent du beurre et ... de la cremiere
Posté par Obsidian . En réponse au message Cherche opérateur satellite Afrique/Amérique latine. Évalué à 2.
[^] # Re: beurre, argent du beurre et ... de la cremiere
Posté par Obsidian . En réponse au message Cherche opérateur satellite Afrique/Amérique latine. Évalué à 3.
[^] # Re: Journal / Forum
Posté par Obsidian . En réponse au journal Going full VOIP ?. Évalué à 2.
parler !
C'était presque bien joué! :)
Même chose ! :-)
[^] # Re: cn=chezmoicamarche,dc=org
Posté par Obsidian . En réponse au message ldap + tls. Évalué à 2.
OpenSSL utilise un fichier de configuration pour connaître les valeurs par défaut de tout ce qu'il y a à mettre dans un certificat. Tu peux passer une bonne partie de ces valeurs sur la ligne de commande, mais elle devient alors kilométrique ... Donc : regarde dans /etc/pki/tls/openssl.cnf. C'est le fichier de configuration d'OpenSSL par défaut. Copie-le dans le répertoire config de la CA que tu as dû créer si tu as suivi le tutoriel en entier.
Édite cette copie et mets-y tes valeurs par défaut. Lis bien chaque option, y compris celle qui sont commentées. Fais ensuite des copies de ce fichier pour chaque type d'opération que tu as l'intention d'effectuer : requête, signature, création du certificat racine ... (en principe, ces deux ou trois-là devraient être suffisants).
Le détail qui change tout : n'oublie pas d'ajouter utf8 = yes dans la section [ req ]. Ou alors passer -utf8 sur la ligne de commande. Autrement, il te génère bien un certif' compatible UTF-8, mais il parse quand même le contenu de ton fichier de conf' en ASCII.
Il faudra donc au minimum préciser le pays (Country - C), l'organisation (O), l'unité organisationelle (OU), et le Common Name (CN), soit le p'tit nom de ton certif' ou de ce qu'il représente. Si tu crées ce certificat pour un serveur, le CN doit obligatoirement contenir le nom de serveur pleinement qualifié (avec le domaine).
De là, première étape (à n'effectuer qu'une seule fois), la création du certificat racine, que tu conserveras précieusement :
1) Génère suffisamment de données aléatoires dans un fichier (ainsi, tu pourras recommencer facilement en cas de pépin). Ça peut être long si tu utilises le générateur de vrais nombres aléatoires. N'oublie pas de provoquer de l'activité disque, réseau, souris et autres pour accélérer cette production.
dd if=/dev/random of=private/.rand bs=1 count=16384
2) Tu vas créer la clé privée du certificat racine. À conserver en lieu sûr et à ne jamais divulguer ! D'ailleurs, tu vas même la protéger par une passphrase. Choisis-là suffisamment longue pour qu'elle ne soit pas triviale, mais pas trop compliquée non plus car tu la saisiras chaque fois que tu signeras un certificat.
openssl genrsa -aes256 -out private/ca.key -rand private/.rand 4096
chmod 400 private/ca.key
3) Crée le certificat racine. On le fait en faisant une requête et en passant -x509 pour qu'il remplissent directement les champs qui en font un certificat à part entière ... en l'autosignant. « req » dit que l'on veut travailler sur des demandes de signature. « new » dit que l'on souhaite en créer une (et pas travailler sur un fichier existant). « root-ca-cert.cnf » est le nom de ton fichier de config. On va le signer avec la clé que tu viens de créer, il faudra donc saisir ta passphrase pour pouvoir utiliser cette clé.
openssl req -new -x509 -days 3650 -config configs/root-ca-cert.cnf -key private/ca.key -out ca.crt
Et voila. Tu viens de créer le certificat racine, valable 10 ans, qui signera tous les autres. Il faudra également le communiquer aux différents clients si ce n'est pas automatique. C'est l'équivalent d'un CACert, Thawte ou Verisign. Note que ce certificat est à la racine de ton répertoire CA, et pas dans un de ses sous-répertoires. La clé privée, elle, reste en dessous de private. Sauve bien les deux et ne divulgue jamais la clé, encore une fois.
Deuxième étape, à répéter pour chaque certificat que tu vas créer et signer :
4) Regénère des données aléatoires (moins long cette fois) :
dd if=/dev/random of=private/.rand bs=1 count=4096
5) Regénère une clé. Sans passphrase cette fois, parce qu'elle ne protège qu'un seul certificat, et qu'il faudrait resaisir cette passphrase à chaque fois que l'on relancerait le serveur qui utilise le certificat qu'elle protège.
openssl genrsa -out private/ldap.key -rand private/.rand 1024
chmod 400 private/ldap.key
6) Refais une demande de signature en bonne et due forme, sans « -x509 », cette fois. Je te conseille de choisir comme nom de fichier la valeur que tu donneras à ton OU. De plus, on déposera cette demande dans le répertoire prévu à cet effet, « csr ». Le fichier « server-csr.cnf » est ton fichier de config dédié à la demande de certificats, si ce n'est pas le même.
openssl req -new -out csr/ldap.csr -config server-csr.cnf -key private/ldap.key
7) Tu as maintenant un certificat, protégé par une clé secrète, mais pas encore authentifié. On va demander à la CA de signer ce certificat avec le sien. « sign.cnf » est le ficheir de config dédié à la signature. Si tu l'as bien configuré, il contient déjà les noms et emplacements du certificat racine et de sa clé, ce qui t'évite d'avoir à te les palucher à chaque fois sur la ligne de commande.
openssl ca -out certs/ldap.crt -in csr/ldap.csr -config sign.cnf
Importe ensuite manuellement le fichier ca.crt dans la liste des autorités de certification de Firefox, par exemple. On ne doit pas te demander de passphrase à ce stade. Il faudra faire de même pour tous les clients sécurisés, style ldapsearch ou autre. Enfin, utilise un certificat signé (pas celui de la CA) par serveur à authentifier.
C'est fastidieux, mais c'est une méthode universelle. Avec çà, fini les certifs auto-signés.
[^] # Re: beurre, argent du beurre et ... de la cremiere
Posté par Obsidian . En réponse au message Cherche opérateur satellite Afrique/Amérique latine. Évalué à 3.
C'est le mauvais exemple, à mon avis. S'il y a un endroit où cela devrait être facile à déployer, c'est bien dans le métro ...
[^] # Re: pilote pour carte nividia
Posté par Obsidian . En réponse au message probleme avec fedora9 et Gforce 8500GT. Évalué à 2.
[^] # Re: Backup?
Posté par Obsidian . En réponse au message Channel bonding, nécessaire ?. Évalué à 2.
# Une page web ?
Posté par Obsidian . En réponse au journal Accès au contenu "OpenDisc" d'un CD audio. Évalué à 10.
[^] # Re: Hard Core Solution
Posté par Obsidian . En réponse au message Boîtes de conserve. Évalué à 7.
T-Shirt + vraie boîte de conserve => Presse hydraulique.
On ne fait pas plus réaliste !
[^] # Re: Backup?
Posté par Obsidian . En réponse au message Channel bonding, nécessaire ?. Évalué à 2.
[^] # Re: Backup?
Posté par Obsidian . En réponse au message Channel bonding, nécessaire ?. Évalué à 2.
Au pire, une deuxième interface réseau PCI bien rangée dans sa boîte est encore la solution qui reviendra le moins cher, puisqu'on peut pratiquement être sûrs, en plus, qu'elle sera immédiatement reconnue sous Linux.
Le jour où ta première interface réseau claque, ce qui n'est franchement pas courant, tu la branches, tu fais ifconfig et c'est fini.
[^] # C'est vendredi, c'est permis !
Posté par Obsidian . En réponse au journal La libération de L. Bettancourt , du gros pipo ?. Évalué à 2.
(je m'enfuis).
[^] # Re: Avec les cosmétiques Radioactiva ma peau est lumineuse.
Posté par Obsidian . En réponse au journal CPL et risques sanitaires. Évalué à 10.
Oh, bah, chez les geeks, de toutes façons ...