2 x merci . Mais c'est quoi les dépôts APT ?
C'est un gestionnaire d'archive sur lequel ce trouve tout (enfin une trés grande partie) des logiciels linux, chaque distribution à sa propre archive appelé "repository", par exemple voici le repository de la distribution ubuntu
http://packages.ubuntu.com/oneiric/3 x merci. C'est un "honneur" que je ne pense pas vraiment mériter.
Un honneur faut peut être pas abuser

je maintient juste une liste des tutoriels, astuces, etc pour faciliter la vie de ceux qui prenne le temps de regarder du coté du "guide arduino"

Rassure-toi, tes questions ne sont pas neuneu. D'ailleurs, je vais te demander un peu de temps avant d'y répondre car je ne veux pas raconter de bêtises. Je vais donc tourner ma langue 7 x avant de dire quelque chose. J'ai encore dans mes tiroirs l'un ou l'autre Atmega vierge (sans bootloader et avec les fuses d'origine). Donc, je vais faire des tests et prendre des notes. Ce sera une excellente manière de poursuivre ce "tutoriel" (puisque Skywodd a décidé de l'appeler comme çà).
Appelle le comme tu veut c'est pas moi qui vais te forcer

Pour répondre à 68tjs,
1) Le mode "bit bang" FTDI consiste à transformer un ftdi FT232 en un "simple" périphérique d'éntrée/sortie usb.
FTDI a eu la bonne idée de permettre d'utiliser certaine broche comme des sorties logique "classique".
Il faut savoir que dans un micro-contrôleur se trouve un petit circuit nommé ISP (ou ISCP) permettant de programmer le micro-contrôleur.
Celui ci utilise le bus SPI pour recevoir et communiquer avec le programmateur suivant un protocole bien définie documenté par atmel.
Avec la méthode du "bit bang" il est possible de faire un port SPI "software" en émulant les timing de chaque signaux (miso, mosi, clk et ss) mais à une vitesse bien plus basse que du "vrai" SPI.
De ce faite il est possible de communiquer par spi avec le µc et par extension de le programmer via ISP.
Avec la méthode de "bit bang" il est possible de programmé un µc vierge (sans bootloader) et par extension de bootloader un µc, pour ensuite utiliser ce même bootloader pour envoyer les programmes futur, cette étape s'appelle le "bootstrapping".
2) Il ne faut pas forcément un "vrai" programmateur, une carte arduino, un module FT232, ou n'importe quelle périphérique capable de communiquer en SPI peut être utilisé pour faire du ISP et donc programmer un µc AVR.
Cependant il faut effectivement utilisé l'ISP pour envoyer un .hex sur un µc vierge.
3) Tout as fait, même le meilleur des programmes serait inutilisable si les fusibles ("fuses") ne sont pas correctement programmé.
Petite remarque, si les fusibles ne sont pas correctement calculé, cela peut, au mieux, empêcher le programme de tourner, au pire, empêcher le port SPI de fonctionner et par conséquent bloquer tout reprogrammation même par ISP.
Mais si ce genre de chose se produit (c'est si vite arrivé de cocher "ISP disable" ou "Reset disable" sur un calculateur de fusibles

) alors le µc n'est pas HS !
En l'état il n'est plus utilisable certes, mais via un programmateur HVSP (High Voltage Serial Programming, Programmation série à haut voltage) il est possible d'éffacer les fusibles et donc de "sauver" le µc.
4) Effectivement ce site est LA référence

Voici (en gros) les fusibles d'un ATmega328p :
Tout d'abord l'horloge, il existe deux types d'horloge, interne (int) et externe (ext), de base tout µc AVR possède un oscillateur RC à 8MHz ou 128KHz (d'ou l'appellation RC OSC. sur le calculateur

).
Il existe ensuite plusieurs type d'horloge externe, les crystal (quartz) qui peuvent être à basse fréquence (low-freq, exemple les quartz 32KHz pour horloge RTC), full-wing (résonateur céramique <4MHz) et normal (crystal OSC.).
Pour les oscillateur "crystal" (crystal OSC.) il faut régler les fusibles suivant la plage de fréquence du quartz.
Une fois le choix de l'oscillateur, et si besoin de sa fréquence, effectué il faut réglé le "startup timer", ou temps de démarrage, le "power up time" représente le temps que va mettre le µc avant de démarrer le programme, contrairement à ce que l'on pourrai penser, la valeur la plus basse n'est pas la meilleur !
Il faut choisir le temps suivant la qualité de son quartz, les condensateurs qui lui sont lié et la précision de l'horloge requise au début du programme, pour une application ou le respect des timing est critique même aux 1er instructions du programmes ont choisira un temps long pour laisser le temps au quartz de se stabiliser.
Le temps de démarrage est précisé en nombre de cycle d'horloge (CK) plus un temps de "reset" en ms (la durée du signal qui doit être appliqué sur la broche RST pour déclencher un redémarrage du µc).
Bien nous avons désormais configuré notre horloge, maintenant plusieurs options s'offre à nous :
Clock output on PORTB0 -> le signal d'horloge sera présent sur la broche PB0, utile par exemple pour synchroniser deux µc sur un seul quartz.
Divide clock by 8 internally -> signal d'horloge sera diviser en interne par 8, c'est une option que l'on peut cocher dans le cas d'un résonateur céramique "low cost" dont la précision est incertaine, sinon en temps normal avec un quartz de qualité il est inutile de cocher cette option.
Boot Reset vector Enabled -> cette option modifie l'adresse mémoire ou ce trouve le vecteur de "reset", utile uniquement dans des applications spécifique.
Boot Flash Section size=xxx words -> spécifie la taille de la zone mémoire réservé à l'usage d'un bootloader, cette zone sera protégé par la suite pour évité de "bricker" le bootloader.
Preserve EEPROM memory through the Chip Erase cycle -> la mémoire EEprom n'est pas effacer lors d'un "formatage" total du µc (via avrdude par exemple).
Watch-dog Timer always on ->
attention cette option peut bloquer votre programme, elle active le "chien de garde", celui ci estime le temps que doit mettre une série d'instructions pour s'exécuter et si leurs exécutions prend plus de temps que prévu (boucle infini par exemple) le µc redémarrera de lui même.
Serial program downloading (SPI) enabled ->
attention décocher cette case et vous pourrez dire byebye à votre µc ! Sauf si vous êtes sur est certain que votre programme est dénué de tout bug et que vous voulez empêcher quiconque d'effacer/modifier le programme qui contient ne la décocher pas ! (Utile pour les fabricants de matériel pour protéger le circuit du "reverse engineering").
Debug Wire enable -> si vous avez un debuggeur d'AVR (avr dragon, mkII, ...) cocher cette case et vous pourrez utiliser le protocole SWD (single wire debug) présent sur la broche "rst" (reset) pour débugger en temps réel votre programme.
Reset Disabled ->
attention case à ne pas décocher ! Si vous la décocher votre µc ne pourra plus utiliser la broche "reset", comme celle ci est obligatoire pour rentrer en mode debug SWD ou en programmation ISP, vous ne pourrez plus reprogrammer votre µc (sauf avec un programmateur HVSP), c'est l'erreur classique du débutant sur les ATtiny45/85, pour avoir un broche en plus on désactive le reset -> erreur fatale !
Brown-out detection -> il arrive que pour certaine application il soit judicieux de redémarrer le programme en cas d'un défaut de l'alimentation (micro coupure, pile faible, ...), c'est possible via ce fusible avec comme tension de seuil : 4.3v, 2.7v ou 1.8v.
(La partie "manual fuse bit", permet aux utilisateurs avancé de modifier une configuration obtenu sous forme d'un "dump" avrdude, elle ne nous intéresse pas dans notre cas)
Un fois les fusibles judicieusement sélectionné on obtient trois valeurs en hexa :
le "low fuse" (lfuse), le "high fuse" (hfuse)et le "extended fuse" (efuse), c'est trois valeurs correspondent à la configuration choisi et devront être "brulé" dans le µc via avrdude.
Edit: J'espère que c'était suffisamment clair, parce que quand on sait, on sait, mais quand on sait pas ...
