Annonce

Réduire
Aucune annonce.

Comment devenir un hacker

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Comment devenir un hacker

    Bonjour à tous. Ceci est un duplicatat du post de HackAngel sur HackBBS.

    Je pense qu'il pourra en éclairer beaucoup.

    Bonne lecture !

    Tortue 974.
    • Comment devenir un hacker

      Eric Steven Raymond

      Texte original copyright © 2001 Eric S. Raymond
      • Sommaire
        Pourquoi ce Document ?
        Qu'est-ce qu'un Hacker ?
        L'Attitude du Hacker
        1. Le monde est rempli de problèmes fascinants qui n'attendent que d'être résolus.
        2. On ne devrait jamais avoir à résoudre un problème deux fois.
        3. L'ennui et les corvées sont maléfiques.
        4. La liberté est bonne.
        5. L'attitude ne remplace pas la compétence.
        Les Compétences de Base du Hacker
        1. Apprenez à programmer.
        2. Procurez-vous un Unix à code source ouvert et apprenez à vous en servir.
        3. Apprenez à utiliser le World Wide Web et à écrire en HTML.
        4. Si vous ne maîtrisez pas l'anglais technique, apprenez-le.
        Les Statuts dans la Culture Hacker
        1. Écrivez des programmes à code source ouvert.
        2. Aidez à tester et à déboguer des logiciels à code source ouvert.
        3. Publiez des informations utiles.
        4. Aidez à maintenir l'infrastructure vivante.
        5. Contribuez à la culture hacker.
        La Relation Hacker/Nerd
        Remarques sur le Style de Vie
        Note Historique : Hacking, Open Source, et Free Software
        Autres Ressources
        Foire Aux Questions


      Pourquoi ce document ?

      En tant qu'éditeur du Jargon File et auteur d'autres documents notoires de même nature, je reçois souvent des e-mails d'internautes débutants qui me demandent comment puis-je apprendre à devenir un hacker?. En 1996 j'ai remarqué qu'il ne semblait pas y avoir de FAQs ou de documents sur le Web qui répondaient à cette question vitale et j'en ai commencé un. De nombreuses personnes le considèrent comme une édition définitive, et je suppose que cela veut dire que ça l'est. Toutefois, je ne clame pas avoir une autorité exclusive sur le sujet et si vous n'aimez pas ce que vous lisez ici, rédigez votre propre document.

      Si vous lisez un instantané de ce document hors-ligne, l'original se trouve à http://catb.org/~esr/faqs/hacker-howto.html.

      Note : il y a une Foire aux questions à la fin de ce document. S'il vous plaît, lisez ces questions (deux fois) avant de m'envoyer des e-mails à propos de ce document.

      De nombreuses autres traductions de ce document sont disponibles en: Arabe, Bulgare, Catalan, Chinois (simplifié), Danois, Néerlandais, Estonien, Farsi, Finnois, Allemand, Grec, Hébreu, Italien, Japonais, Norvégien, Polonais, Portugais (Brésilien), Roumain, Russe, Espagnol, Turc et Suédois. Comme ce document change occasionnellement, ces traductions peuvent refléter d'anciennes versions.

      Le diagramme qui comporte 5 points dans 9 cases et qui décore ce document est nommé un glider. C'est un motif simple possédant des propriétés surprenantes dans une simulation mathématique, appelé Jeu de la Vie qui fascine les hackers depuis de nombreuses années. Je pense que le glider est un bon emblème visuel de ce que les hackers sont : abstraits, semblant à première vue mystérieux mais une passerelle vers un véritable monde ayant sa propre logique. Vous pouvez en lire plus sur le glider ici.

      Qu'est-ce qu'un hacker ?

      Le Jargon File contient un grand nombre de définitions du terme hacker, la plupart se rapportant aux aptitudes techniques et au plaisir de résoudre des problèmes et à dépasser les limites. Cependant, si vous souhaitez savoir comment devenir un hacker, seules deux définitions sont pertinentes.

      Il existe une communauté, une culture commune, d'experts en programmation et de gourous de la gestion de réseau dont les racines remontent à quelques décennies, au temps des mini-ordinateurs à exploitation partagée et des premières tentatives du réseau ARPAnet. Ce sont les membres de cette culture qui ont introduit le terme hacker. Les hackers ont construit Internet. Ils ont fait du système d'exploitation UNIX ce qu'il est aujourd'hui. Ils font tourner le réseau Usenet. Ils font fonctionner le Web. Si vous faites partie de cette culture, si vous y avez contribué et d'autres membres de cette communauté savent qui vous êtes et vous appellent un hacker, alors vous êtes un hacker.

      L'état d'esprit d'un hacker ne se limite pas à cette culture informatique. Il y a des personnes qui appliquent cette attitude à d'autres domaines tels que l'électronique ou la musique. En fait, il est possible de la consacrer à l'état le plus avancé de tout art ou science. Les hackers informatiques reconnaissent ces esprits apparentés et peuvent parfois les appeler des hackers. Certains même estiment que cette démarche est totalement indépendante du support sur lequel le hacker travaille. Toutefois, dans la suite de ce document, nous allons concentrer notre attention aux aptitudes et au comportement des hackers informatiques, et aux traditions de cette culture commune qui a donné naissance au terme hacker.

      Il y a un autre groupe de personnes qui s'autoproclament des hackers, mais qui n'en sont pas. Ces personnes (majoritairement des adolescents de sexe masculin) qui prennent leur pied à pirater les systèmes téléphoniques et à s'introduire à distance dans les ordinateurs. Les vrais hackers les appellent des crackers et ne veulent avoir rien à faire avec eux. Les vrais hackers pensent surtout que les crackers sont paresseux, irresponsables et pas très brillants. Ils réfutent l'idée qu'être capable de craquer des sécurités fasse de soi un hacker tout comme démarrer une voiture en court-circuitant l'allumage fasse de soi un ingénieur automobile. Malheureusement, de nombreux journalistes et écrivains se sont laissés abuser à utiliser le mot hacker pour décrire les crackers, ce qui ne lasse pas d'irriter les hackers.

      La différence fondamentale est : les hackers construisent des choses, les crackers les détruisent.

      Si vous souhaitez être un hacker, continuez de lire ce document. Si vous voulez être un cracker, allez lire le newsgroup alt.2600 et préparez vous à un réveil brutal après avoir découvert que vous êtes moins intelligent que vous le croyez. C'est tout ce que j'ai à dire des crackers.

      L'attitude du hacker
      • 1. Le monde est rempli de problèmes fascinants qui n'attendent que d'être résolus.
        2. On ne devrait jamais avoir à résoudre un problème deux fois.
        3. L'ennui et les corvées sont maléfiques.
        4. La liberté est bonne.
        5. L'attitude ne remplace pas la compétence.


      Les hackers résolvent des problèmes, construisent des choses et croient en la liberté et en l'entraide bénévole. Pour être accepté comme hacker, vous devez vous comporter comme si vous aviez vous-même cet état d'esprit. Et pour vous comporter comme si vous aviez cet état d'esprit, vous devez vraiment y croire.

      Cependant, si vous pensez à adopter des comportements propres aux hackers dans le seul but d'être accepté dans leur culture, vous ne comprenez rien. Croire en ces choses est important parce qu'elles vous permettrons de rester motivé et vous aideront à apprendre. Comme dans toute forme d'art, le moyen le plus efficace de devenir un maître est d'imiter l'état d'esprit des maîtres, non seulement intellectuellement mais aussi émotionnellement.

      Et comme dit le poème moderne Zen suivant :
      • Pour suivre le chemin :
        Regarde le maître,
        Suis le maître,
        Marche à côté du maître,
        Regarde par les yeux du maître,
        Deviens le maître.


      Donc si vous voulez être un hacker, répétez les phrases suivantes jusqu'à y croire réellement :

      1. Le monde est rempli de problèmes fascinants qui n'attendent que d'être résolus.

      C'est très amusant d'être un hacker, mais c'est le genre d'amusement qui demande beaucoup d'efforts. Et ces efforts nécessitent de la motivation. Les athlètes accomplis tirent leur motivation d'un certain plaisir physique à faire travailler leur corps, à dépasser leurs propres limites. De manière similaire, il faut, pour être un hacker, ressentir une excitation à résoudre des problèmes, à affûter ses compétences et à exercer son intelligence.

      Si cette façon de penser ne vous semble pas naturelle, il vous faudra qu'elle le soit pour que vous deveniez un hacker. Autrement vous découvrirez que votre énergie est rongée par des distractions telles que le sexe, l'argent et la reconnaissance sociale.

      Vous devez aussi développer une certaine foi en votre propre capacité d'apprentissage, la conviction que, même si vos connaissances ne vous permettent pas de résoudre un problème, le fait d'en attaquer une partie et d'en tirer quelque chose vous permettra de résoudre une autre partie, et cela jusqu'à résoudre le problème entier.

      2. On ne devrait jamais avoir à résoudre un problème deux fois.

      Les cerveaux créatifs sont une ressource de grande valeur, mais limitée. Ils ne devraient pas perdre leur temps à réinventer la roue alors qu'il existe tant de nouveaux problèmes fascinant qui les attendent.

      Pour vous comporter comme un hacker, vous devez être convaincu que le temps de pensée des autres hackers est précieux. Si précieux qu'il est un devoir moral pour vous de partager vos informations, de résoudre des problèmes et d'en donner les solutions pour que d'autres hackers puissent se concentrer sur de nouveaux problèmes au lieu de travailler perpétuellement sur d'anciens.

      Notez, cependant, que "Aucun problème n'a à être résolu deux fois" ne signifie pas que vous ayez à considérer toutes les solutions existantes comme sacrées, ou qu'il n'y a qu'une seule solution valable pour un problème donné. Souvent, on apprend beaucoup d'un problème inconnu jusqu'alors en étudiant la première version d'une solution. Il est tout à fait acceptable, et souvent nécessaire, de décider que l'on peut faire mieux. Ce qui est absolument inacceptable, ce sont toutes les barrières artificielles - techniques, légales, ou institutionnelles (comme du code fermé) - qui empêche une bonne solution d'être réutilisée et force les gens à ré-inventer la roue.

      (Ne vous croyez pas obligé de diffuser toutes vos créations, bien que les hackers les plus respectés sont ceux qui le font. En vendre une partie pour avoir de quoi se nourrir, se loger et payer ses ordinateurs est compatible avec les valeurs des hackers. Vous pouvez aussi utiliser vos compétences pour entretenir votre famille ou même devenir riche tant que vous restez fidèle à votre art et à vos confrères hackers.)

      3. L'ennui et les corvées sont maléfiques.

      Les hackers (et les gens créatifs en général) ne devraient jamais s'ennuyer ou se consacrer à des taches répétitives, parce que dans ce cas, ils ne font pas ce qu'eux seuls savent faire : résoudre de nouveaux problèmes. Cette perte de temps nuit à tout le monde. Pour ces raisons, l'ennui et les corvées ne sont pas seulement déplaisants, ils sont maléfiques.

      Pour vous comporter comme un hacker, vous devez vous en convaincre suffisamment pour vouloir automatiser au maximum les tâches ennuyeuses de votre travail, non seulement pour vous-même, mais aussi pour tous les autres (et particulièrement les autres hackers).

      (Il existe toutefois une exception à cette règle. Un hacker va parfois faire des choses qu'un observateur trouverait répétitives ou ennuyeuses dans le but de se vider l'esprit, d'acquérir une nouvelle compétence ou de l'expérience. Mais c'est toujours par choix : toute personne capable de penser ne devrait jamais être forcée d'effectuer un travail ennuyeux.)

      4. La liberté est bonne.

      Les hackers sont naturellement anti-autoritaires. Quiconque peut vous donner des ordres peut vous empêcher de résoudre les problèmes qui vous fascinent. Étant donné la façon dont les esprits autoritaires fonctionnent, ils trouveront toujours un prétexte stupide pour le faire. Vous devez donc combattre les comportements autoritaires partout où vous les rencontrez, de crainte qu'ils ne vous réduisent au silence, vous et les autres hackers.

      (Ce n'est pas pareil que de combattre toute forme d'autorité. Les enfants ont besoins d'être guidés et les criminels d'être contenus. Un hacker peut accepter un certain type d'autorité pour obtenir quelque chose qui vaut bien le temps passé à suivre des ordres. Mais ce doit être une négociation réfléchie et limitée. La soumission totale requise par l'autoritarisme n'est pas une option.)

      Les autoritaristes prospèrent sur la censure et le secret, et se méfient de l'entraide volontaire et du partage d'informations. Ils n'apprécient la coopération que lorsqu'ils la contrôlent. De ce fait, pour vous comporter en hacker, vous devez devenir instinctivement hostile à la censure, au secret et l'emploi de la force ou de la tromperie pour contraindre des adultes responsables. Et vous devez être prêt à agir conformément à cette conviction.

      5. L'attitude ne remplace pas la compétence.

      Pour être un hacker, vous devez acquérir certains de ces traits de caractère. Mais simplement adopter un état d'esprit ne fera de vous un hacker, pas plus qu'un champion sportif ou une rock star. Devenir un hacker nécessite de l'intelligence, de l'expérience, du dévouement et un travail acharné.

      Par conséquent, vous devez apprendre à vous méfier des attitudes et à respecter les aptitudes, quelles qu'elles soient. Les hackers ne perdront pas leur temps avec les m'as-tu-vu mais ils admirent les compétences, particulièrement liées aux hackers, mais toute compétence est bonne. Elle est particulièrement appréciée lorsqu'elle touche des domaines astreignants que peu de personnes maîtrisent et plus encore des domaines qui nécessitent de l'acuité mentale, du savoir-faire et de la concentration.

      Si vous vénérez les aptitudes, vous prendrez plaisir à en développer. Le travail acharné et le dévouement prendront la forme d'un jeu intense et non d'une corvée. Ce trait de caractère est vital pour devenir un hacker.

      Les Compétences de Base du Hacker
      • 1. Apprenez à programmer.
        2. Procurez-vous un Unix à code source ouvert et apprenez à vous en servir.
        3. Apprenez à utiliser le World Wide Web et à écrire en HTML.
        4. Si vous ne maîtrisez pas l'anglais technique, apprenez-le.


      L'état d'esprit du hacker est primordial, mais ses aptitudes le sont plus encore. Son attitude ne peut remplacer ses compétences et il y a un ensemble de connaissances de base que vous devez posséder avant de pouvoir être considéré comme un hacker par la communauté.

      Ces connaissances évoluent lentement au fil des années avec la technologie, certains outils devenant obsolètes, d'autres voyant le jour. Par exemple, la programmation en langage machine était autrefois indispensable alors que le HTML est tout récent. De nos jours, les aptitudes que vous devez posséder sont les suivantes :

      1. Apprenez à programmer.

      C'est, évidemment, la compétence fondamentale du hacker. Si vous ne connaissez pas de langage de programmation, je vous recommande de débuter avec Python. Il est clairement structuré, bien documenté et relativement simple pour les débutants. Bien qu'il s'agisse d'un bon langage de départ, il ne s'agit pas d'un simple jouet. C'est un outil très puissant, flexible et particulièrement efficace pour les grands projets. J'ai rédigé une évaluation de Python plus détaillée. De bons tutoriels sont disponibles sur le site web de Python.

      Je recommandais auparavant Java comme langage d'apprentissage, mais cette critique m'a fait changer d'avis (voir la section "The Pitfalls of Java as a First Programming Language"). Un hacker ne peut, selon cette critique, "approcher la résolution de problèmes comme un plombier dans une quincaillerie" ; vous devez savoir ce que les composants font concrètement. Je pense que l'idéal est d'apprendre d'abord le C et le Lisp, et ensuite Java.

      Il y a une généralité à prendre en compte ici. Si un langage en fait trop, il peut être simultanément un bon outil pour la production et un mauvais pour l'apprentissage. Il n'y a pas que les langages qui ont ce problème ; les frameworks web comme RubyOnRails, CakePHP, ou Django peuvent trop facilement vous donner une compréhension superficielle qui vous laissera sans ressource face à un problème complexe, ou simplement débugger la solution d'un problème facile.

      Si vous vous lancez sérieusement dans la programmation, vous devrez étudier le C, le langage noyau d'Unix. Le langage C++ en est très proche. Ainsi, si vous connaissez l'un, vous n'aurez pas de difficulté à apprendre l'autre. Cependant, il n'est pas bon d'en faire votre premier langage. D'ailleurs, plus vous pouvez éviter de programmer en C, plus vous serez productif.

      Le langage C est très efficace et ménage particulièrement les ressources de votre machine. Malheureusement, cet atout nécessite une gestion manuelle conséquente des ressources, telles que la mémoire. Tout ce code de bas niveau est complexe et enclin aux bogues. Vous devrez passer une grande partie de votre temps à le déboguer. De nos jours, avec la puissance des machines, c'est en général un mauvais compromis. Il est plus astucieux de choisir un langage qui demandera moins de votre temps que celui de votre machine. Pour cela, Python est un bon choix.

      D'autres langages de programmation particulièrement chers aux hackers comprennent Perl et LISP. Apprendre le Perl est intéressant pour des raisons pratiques. Il est très largement utilisé dans les pages Web dynamiques et l'administration système. Ainsi, même si vous ne l'employez jamais, vous devriez savoir le lire. Par ailleurs, nombre de personnes s'en servent comme je vous conseille d'utiliser Python, afin d'éviter la programmation en C pour des projets qui ne nécessitent pas l'efficacité des machines C. Vous aurez besoin de comprendre leur code.

      L'apprentissage de LISP mérite votre attention car sa maîtrise offre une expérience révélatrice et profonde. Elle fera de vous un meilleur programmeur pour le reste de vos jours, même si vous n'utilisez plus vraiment le langage LISP. (Il est assez facile d'obtenir des bonnes bases avec LISP en codant ou en modifiant des mode d'édition de l'éditeur de texte Emacs ou des plugins Script-Fu de GIMP.)

      Le mieux, en fait, est de les apprendre tous les cinq (Python, Java, C/C++, Perl et LISP). En plus d'être les langages les plus importants pour les hackers, ils représentent des approches très diverses de la programmation, et chacun vous apportera des connaissances très profitables.

      Mais soyez conscient que vous n'obtiendrez pas plus les aptitudes d'un hacker ou même d'un programmeur en connaissant seulement un ou deux langages qu'en les accumulant aveuglément. Vous devez apprendre à aborder les problèmes de programmation de manière générale, quelque soit le langage que vous utilisez. Pour être un vrai hacker, vous devez pouvoir apprendre un nouveau langage en quelques jours, simplement en appliquant les règles du manuel à vos connaissances en matière de programmation. Par conséquent il vous faudra maîtriser plusieurs langages très différents.

      Je ne peux pas vous donner ici d'instructions complètes sur l'apprentissage de la programmation, il s'agit d'une exercice complexe. Mais je peux vous dire que les cours et les livres n'y suffisent pas (de nombreux, et peut-être même la plupart des meilleurs hackers sont autodidactes). Vous pouvez apprendre dans les livres certaines fonctionnalités de langage, quelques connaissances, mais l'état d'esprit qui les transformera en réelles compétences ne peut s'acquérir que par des années d'apprentissage et de pratique. Ce qu'il vous faut, c'est (a) lire du code et (b) écrire du code.

      Peter Norvig, qui est l'un des meilleurs hackers de Google et co-auteur de l'un des manuels les plus utilisés sur l'IA, a écrit un excellent essai intitulé "Teach Yourself Programming in Ten Years". Sa "recette pour la réussite en programmation" mérite une attention particulière.

      Apprendre à programmer, c'est comme apprendre à écrire naturellement et correctement dans n'importe quelle langue. La meilleure façon d'y arriver, c'est de lire les maîtres, d'écrire soi-même un peu, de lire beaucoup plus, d'en écrire un peu plus, et ce jusqu'à ce que votre écriture montre la même force et simplicité que vos modèles.

      Il était autrefois difficile aux apprentis hackers de trouver du bon code à lire et à bricoler, parce que les sources des gros programmes étaient rarement disponibles. Cette situation a vraiment changé. Aujourd'hui, les logiciels à code source ouvert, les outils de programmation et systèmes d'exploitations open-source, tous écris par des hackers, sont très largement accessibles. Ce qui m'amène à notre sujet suivant ...

      2. Procurez-vous un Unix à code source ouvert et apprenez à vous en servir.

      Je vais supposer que vous possédez ou que avez accès à un ordinateur personnel (Prenez le temps d'apprécier ce que cela signifie. La culture des hackers est issue d'une époque où les ordinateurs étaient si coûteux que les particuliers ne pouvaient en posséder). Le tout premier pas pour n'importe quel aspirant hacker pour obtenir des compétences de hacker est d'obtenir une copie de GNU/Linux,d'un des Unix de BSD ou d'OpenSolaris, de l'installer sur sa machine et la faire tourner.

      Certes, il existe d'autres systèmes d'exploitation dans le monde qu'Unix. Le problème est qu'ils sont distribués en code binaire; vous ne pouvez ni le lire ni le modifier. Essayer de bidouiller sur une machine Windows, sous MacOS ou tout autre système binaire, c'est comme tenter d'apprendre à danser alors que vous êtes entièrement plâtré.

      Il est possible de bricoler avec OS/X. Toutefois, seule une partie du système est à code source ouvert. Vous risquez donc de rencontrer de nombreux murs, et vous devez rester prudent et ne pas prendre la mauvaise habitude de dépendre d'un code qui est la propriété d'Apple. Si vous vous concentrez sur le système Unix, sous son capot, vous pourrez apprendre quelques astuces très utiles.

      Unix est le système d'exploitation d'Internet. Alors que vous pouvez apprendre à vous servir d'Internet sans connaître Unix, vous ne pouvez pas être un hacker d'Internet sans comprendre Unix. C'est pour cette raison que, de nos jours, la culture des hackers est très fortement centrée sur Unix. Ce n'a pas toujours été le cas, et quelques hackers rétro n'en sont toujours pas très contents. Cependant, la symbiose entre Unix et Internet est devenue tellement solide que même la toute puissance de Microsoft n'a pas l'air de l'entailler.

      Alors, installez Unix. Personnellement, j'aime Linux, mais il y a d'autres choix possibles (et oui, vous pouvez faire tourner Linux et Microsoft Windows sur la même machine). Apprenez-le. Faites-le tourner. Bidouillez avec. Communiquez avec Internet grâce à lui. Lisez le code. Modifiez le code. Vous trouverez de meilleurs outils de programmation (dont C, LISP, Python et Perl) que sous n'importe quel système d'exploitation de Microsoft. Vous vous amuserez et vous assimilerez plus de connaissances que vous ne le croyez, jusqu'à ce que vous réalisiez que vous êtes un maître hacker.

      Pour en savoir plus sur Unix, voir The Loginataka. Vous pourriez aussi jeter un oeil à The Art Of Unix Programming.

      Pour mettre la main sur une copie de Linux, voir le site Linux Online! ; vous pouvez y effectuer un téléchargement ou, et c'est sans doute une meilleure idée, trouver un groupe local d'utilisateurs de Linux qui vous aidera pour votre installation.

      Pendant les dix premières années de la vie de ce HOWTO, il était dit ici que du point de vue de l'utilisateur, toutes les distributions Linux étaient plus ou moins équivalentes. Mais en 2006-2007, un meilleur choix est apparu : Ubuntu. Même si les autres distributions ont leurs propres avantages dans leurs propres domaines, Ubuntu est de loin la plus accessible aux débutants.

      Vous trouverez de l'aide et des ressources sur BSD Unix à http://www.bsd.org/.
      Une bonne manière de faire ses premiers pas et de démarrer par ce que les fans de GNU/Linux appellent un live CD, une distribution qui s'exécute entièrement depuis un CD sans installation sur le disque dur. Ce sera lent - parce que les CDs sont lents, mais cela permet de jetter un oeil aux possibilités de la distribution sans devoir faire quoi que ce soit de drastique.
      J'ai écris un premier jet sur les bases d'Unix et de l'Internet.

      Je déconseillais auparavent d'installer GNU/Linux ou BSD vous-même si vous êtiez débutant. De nos jours, les programmes d'installation sont devenus assez efficaces pour que l'installation soit possible de manière autonome, même pour un débutant. Cependant, il reste possible de contacter votre Linux User Group local et y demander de l'aide: ça ne peut pas faire de mal, et facilitera sans doute le processus.

      3. Apprenez à utiliser le World Wide Web et à écrire en HTML.

      La plupart des créations de la communauté des hackers fonctionnent dans l'ombre. Elles permettent de faire tourner des usines, des bureaux et des universités sans impact apparent sur les vies des non-hackers. Le Web est la seule grosse exception, ce jouet des hackers, brillant et démesuré, dont même les politiciens admettent qu'il a changé le monde. Rien que pour cette raison, et pour bien d'autres encore, vous devez apprendre à vous servir du Web.

      Cela ne signifie pas uniquement savoir utiliser un navigateur (tout le monde pour le faire) mais aussi apprendre à écrire en HTML, le langage de balisage du Web. Si vous ne savez pas programmer, écrire en HTML vous enseignera quelques habitudes mentales qui vous y aideront. Réalisez donc votre page personnelle. Tâchez de vous cantonner au XHTML, qui est un langage plus propre que le HTML classique. (Il existe de bon tutoriels pour débutants sur le Web: en voici un.)

      Toutefois, avoir son propre site Web ne fera pas de vous un hacker. Le Web est plein de pages personnelles. Un grand nombre sont sans intérêt, un lisier sans contenu; certes un lisier qui tape à l'oeil, mais pour autant insipide (pour plus de détails à ce propos, visitez The HTML Hell Page).

      Pour qu'elle en vaille la peine, votre page doit posséder du contenu. Elle doit être intéressante et/ou utile pour les autres hackers. Ce qui nous amène au sujet suivant...

      4. Si vous ne maîtrisez pas l'anglais technique, apprenez-le.

      En tant qu'américain et qu'anhone de naissance, j'ai d'abord eu des réserves quant à suggérer ceci, de peur que ce soit pris comme une sorte d'impérialisme culturel. Pourtant, plusieurs personnes, d'autre langue natale, m'ont exhorté à souligner que l'anglais est la langue pratique d'Internet et de la culture hacker. Vous en aurez donc besoin pour communiquer avec la communauté des hackers.

      Tout ceci est véridique. En 1991, j'ai appris que de nombreux hackers, dont l'anglais est la seconde langue, l'utilise dans des discussions techniques, même s'ils ont la même langue natale. On m'a rapporté à l'époque que l'anglais possède un vocabulaire technique plus riche que tout autre langue, ce qui en fait un outil plus adapté. Pour des raisons similaires, les traductions de livres techniques rédigés en anglais laissent souvent à désirer (lorsqu'elles existent).

      Linus Torvalds, un finlandais, commente son code en anglais (apparemment, il ne lui est jamais venu à l'esprit de faire autrement). Sa fluidité en anglais fut un facteur primordial dans sa capacité à rassembler une communauté internationale de développeurs pour Linux. C'est un exemple qui vaut d'être suivi.

      Etre anhone de naissance ne garantit pas que vos compétences linguistiques soient suffisantes pour fonctionner dans le monde des hackers. Si vos écrits sont semi-littéraires, avec une grammaire approximative et constellés de fautes d'orthographe, beaucoup de hacker (moi inclus) auront tendance à vous ignorer. Une écriture bancale ne signifie pas forcément une pensée bancale, mais la corrélation est souvent très forte et nous n'avons que faire de penseurs bancals. Si vous ne savez pas écrire correctement, apprenez à le faire.

      Statut dans la culture hacker
      • 1. Écrivez des programmes à code source ouvert.
        2. Aidez à tester et à déboguer des logiciels à code source ouvert.
        3. Publiez des informations utiles.
        4. Aidez à maintenir l'infrastructure vivante.
        5. Contribuez à la culture hacker.


      Comme la plupart des cultures sans économie fiduciaire, la réputation fait loi dans la communauté des hackers. Vous essayez de résoudre des problèmes intéressants, mais seuls vos égaux ou vos supérieurs d'un point de vue technique sont à même de juger l'intérêt réel de ces problèmes et la qualité de vos solutions.

      Par conséquent, lorsque vous jouez au hacker, vous apprenez à tenir les scores en fonction de ce que les autres hackers pensent de vos aptitudes; et c'est pourquoi vous n'appartiendrez à la communauté hacker qu'un fois reconnu par ses membres. Ce fait est masqué par l'image de solitude de l'activité du hacker, ainsi que par un tabou culturel (en déclin actuellement mais toujours présent) au sein même des hackers, qui refusent que l'orgueil ou la validation extérieure ne fassent partie de leurs motivations.

      Explicitement, le monde des hackers est ce que les anthropologues appellent une culture du don. Votre statut et votre réputation ne se fondent pas sur votre potentiel à dominer les autres, sur votre beauté ou sur vos possessions qui font des envieux, mais sur votre capacité à donner, en particulier votre temps, votre créativité et le résultat de vos compétences.

      Il existe en fait cinq différentes actions que vous pouvez entreprendre pour gagner le respect des hackers :

      1. Écrivez des programmes à code source ouvert.

      La première action, la plus essentielle et traditionnelle, est d'écrire des programmes que les autres hackers trouvent amusants ou utiles, et d'en diffuser le code source à toute la communauté.

      (Nous avions l'habitude de les appeler des free software [NDT: logiciels libres, en français], mais cela troublait trop de personnes qui n'étaient pas certain du véritable sens de free [NDT: en anglais, le terme free signifie à la fois libre et gratuit]. La plupart des hackers, au moins deux tiers selon des analyses sur le contenu du Web, préfèrent désormais utiliser le terme "logiciel open-source"[NDT: en français, logiciel à code source ouvert].)

      Les demi-dieux les plus vénérés sur la planète hacker sont ceux qui ont écrit des programmes importants répondant à des besoins répandus et les ont diffusé gratuitement, si bien que maintenant tout le monde les utilise.

      Il y a une nuance historique à faire ici. Même si les hackers ont toujours vu les développeurs de logiciels libres en leur sein comme noyau le plus dur, avant la moitié des années 1990 la plupart des hackers travaillaient majoritairement sur des logiciels fermés. Ceci était encore le cas quand j'ai écrit la première version de ce HOWTO en 1996 ; il a fallu la popularisation du logiciel libre après 1997 pour changer les choses. Aujourd'hui, la "communauté hacker" et les "développeurs libres" sont deux descriptions de ce qui est essentiellement une seule et même culture et population, mais faut savoir que cela n'a pas toujours été le cas. (Pour plus d'information à ce sujet, voir la section "Note historique : Hacking, Open Source, et Free Software".)

      2. Aidez à tester et à déboguer des logiciels à code source ouvert.

      Les hackers aident quiconque en a besoin et déboguent les logiciels à code source ouvert. Dans ce monde imparfait, nous passerons fatalement la majorité du temps de développement d'un logiciel à le déboguer. C'est pour cette raison que tous les auteurs de programmes à code source vous diront qu'un bon bêta-testeur (qui sait décrire des symptômes clairement, bien localiser des problèmes, tolérer des bogues dans une mise à jour éclair et qui est prêt à lancer quelques procédures de diagnostic simples) vaut son pesant d'or. Il suffit d'un seul bêta-testeur pour faire la différence entre une phase de déboguage prolongée, épuisante et cauchemardesque et une besogne profitable.

      Si vous êtes novice, tâchez de trouver un programme en développement qui vous intéresse et d'en être un bon bêta-testeur. La progression se fait naturellement en commençant par aider à tester les programmes, puis à les déboguer pour finalement participer à leur modification. Vous apprendrez beaucoup en procédant de la sorte, et vous vous ferez de bonnes relations avec des personnes qui vous aideront plus tard.

      3. Publiez des informations utiles.

      Une autre bonne chose à faire est de réunir et de trier des informations utiles et intéressantes et de les publier sur des pages Web ou des documents tels que des Foires Aux Questions (FAQ) de sorte qu'elles soient disponibles au public.

      Ceux qui maintiennent les principales FAQs techniques récoltent presque autant de respect que les auteurs de programmes à code source ouvert.

      4. Aidez à maintenir l'infrastructure vivante.

      La culture hacker (et donc le développement technique d'Internet) est basée sur le bénévolat. Il existe de nombreuses tâches nécessaires quoique peu séduisantes pour qu'elle se maintienne : administrer des listes de diffusion, modérer des forums de discussion, gérer de grands sites d'archivage de logiciels, développer des RFCs [NDT : Request For Comment, publications de référence portant sur le réseau Internet et rédigées par les experts du réseau, définition du grand dictionnaire terminologique] et d'autres normes techniques.

      Les personnes qui maintiennent cette infrastructure sont très respectées parce que tout le monde sait que c'est un travail qui demande beaucoup de temps et qui n'est pas aussi amusant que de jouer avec du code. Y contribuer est une preuve de dévouement.

      5. Contribuez à la culture hacker.

      Enfin, pour pouvez participer à la transmission de la culture hacker elle-même (par exemple, en rédigeant un livre pour enfants complet sur comment devenir un hacker :-)). Avant d'en arriver là, vous devrez avoir roulé votre bosse dans la communauté et vous être illustré dans l'une des quatre actions ci-dessus.

      Le monde des hackers n'a pas de chefs, à proprement parler, mais il possède des héros et des anciens de la tribu, des historiens et des porte-parole. Quand vous aurez passé suffisamment de temps dans les tranchées, vous pourrez peut-être devenir l'un deux. Mais attention, les hackers se méfient de l'ego flagrant des anciens de leur tribu; il est apparemment dangereux d'être en quête de ce statut. Plutôt que de vous y efforcer, vous devez vous mettre sur les bancs et attendre que ce statut vous tombe naturellement dans le creux de la main et rester modeste et abordable.

      La Relation Hacker/Nerd

      Contrairement au mythe populaire, vous n'avez pas besoin d'être un nerd [NDT : le nerd est un accroc de l'informatique qui passe des nuits entières devant son écran d'ordinateur, n'a pas de vie sociale et ressemble à un adolescent un peu attardé, lunette à double foyer, acné, peu athlétique.] pour être un hacker. Pourtant cela aide, et nombre de hackers sont en réalité des nerds. Être un rejeté social vous permet de rester concentré sur la seule chose qui importe, comme penser et bidouiller comme un hacker.

      C'est pourquoi beaucoup de hackers endossent avec fierté le badge de "geek". C'est une manière de déclarer leur indépendance de toute attente sociale (et en même temps leur goût pour d'autres chose comme la science-fiction ou les jeux de stratégie, qui vont souvent avec le fait d'être un hacker). Le mot "nerd" était utilisé dans ce sens dans les années 1990; "nerd" était alors un peu péjoratif et "geek" plus agressif; peu après 2000 ils ont permuté, du moins dans la culture populaire américaine, et il y a à présent une mode de la culture "geek" chez des gens qui n'ont pas de connaissances techniques.

      Si vous arrivez à passer suffisamment de temps pour devenir un bon hacker et continuer à avoir une vie à côté, tant mieux. Cela est plus simple de nos jours que dans les années 70s, quand j'étais un novice. Le courant de pensée de la société actuelle est plus complaisant vis-à-vis des techno-nerds. Il y a même un nombre croissant de personnes qui réalisent que les hackers font souvent d'excellents amants et de très bons maris.

      Si vous souhaitez devenir un hacker parce que vous n'avez pas de vie, pas de problème; au moins, vous n'aurez pas de difficulté à vous concentrer. Et puis vous aurez peut-être une vie plus tard.

      Remarques sur le Style de Vie

      De nouveau, pour être un hacker, il faut entrer dans l'état d'esprit du hacker. Pour se faire, il existe quelques petites choses que vous pouvez faire lorsque vous n'êtes pas devant votre ordinateur. Ces activités ne remplacent pas le bidouillage informatique mais la plupart des hackers les pratiquent et se sentent fondamentalement connectés à l'essence même de ce qui fait le hacker.
      • - Maîtrisez l'écrit de votre langue natale. Bien que le stéréotype veuille que le programmeur ne sache pas bien écrire, un nombre étonnant de hackers (parmi lesquels les plus éminents que je connaisse) sont des écrivains compétents.

        - Lisez de la science-fiction. Allez aux conventions SF (un bon moyen de rencontrer des hackers et des proto-hackers).

        - Pratiquez un art martial. Le genre de discipline mentale qu'exigent les arts martiaux semble assez similaire à ce que font les hackers. Les plus populaires parmi les hackers sont clairement les arts à main nue asiatiques tels que le Tae Kwon Do, le Karaté, Kung Fu, Aikido et Ju Jitsu. Les formes d'escrimes occidentales et orientales sont également pratiquées. Dans les endroits où cela est légal, le tir au pistolet devient également populaire depuis la fin des années 1990. Les arts martiaux les plus prisés par les hackers sont ceux qui insistent sur la discipline mentale, la méditation et le self-contrôle plutôt que sur la force pure, l'athlétisme ou la résistance physique.

        - Etudiez une forme de méditation. La favorite parmi les hackers est le Zen (il est possible de pratiquer le Zen sans acquérir une religion ou renier la vôtre). D'autres styles peuvent fonctionner aussi, mais attention à ne pas en choisir un qui vous demande de croire en des choses tordues.

        - Développez une oreille musicale aiguisée. Apprenez à apprécier des genres particuliers de musique. Apprenez à bien jouer d'un instrument ou à bien chanter.

        - Stimulez votre goût pour les calembours et les jeux de mots.


      Plus vous pratiquez déjà ces activités, plus il est probable que vous soyez à même de devenir un bon hacker. Pourquoi ces disciplines en particulier sont importantes n'est pas tout à fait clair, à part pour le fait qu'elles mettent en jeu un dosage, entre des aptitudes du lobe gauche et droit du cerveau, qui semble important (les hackers doivent savoir à la fois raisonner logiquement et franchir la barrière de la logique apparente d'un problème au moment opportun).

      Travaillez aussi intensément que vous jouez et jouez aussi intensément que vous travaillez. Pour les véritables hackers, les frontières entre jeu, travail, science et art ont tendance à disparaître et à fusionner avec un entrain créatif incomparable. Aussi, ne vous limitez pas à une palette de compétences restreinte. Bien que la plupart des hackers se disent être des programmeurs, il y a de fortes chances pour qu'ils soient plus qu'expérimentés dans un grand nombre de domaines liés : administration de système, conception de sites Web, et dépannage de matériel informatique font partie des plus communs. Un hacker qui est administrateur de système, à son tour, sera sans doute compétent en programmation de script et en conception de sites Web. Les hackers ne font rien à moitié. S'ils s'investissent dans une activité, ils deviennent souvent très doués.

      Pour conclure, voici une liste de choses à ne pas faire :
      • - N'utilisez pas de pseudonymes ou de nom d'utilisateur stupide ou grandiloquent.

        - Ne prenez pas part aux dissensions frénétiques sur le réseau Usenet (ni où que ce soit).

        - Ne vous autoproclamez pas cyberpunk, et ne perdez pas votre temps avec ceux qui le font.

        - Ne postez pas de messages et n'envoyez pas d'e-mails remplis de fautes d'orthographe et de grammaire.


      La seule réputation que vous vous ferez en agissant de la sorte est celle d'un crétin. Les hackers ont la mémoire longue. Il vous faudra peut-être des années pour que ces erreurs soient oubliées.

      Le problème des pseudonymes et des noms d'utilisateur mérite quelques approfondissements. Dissimuler son identité derrière un pseudonyme est un comportement immature et idiot, caractéristique des crackers, des warez d00dz [NDT : une sous-culture majeure des crackers], et d'autres formes de vie inférieures. Les hackers ne le font pas. Ils sont fiers de leurs réalisations et veulent que leur vrai nom y soit associé. Donc si vous avez un pseudonyme, laissez-le tomber. Il ne pourra que vous faire passer pour un looser dans la communauté hacker.

      Note historique : Hacking, Open Source, et Free Software

      Quand j'ai initialement écrit ce guide en 1996, certaines des conditions l'entourant étaient différentes de ce qu'elles sont aujourd'hui. Quelques mots à propos de ces changements aideront sans doute à clarifier les choses pour ceux qui sont perturbés par le rapport entre Open Source, Free Software, et Linux au sein de la communauté hacker. Si vous n'êtes pas curieux à ce sujet, vous pouvez passer ce chapitre et vous rendre directement à la FAQ.

      L'éthique et la communauté telles que je les ai décrites ici sont bien antérieures à l'émergence de Linux d'après 1990; j'ai été impliqué pour la première fois dans cette communauté vers 1976, et ses racines sont aisément traçable jusqu'au début des années 1960. Mais avant Linux, la majorité du hacking se pratiquait soit sur système d'exploitation propriétaire, soit sur un etit choix de systèmes quasi-expérimentaux tels que le ITS du MIT qui n'ont jamais été déployés à l'extérieur de leur niche académique. Même s'il y a eu des tentatives antérieures - avant Linux - pour changer cette situation, l'impact est resté, au mieux, très marginal et confiné à des communautés de vrais passionnés, minuscules minorités au sein de la communauté hacker, et encore plus si on les considère du point de vue du monde du logiciel en général.

      Ce qui est à présent appelé "Free Software" remonte aussi loin que la communauté hacker, mais jusqu'à 1985 il s'agissait plus d'une coutume locale anonyme que d'un mouvement volontaire, avec ses théories et manifestes. Cette "préhistoire" a cessé quand, en 1985, l'arch-hacker Richar Stallman ("RMS") a essayé de lui donner le nom de "Free Software". Mais cet acte d'appellation était aussi un acte d'appropriation; il a lié à l'étiquette "Free Software" un bagage idéologique que beaucoup de ceux qui constituaient la communauté hacker d'alors n'ont jamais accepté. En conséquence, l'étiquette "Free Software" a été vigoureusement rejetée par une minorité substancielle de la communauté hacker (et particulièrement par ceux associés à BSD Unix), et utilisée - avec de sérieuses mais silencieuses réserves - par la majorité des autres (moi inclus).

      Malgré ces réserves, la volonté qu'avait RMS de définir et mobiliser la communauté hacker sous la bannière "Free Software" a bien tenu jusqu'au milieu des années 1990. Elle ne fut mise à mal par l'ascension de Linux, qui a donné au développement libre un habitat naturel. Beaucoup de projets fournis sous des termes que nous appellerions maintenant "open source" ont migré d'Unix propriétaires vers Linux. La communauté autour de Linux s'est accrue de manière explosive, devenant bien plus grande et plus hétérogène que la culture hacker pré-Linux. RMS a tenté avec détermination de ramener toute cette activité dans son mouvement du "Free Software", mais fut mis en échec à la fois par la diversité de la communauté Linux et le scepticisme public de son fondateur, Linux Torvalds. Torvalds a continué à utiliser le terme "Free Software" faute d'alternative, mais rejetait publiquement les idées de RMS. Et beaucoup de jeunes hackers lui emboitèrent le pas.

      En 1996, quand j'ai publié ce guide pour la première fois, la communauté hacker se réorganisait rapidement autour de Linux et d'une poignée d'autres systèmes libres (particulièrement les descendants de BSD Unix). La mémoire collective des décennies passées, durant lesquelles la plupart d'entre nous avions développé des logiciels fermés sur des systèmes fermés, n'avait pas encore commencé à s'estomper; mais cela commençait à appartenir au passé: les hackers, de plus en plus, se définissaient comme hackers par leur appartenance à des projets libres tels que Linux ou Apache.

      Le terme "open source", cependant, n'était pas encore apparu, et ne le ferait que début 1998. Quand ce fut le cas, la majorité de la communauté hacker l'avait adopté dans les six mois, exception faite d'une minorité idéologiquement attachée au terme de "Free Software". Depuis 1998, mais surtout après 2003, l'identification du "hacking" avec le développement "open-source (et du "Free Software")" est devenue extrêmement nette. Actuellement, il est vain d'essayer de distinguer ces catégories, et il semble peu probable que cela soit possible par le futur.

      Il est bon, cependant, de se souvenir que cela n'a pas toujours été le cas.

      Autres Ressources

      Paul Graham a écrit un essai intitulé "Great Hackers", et un autre intitulé "Undergraduation", dans lesquels il s'exprime avec beaucoup de sagesse.

      Il existe un document appelé "How To Be A Programmer" qui est un excellent complément au précédent. Il contient de précieux conseils non seulement sur la programmation et les compétences requises mais aussi sur comment travailler dans une équipe de programmeurs.

      J'ai également écris "A Brief History of Hackerdom" [NDT : Une Brève Histoire des Hackers].

      J'ai rédigé l'article "The Cathedral and the Bazaar", qui explique pas mal de choses sur le fonctionnement de Linux et de la culture open-source. Ce sujet est traité plus précisément dans sa suite : "Homesteading the Noosphere".

      Rick Moen a publié un excellent document sur comment gérer un groupe d'utilisateurs Linux.

      Rick Moen et moi-même avons collaboré à la conception d'un autre document : "How To Ask Smart Questions". Il vous aidera à demander de l'aide d'une manière qui vous permettra d'en recevoir.

      Si vous avez besoin d'instructions de base concernant les ordinateurs personnels, Unix et l'Internet, allez voir The Unix and Internet Fundamentals HOWTO.

      Lorsque vous diffusez un logiciel ou que vous écrivez un patch pour un programme, essayez de suivre les principes de Software Release Practice HOWTO.

      Si vous avez aimé le poème zen, vous apprécierez sans doute Rootless Root: The Unix Koans of Master Foo.


    Suite du texte au post suivant
    OxyGen Software
    Sécurité, développement, formations, informatique biomédicale
    [email protected]

  • #2
    • Questions fréquemment posées
      • 1. Comment savoir si je suis déjà un hacker ?
        2. Allez-vous m'apprendre à hacker ?
        3. Comment puis-je débuter, alors ?
        4. Quand doit-on commencer ? Est-ce trop tard pour que j'apprenne ?
        5. Combien de temps cela va-t-il me prendre pour apprendre à hacker ?
        6. Est-ce que Visual Basic est un bon langage pour commencer ?
        7. Pouvez-vous m'aider à cracker un système, ou m'apprendre à cracker ?
        8. Comment puis-je obtenir le mot de passe du compte de quelqu'un d'autre ?
        9. Comment puis-je m'introduire dans/lire/surveiller les e-mails de quelqu'un d'autre ?
        10. Comment puis-je m'emparer des privilèges op sur IRC ?
        11. J'ai été cracké ; Pouvez-vous m'aider à parer de futures attaques ?
        12. J'ai des problèmes avec Windows. Pouvez-vous m'aider ?
        13. Où puis-je trouver des vrais hackers à qui parler ?
        14. Pouvez-vous recommander des livres utiles sur des sujets liés au hacking ?
        15. Dois-je être bon en maths pour devenir un hacker ?
        16. Quel langage devrais-je apprendre en premier ?
        17. De quel sorte de matériel ai-je besoin ?
        18. Je veux contribuer. Pouvez-vous m'aider à choisir un problème sur lequel travailler ?
        19. Dois-je détester et me moquer de Microsoft ?
        20. Est-ce que les logiciels libres ne vont pas empêcher les programmeurs de gagner leur vie ?
        21. Où puis-je obtenir un Unix libre ?


      1. Comment savoir si je suis déjà un hacker ?

      Posez-vous les trois questions suivantes :
      • - Parlez-vous couramment le code?
        - Vous identifiez-vous aux buts et valeurs de la communauté hacker ?
        - Est-ce qu'un membre bien établi de la communauté hacker vous a appelé "hacker"?


      Si vous pouvez répondre oui à ces tois questions- deux seulement ne suffisent pas - alors vous êtes déjà un hacker.

      Le premier test est celui de la compétence. Vous le passez probablement si vous avez les compétences techniques minimales décrites plus haut dans ce document, et vous le passez haut la main si vous avez écrit une quantité substantielle de code accepté par un projet de développement libre.

      Le second test est celui de l'attitude. Si les cinq principes de la mentalité du hacker vous semblent évidents, s'ils sont pour vous plus une description de votre manière de vivre que quoi ce soit de nouveau, vous êtes à mi-chemin de la réussite. C'est la moitié intérieure; l'autre moitié, extérieure, est le degré auquel vous vous identifiez aux projets à long terme de la communauté hacker.

      Voici une liste indicative quoiqu'incomplète de ces projets : L'amélioration et la diffusion de Linux est-elle imortante pur vous? Etes-vous passionné par la liberté logicielle? Hostile aux monopoles ? Êtes vous d'accord pour dire que les ordinateurs peuvent renforcer le monde en en faisant un endroit plus riche et plus humain?

      Mais la prudence est de mise. La communauté hacker a quelques intérêts politiques spécifiques, principalement défensifs, dont défendre la liberté d'expression et contrer les suppots de la "propriété intellectuelle" qui voudraient rendre le logiciel libre illégal. Certains de ces projets à long terme sont des organisations de libertés civiques comme la "Electronic Frontier Foundation", et il est attendu de leur démontrer du soutien. Mais au-delà de cela, la plupart des hackers restent suspicieux quand aux tentatives de systématiser l'attitude du hacker en un programme politique explicite; nous avons appris, à la dure, que ces objectifs ont tendance à distraire et à diviser. Si quelqu'un veut vous recruter au sein d'un parti politique au nom de l'attitude hacker, il se fourvoie. La bonne réponse est probablement "ferme-la et montre le code".

      Le troisième test possède un délicat élément de récursivité. J'ai souligné dans la section "Qu'est-ce qu'un hacker ?" qu'être un hacker est en partie une question d'appartenance à une sous-culture particulière, ou un réseau social, avec une histoire partagée, un intérieur et un extérieur. Anciennement, les hackers n'étaient pas le groupe cohérent et conscient de lui-même qu'ils sont aujourd'hui. Mais l'importance du réseau social a augmenté au cours des trente dernières années, alors que l'Internet a rendu les connexions avec le coeur de la culture hacker plus facile à développer et à maintenir. Un indice évident d'un point de vue comportemental est que, dans ce siècle-ci, nous avons nos propres t-shirts.

      Les sociologues, qui étudient les réseaux comme ceux de la culture des hackers sous l'appellation générale de "collèges invisibles", ont noté qu'une des caractéristiques de ce genre de réseaux est qu'ils ont des gardiens, des membres centraux qui ont l'autorité sociale pour cautionner de nouveaux membres au sein du réseau. Parce que le "collège invisible" qu'est la culture hacker est informel, le rôle de gardien l'est tout autant. Mais une chose que tout hacker doit comprendre est que chacun n'est pas gardien. Les gardiens ont atteint un certain degré d'ancienneté et d'accomplissement avant de pouvoir prétendre à ce titre. Le nombre exacte de ces gardiens est difficile à quantifier, mais chaque hacker sait quand il se trouve en face de l'un d'eux.

      2. Allez-vous m'apprendre à hacker?

      Depuis que j'ai publié cette page pour la première fois, je reçois chaque semaine des messages (souvent plusieurs par jour) de personnes me demandant apprenez-moi tout ce qu'il faut savoir pour être un hacker. Malheureusement, je n'ai ni le temps ni l'énergie pour le faire. Mes propres bidouillages et mes déplacements en tant que défenseur du mouvement open-source prennent 110% de mon temps.

      Et même si j'avais le temps, on ne peut pas enseigner l'attitude et les compétences qui font un hacker, et qu'il faut acquérir par soi-même. Vous découvrirez que les hackers veulent vous aider, mais qu'ils ne vous respecteront pas si vous les implorer de vous nourrir à la petite cuillère.
      Commencez par apprendre quelques petits trucs. Montrez que vous faîtes des efforts, que vous êtes capable d'apprendre par vous-même. Après, posez des questions précises aux hackers.

      Si vous demandez de l'aide à un hacker par e-mail, voici deux choses que vous devez savoir au préalable. Tout d'abord, nous avons remarqué que les personnes qui sont paresseuses et négligentes dans leur façon d'écrire le sont aussi dans leur manière de penser et ne font pas de bons hackers. Faites donc attention à votre orthographe, grammaire et ponctuation, sinon vous serez sans doute ignoré. Ensuite, n'envisagez même pas de demander une réponse sur une adresse e-mail différente de celle que vous avez utilisée pour votre message; en général, ceux qui le demandent sont des truands qui utilisent des comptes piratés, et nous n'avons aucun intérêt à récompenser ou aider le piratage.

      3. Par quoi puis-je commencer, alors ?

      Le meilleur moyen de démarrer est de vous rendre à une session d'un GUL (groupe d'utilisateur de Linux). Vous pouvez trouver un GUL sur LDP General Linux Information Page ; Il y a de fortes chances pour qu'il y en ait un près de chez vous, probablement associé à une université ou un autre établissement d'enseignement supérieur. Ses membres vous donneront vraisemblablement une version de Linux si vous le leur demandez, et vous aideront certainement à l'installer et à débuter.

      4. Quand faut-il commencer ? Est-il trop tard pour moi ?

      Peu importe votre àge si vous êtes motivé. Beaucoup de hackers semblent s'y intéresser entre 15 et 20 ans, mais je connais des exceptions dans les deux sens.

      5. Comment de temps me faudra-t-il pour devenir un hacker ?

      Tout dépend si vous êtes doué et si vous vous travaillez sérieusement. La plupart des gens peuvent acquérir un ensemble de compétence convenable en dix-huit mois ou deux ans, s'ils s'investissent. Mais ne pensez pas que ça s'arrête là; en hacking (comme dans beaucoup d'autres domaines) il faut de l'ordre de dix ans pour atteindre la maîtrise. Si vous êtes un vrai hacker, vous passerez le reste de vos jours à apprendre et perfectionner votre art.

      6. Est-ce que le Visual Basic est un bon langage pour débuter?

      Si vous posez cette question, c'est à coup sûr que vous pensez à bidouiller sous Microsoft Windows. C'est une mauvaise idée en soi. Lorsque je comparais apprendre à bidouiller sous Windows à danser en étant complètement plâtré, je ne plaisantais pas du tout. Ne suivez pas cette route. Elle est répugnante et n'en finit pas de l'être.

      Le Visual Basic présente des problèmes spécifiques, principalement parce qu'il n'est pas portable. Bien que des prototypes de versions open-source de ce langage existe, les normes de l'ECMA ne couvrent qu'une partie de son interface de programmation. Sous Windows, la plupart de ses bibliothèques sont la propriété d'un seul distributeur (Microsoft). Ainsi, si vous n'êtes pas extrêmement prudent sur les caractéristiques que vous utilisez, plus prudent qu'un novice n'en est capable, vous serez réduit aux plateformes que Microsoft a choisi de fournir. Par contre, si vous démarrez sous Unix, de meilleurs langages avec d'excellentes bibliothèques sont disponibles, tels que Python par exemple.

      De plus, tout comme d'autres versions de Basic, il est très mal conçu et vous donnera de mauvaises habitudes de programmation. Non, ne me demandez pas de vous les décrire en détails, cela remplirait un livre entier. Apprenez un langage bien conçu à la place.

      Une de ces mauvaises habitudes est de devenir dépendant des bibliothèques, des gadgets et des outils de développement d'un seul distributeur. En général, tout langage qui n'est pas disponible sous Linux ou l'un des BSD, et/ou au moins trois systèmes d'exploitation de distributeurs différents, n'est pas un bon langage pour s'exercer à devenir un hacker.

      7. Pourriez-vous m'aider à craquer un système, ou m'apprendre à pirater?

      Non. Quiconque pose cette question après avoir lu cette FAQ est trop stupide pour être éduqué, même si j'avais le temps de l'encadrer. Toute requête de ce genre par e-mail sera ignorée ou recevra une réponse particulièrement rude.

      8. Comment puis-je obtenir le mot de passe du compte de quelqu'un d'autre ?

      C'est du piratage. Fiche le camp, abruti.

      9. Comment puis-je pénétrer/lire/surveiller la boîte e-mail d'un autre utilisateur ?

      C'est du piratage. Barre-toi, idiot.

      10. Comment puis-je voler les privilèges d'un opérateur de canal IRC?

      C'est du piratage. Dégage, crétin.

      11. J'ai été piraté. Pourriez-vous m'aider à me défendre contre de nouvelles attaques ?

      Non. À chaque fois qu'on me pose cette question, c'est un pauvre idiot qui utilise Microsoft Windows. Il n'est pas possible de sécuriser efficacement Windows contre les attaques de pirates. Son code et son architecture possèdent tout simplement trop de défauts. Sécuriser Windows serait comme vouloir renflouer un bateau percé comme une passoire. Le seul moyen de se prévenir contre toute attaque est d'opter pour Linux ou un autre système qui a été conçu pour, au moins, pouvoir être sécurisé.

      12. J'ai des problèmes avec mes logiciels Windows. Pourriez-vous m'aider ?

      Oui. Ouvrez une fenêtre de commande DOS et tapez "format c:". Tout problème que vous rencontrez devrait cesser d'ici quelques minutes.

      13. Où puis-je trouver de vrais hackers à qui parler ?

      Le meilleur moyen est de trouver un groupe d'utilisateurs d'Unix ou de Linux près de chez vous et d'aller à leurs réunions (vous trouverez des liens vers plusieurs listes de groupes d'utilisateurs sur le site LDP).

      (Je disais auparavant que vous ne trouverez pas de vrais hackers sur IRC, mais il semble manifestement que cela aie changé. Apparemment, quelques communautés de vrais hackers, attachés à des choses comme GIMP ou Perl, ont leurs canaux IRC à présent.)

      14. Pourriez-vous me conseiller des ouvrages consacrés au monde des hackers ?

      Je maintiens Linux Reading List [NDT : Bibliographie Linux] qui peut vous servir. Vous pourrez aussi trouver le Loginataka intéressant.
      Pour une introduction à Python, allez voir les documents introductifs sur le site de Python.

      15. Est-ce que j'ai besoin d'être fort en mathématiques pour devenir un hacker ?

      Non. Vous n'aurez besoin que de très peu d'arithmétique et de mathématiques formelles. En particulier, vous n'aurez pas besoin de trigonométrie, de calcul ou de mathématiques analytiques (hormis pour une poignée d'applications spécifiques comme l'imagerie 3D). Connaître un peu de logique formelle ou d'algèbre de Boole est suffisant. Certaines bases en mathématiques discrètes (ce qui comprend l'algèbre booléenne, la théorie des ensembles finis, l'analyse combinatoire et la théorie des graphes) peuvent s'avérer utiles.

      Mais plus important : vous devez être capable de penser logiquement et de suivre des chaînes de raisonnement exact, à la manière des mathématiciens. Même si la plupart des sujets mathématiques ne vous apporteront rien, vous aurez besoin de discipline et d'intelligence pour saisir les mathématiques. S'il vous manque l'intelligence, il y a peu de chances que vous réussissiez en tant que hacker ; s'il vous manque la discipline, vous feriez mieux de la développer.

      Je pense qu'une bonne manière de savoir si vous avez le potentiel nécessaire est d'obtenir une copie du livre de Raymond Smullyan What Is The Name Of This Book?. Les énigmes logiques amusantes de Smullyan sont très présentes dans l'esprit des hackers. Être capable de les résoudre est un bon signe ; aimer les résoudre en est un encore plus probant.

      16. Quel langage dois-je apprendre pour commencer ?

      XHTML (le plus récent dialecte d'HTML) si vous ne le connaissez pas déjà. Il existe malheureusement beaucoup de mauvais livres sur l'HTML, et désespérément peu de bons. Celui que je préfère est HTML: The Definitive Guide.

      Mais HTML n'est pas un langage de programmation complet. Lorsque vous serez prêt à programmer, je vous conseille de commencer avec Python. VVous entendrez beaucoup de personnes préconiser Perl, et Perl est toujours plus populaire que Python, mais il est plus dur à apprendre et n'a pas été, à mon avis, aussi bien conçu.

      Le C est très important, mais il est aussi plus difficile que Python ou Perl. N'essayez pas de l'apprendre en premier.

      Quant aux utilisateurs de Windows, n'optez pas pour le Visual Basic. Il vous donnera de mauvaises habitudes et il n'est pas portable hors de Windows. À éviter.

      17. De quel type de matériel ai-je besoin ?

      Autrefois, je pensais que les ordinateurs personnels n'avaient pas assez de mémoire et ne bénéficiaient pas de moteurs assez puissants, de sorte qu'ils limitaient l'apprentissage du hacker. Cela n'a cessé d'être vrai qu'au milieu des années 90. N'importe quelle machine supérieure à un Intel 486DX50 est plus que suffisamment puissante pour faire du développement, faire fonctionner un système X Window et utiliser Internet. Par ailleurs, les plus petits disques durs que vous pouvez acheter de nos jours font amplement l'affaire.

      L'étape la plus importante dans le choix d'une machine est de vérifier que le matériel est compatible avec Linux (ou BSD, si vous décidez de suivre ce chemin). Encore une fois, la plupart des ordinateurs personnels modernes devraient l'être. Les seuls domaines délicats sont les modems et les adaptateurs sans fil. Certaines machines ont du matériel spécifique Windows qui ne marche pas sous Linux.

      Il existe une FAQ concernant la compatibilité du matériel informatique, dont voici la dernière version.

      18. Je souhaite contribuer. Pourriez-vous m'aider à choisir un projet sur lequel travailler ?

      Non, parce que je ne connais ni vos compétences ni vos intérêts. Vous devez être motivé sinon vous n'irez pas au bout. C'est pour cela que ne pas choisir soi-même son projet ou la direction de son travail ne marche jamais ou presque.

      Essayez plutôt ceci : regardez pendant quelques jours la liste des projets annoncés sur Freshmeat pendant quelques jours. Lorsque vous en voyez un qui vous fait penser Cool! J'aimerais bien bosser là-dessus!, rejoignez le projet.

      19. Dois-je haïr et cogner sur Microsoft ?

      Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.

      20. Les logiciels à code source ouvert ne vont-ils pas empêcher les programmeurs de gagner leur pain ?

      Cela paraît peu probable. Jusqu'à présent, l'industrie des logiciels à code source ouvert semble créer plus d'emplois qu'elle n'en détruit. Dès lors que la création d'un programme représente un profit net sur son inexistence, un programmeur sera payé, que le code source du logiciel soit ouvert ou non une fois écrit. Par ailleurs, quelque soit le nombre de logiciels libres écrit, il y aura toujours une demande pour de nouvelles applications et des programmes personnalisés. J'en ai écrit plus à ce sujet dans le site Web Open Source.

      21. Comment puis-je démarrer ? Où puis-je trouver un Unix gratuit ?

      Si vous n'avez pas encore un Unix installé sur votre machine, il existe ailleurs sur cette page un lien vers le site Web où vous pourrez obtenir l'Unix gratuit le plus couramment utilisé. Pour être un hacker, vous devez faire preuve de motivation et d'initiative, et savoir apprendre par vous-même.

      Commencez maintenant...
    OxyGen Software
    Sécurité, développement, formations, informatique biomédicale
    [email protected]

    Commentaire


    • #3
      Bon, je déterre un peu, mais déterrer de la culture, ca ne peut pas faire de mal =)

      15. Est-ce que j'ai besoin d'être fort en mathématiques pour devenir un hacker ?

      Non. Vous n'aurez besoin que de très peu d'arithmétique et de mathématiques formelles. En particulier, vous n'aurez pas besoin de trigonométrie, de calcul ou de mathématiques analytiques
      Pour ma part, je suis en total désaccord avec ca. Dès qu'on fait un peu d'électronique, ou de l 'algo un minimum costaud, on a besoin de bases plus que correctes en math.

      Après, avec la pratique et la lecture, ca viens tout seul.

      Tortue 974.
      Dernière modification par TorTukiTu, 28 janvier 2014, 16h30.
      OxyGen Software
      Sécurité, développement, formations, informatique biomédicale
      [email protected]

      Commentaire


      • #4
        Je pense qu'un "vrai" hacker n'a pas besoin de guide.
        C'est une mentalité qu'on a ou qu'on a pas. Je vois ça comme l'art, soit tu le comprends et tu peux rester les yeux plongés dans un tableau pendant des heures à voir comment l'artiste a représenté les choses et les émotions qui s'en dégagent.
        Pour moi ça ne se "cultive" pas. Ou très difficilement. C'est la passion qui fait, potentiellement, devenir "Hacker". Et je pense que les gens que l'on peut appeler ainsi n'ont pas cherchés à le devenir, mais ont juste cherchés à suivre leur passion, et sont devenus de plus en plus bons.

        Quand je dis ça, j'ai aucune envie de voir ce terme comme une forme d'élitisme. Au contraire, je pense qu'il faut juste le voir comme un terme. Au final ça cache la vraie raison. Ce qui est classe, c'est pas d'être un "hacker" c'est d'avoir les compétences qui sont "requises" pour (Façon de parler).

        Bref, c'est juste mon avis, et j'aurais du mal à réellement l'exprimer. J'ai tendance à accorder plus d'importance au fond qu'à la forme (Aux compétences qu'au titre). Mais bref, je dénigre pas le travail qui a été fait (faut pas déconner, y en a pour un sacré moment à écrire tout ça), et je respecte tout à fait les gens qui ont plus ou moins besoin de ça.

        Bref, en résumé, j'pense que s'il y a des gens (pas forcément inscrit) qui lisent ce guide pour se forcer et vouloir ressembler à un "Hacker", ça sera très probablement une mauvaise solution, et vous perdrez votre temps. Pour ceux qui lisent ça en se disant "Tiens, c'est marrant, ça me correspond plutôt pas mal", j'ai envie de dire pourquoi pas.

        Faites ce que vous aimez, vous serez forcément bon de-dans.
        Dernière modification par Xioth, 29 janvier 2014, 09h33.
        "[...] I believe that anyone who has the hacker spirit is a hacker, despite any laws he or she may break." Jon Erickson

        Commentaire


        • #5
          Totalement d'accord avec toi, Xioth. Après, il faut voir que la question "Comment devenir un hacker ?" apparaît très souvent dans les post de néophytes. D'où ce topic.
          Les nouveaux ont souvent une vision très holywoodienne du hack, a des lieues de la réalité. L'idée de ce post est de démystifier le hack.

          C'est sur que passer des jours à bricoler un vieux minitel, c'est moins vendeur que des écrans et des boutons qui brillent de partout dans un ancien bunker de la NSA...

          Tout ceci en n'oubliant pas la progande officielle des mass médias qui font tout pour diaboliser les hackers en les fesant passer pour de dangereux pirates terroristes anarchonazis.

          Tortue 974.
          Dernière modification par TorTukiTu, 29 janvier 2014, 09h43.
          OxyGen Software
          Sécurité, développement, formations, informatique biomédicale
          [email protected]

          Commentaire


          • #6
            Je vais aussi donner mon point de vue sur le sujet "devenir un hacker".
            je dirais que pour devenir il faut le vouloir, avoir des objectifs bien placés car le hacking, pour moi, c'est une passion avant tout.

            Ça demande du temps et de la patience, beaucoup de travail dans n'importe quel domaine :"le_ réseau_, la programmation, la sécurité, le développement" et aussi d'avoir un bon esprit logique et une bonne capacitée d'analyse_ car chaque jour_ les systèmes changent et ___ évoluent ____ ____.

            Une personne qui est motivée et qui pratique l'art du hacking deviendra plus performante de jour_ en jour_.
            En tout cas, c'est mon point de vue __ : c'est ce que j'ai remarqué la dernière fois, lors de la nuit du hack. C'était une première pour moi avant que je n'intègre _ l'armée.
            Dernière modification par comaX, 02 février 2014, 20h15. Motif: Merci à tortu pour la correction.

            Commentaire


            • #7
              Je vais aussi donner mon point de vue sur le sujet "devenir un hacker".
              je dirais que pour devenir il faut le vouloir, avoir des objectifs bien placés car le hacking, pour moi, c'est une passion avant tout.

              Ça demande du temps et de la patience, beaucoup de travail dans n'importe quel domaine :"le_ réseau_, la programmation, la sécurité, le développement" et aussi d'avoir un bon esprit logique et une bonne capacitée d'analyse_ car chaque jour_ les systèmes changent et ___ évoluent ____ ____.

              Une personne qui est motivée et qui pratique l'art du hacking deviendra plus performante de jour_ en jour_.
              En tout cas, c'est mon point de vue __ : c'est ce que j'ai remarqué la dernière fois, lors de la nuit du hack. C'était une première pour moi avant que je n'intègre _ l'armée.
              En tout cas, tu n'es pas très performant en orthographe ou en grammaire. Tu pourrais au moins te relire (ou à défaut, faire passer un coup de correcteur automatique) au lieu d'étaler ta confiture grammaticale et syntaxique sur tous les topics. C'est gavant pour ceux qui essayent de te lire.

              Contrairement à son nom, la Nuit du hack n'est absolument plus représentative du monde du hack. Les confs c'est du réchauffé. C'est devenu un terrain de chasse à pentesteurs pas chers pour les entreprises.

              Le pognon y règne en maître. Le seul intérêt de la NDH, c'est de serrer quelques mains et de papoter avec quelques vieux amis.


              Tortue 974.
              Dernière modification par TorTukiTu, 29 janvier 2014, 17h09.
              OxyGen Software
              Sécurité, développement, formations, informatique biomédicale
              [email protected]

              Commentaire


              • #8
                Je suis d'accord avec toi Xioth,

                Seulement, tu dis "un vrai" hacker n'a pas besoin de guide", normale puisqu'il est (déjà) un hacker, il n'a plus rien à apprendre (je parle au niveau des capacités et non pas des conaissances). Aussi, une personne lambda qui souhaite être un pro de l'info, le "windowsien", si tu le mets du jour au lendemain sur un système Unix ... il ne va pas s'en sortir s'il ne connais rien de ce système (shell). Pour moi, il est donc normale qu'une personne est besoin d'un guide (humain ou autre) pour comprendre et avancer. On ne peut pas dire "J'ai appris le PHP" tout seul, il a surement lu un tuto ou autre.

                Voilà, mon avis est que l'info est bien trop vaste et compliqué pour qu'une personne puisse en apprendre tout les recoins SEUL. Et si il n'est pas guidé, il aura des mauvaise habitudes et ne sera donc pas bon.
                Dernière modification par FRKorisS, 29 janvier 2014, 14h11.
                Mess with the best, Die like the rest

                Commentaire


                • #9
                  Quand je disais ça, je ne parlais surtout que pour ceux qui ne rêve que d'être perçu comme un hacker, et non ceux qui veulent en avoir les compétences. D'où ma conclusion.

                  Il est clair qu'un "vrai" hacker n'en a pas besoin, puisqu'il l'est déjà. C'est pour ça que mon message est parsemé de guillemets.

                  Evidemment qu'une personne voulant apprendre, va avoir besoin d'aide. Mais la mentalité, le fait d'aimer les puzzle, de vouloir toujours aller plus loin, et autre, est une qualité qu'on ne peut que très difficilement développer, soit on aime, soit on n'aime pas.
                  Bref, comme je le disais, j'aurais du mal à exprimer réellement ce que je pense, et que je ne parle en aucun cas des connaissances à acquérir, mais plus de la mentalité "requise".
                  "[...] I believe that anyone who has the hacker spirit is a hacker, despite any laws he or she may break." Jon Erickson

                  Commentaire


                  • #10
                    @Xioth, nous avons à peu près la même conception du hack. On n'apprends pas à être un hacker, on le deviens sans s'en rendre compte.

                    Tortue 974.
                    Dernière modification par comaX, 02 février 2014, 20h18.
                    OxyGen Software
                    Sécurité, développement, formations, informatique biomédicale
                    [email protected]

                    Commentaire


                    • #11
                      Je suis tout a fait d'accord avec le fait qu'on n'apprend pas à être hacker, mais qu'on le devient sans s'en rendre compte !
                      Faaf

                      Commentaire


                      • #12
                        Donc je programme sur quoi , sur mon debian en machine virtuel ?
                        et en gros on commence par xhtml > python > C ? c'est ça ?

                        Commentaire


                        • #13
                          Tu codes sur ce que tu veux. Il faut avoir une connaissance des systèmes UNIX, après chacun est libre d'utiliser au quotidien le système d'exploitation qu'il désire(en connaissance des risques potentiels lié à certains systèmes assez ... visés par les pirates).

                          Après je comprends pas trop l'intérêt d'apprendre le xHTML. Déjà si tu veux partir sur du Web, commences avec le HTML5, poursuis avec le CSS3 (sinon tu vas faire des sites pas très jolis).

                          Après pour la programmation en tant que telle, Python et le C sont des bons langages, en particulier dans la programmation système et le pentest, les deux sont très utilisés des communautés.

                          Après y a deux écoles. Soit tu commences par le Python, et c'est une difficulté graduelle, jusqu'à arriver au C.
                          Soit tu commences par le C, tu te creuses la tête avec les concepts de mémoire etc, et après les autres langages sembleront "plus simple".

                          A toi de voir. De toute façon il n'y a pas réellement de "mauvais" langages. (Sauf le VB.Net, hérétique xD. (Je rigole. Hmm))

                          A toi de voir ce que tu veux faire : Web ou Applicatif.
                          "[...] I believe that anyone who has the hacker spirit is a hacker, despite any laws he or she may break." Jon Erickson

                          Commentaire


                          • #14
                            Donc Xioth je peux ecrire ces codes directement sur mon linux qui est quand je l'allume en ligne de commande direct.
                            ou il faut que je ma VM en fenetre graphique et qu'ensuite je lance l'invite de commande ?

                            Je songe a faire passer mon PC en Linux, des conseils sur la distribution ?

                            Commentaire


                            • #15
                              Je ne comprend pas tout ce que tu écris ^^

                              Donc non tu ne peux pas taper du code directement dans le terminal Linux mais plutôt grâce à vim ou un autre éditeur de texte. Sous windows, tu peux utiliser le bloc note ou bien un IDE (tout comme Linux). Si tu programme avec Python, tu peux aussi utiliser l'interpréteur.

                              Pour ta distro, je te conseille une distro Debian.
                              Mess with the best, Die like the rest

                              Commentaire

                              Chargement...
                              X