<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>Minimalteck.fr</title>
	<link>http://minimalteck.fr/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>

	<image>
		<title>Minimalteck.fr</title>
		<url>http://minimalteck.fr/local/cache-vignettes/L48xH48/siteon0-e5814.png</url>
		<link>http://minimalteck.fr/</link>
		<height>48</height>
		<width>48</width>
	</image>



<item xml:lang="fr">
		<title>Sauvegarde et restauration du MBR</title>
		<link>http://minimalteck.fr/admin/sauvegarde-et-restauration-du-mbr</link>
		<guid isPermaLink="true">http://minimalteck.fr/admin/sauvegarde-et-restauration-du-mbr</guid>
		<dc:date>2009-04-30T13:45:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Minimalteck</dc:creator>


		<dc:subject>Rapido Tuto</dc:subject>
		<dc:subject>Sauvegarde</dc:subject>

		<description>Le MBR (Master Boot Record) correspond au premier secteur physique d'un disque dur. Le MBR contient sur 512 octets, le chargeur d'amor&#231;age (ie GRUB, LILO, etc.) et la table des partitions principales (ou primaires, mais attention pas la table des partitions logiques). La sauvegarde du MBR peut se r&#233;aliser avec la commande dd car celle-ci effectue une copie litt&#233;rale, octet par octet. Mettons nous en situation : root@jupiter : # fdisk -l Disk /dev/sda : 160.0 GB, 160041885696 bytes 255 (...)

-
&lt;a href="http://minimalteck.fr/admin/" rel="directory"&gt;Admin&lt;/a&gt;

/ 
&lt;a href="http://minimalteck.fr/rapido-tuto" rel="tag"&gt;Rapido Tuto&lt;/a&gt;, 
&lt;a href="http://minimalteck.fr/sauvegarde" rel="tag"&gt;Sauvegarde&lt;/a&gt;

		</description>


 <content:encoded>&lt;img class='spip_logos' alt=&quot;&quot; src=&quot;http://minimalteck.fr/local/cache-vignettes/L128xH128/arton37-3aac1.png&quot; width='128' height='128' style='height:128px;width:128px;' /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le &lt;a href='http://fr.wikipedia.org/wiki/Master_boot_record' class='spip_out' title=&quot;En savoir plus avec Wikip&#233;dia &quot; rel='external'&gt;MBR (Master Boot Record)&lt;/a&gt; correspond au premier secteur physique d'un disque dur.
&lt;br /&gt;Le MBR contient sur 512 octets, le chargeur d'amor&#231;age (ie GRUB, LILO, etc.) et la table des partitions principales (ou primaires, mais attention pas la table des partitions logiques).&lt;/p&gt; &lt;p&gt;La sauvegarde du MBR peut se r&#233;aliser avec la commande &lt;i&gt; &lt;strong&gt;dd&lt;/strong&gt; &lt;/i&gt; [&lt;a href='#nb1' class='spip_note' rel='footnote' title='Voir man dd ou la doc ubuntu associ&#233;e' id='nh1'&gt;1&lt;/a&gt;] car celle-ci effectue une copie litt&#233;rale, octet par octet.&lt;/p&gt; &lt;p&gt;Mettons nous en situation :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;root@jupiter:~# fdisk -l&lt;br /&gt; &lt;br /&gt; Disk /dev/sda: 160.0 GB, 160041885696 bytes&lt;br /&gt; 255 heads, 63 sectors/track, 19457 cylinders&lt;br /&gt; Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt; Disk identifier: 0x0003efec&lt;br /&gt; &lt;br /&gt; Device Boot Start End Blocks Id System&lt;br /&gt; /dev/sda1 * 1 31 248976 83 Linux&lt;br /&gt; /dev/sda2 32 19457 156039345 5 Extended&lt;br /&gt; /dev/sda5 32 19457 156039313+ 8e Linux LVM&lt;br /&gt; &lt;br /&gt; Disk /dev/sdb: 160.0 GB, 160041885696 bytes&lt;br /&gt; 255 heads, 63 sectors/track, 19457 cylinders&lt;br /&gt; Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt; Disk identifier: 0x000801fa&lt;br /&gt; &lt;br /&gt; Device Boot Start End Blocks Id System&lt;br /&gt; /dev/sdb1 * 1 31 248976 83 Linux&lt;br /&gt; /dev/sdb2 32 19457 156039345 5 Extended&lt;br /&gt; /dev/sdb5 32 19457 156039313+ 8e Linux LVM&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Sauvegarde du MBR :&lt;/strong&gt;
&lt;code class='spip_code' dir='ltr'&gt;dd if=/dev/sda of=mbr-sda.sav count=1 bs=512&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Restauration du MBR :&lt;/strong&gt;
&lt;code class='spip_code' dir='ltr'&gt;dd if=mbr-sda.sav of=/dev/sda&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Restauration du MBR sans la table des partitions :&lt;/strong&gt;
&lt;code class='spip_code' dir='ltr'&gt;dd of=/dev/sda if=mbr-sda.sav bs=446 count=1&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Sauvegarde de la table de partition &#233;tendue :&lt;/strong&gt;
&lt;code class='spip_code' dir='ltr'&gt;sfdisk -d /dev/sda &gt; table-sda.sfdisk&lt;/code&gt;
L'option &quot;-d&quot; pass&#233; &#224; &lt;a href='http://www.delafond.org/traducmanfr/man/man8/sfdisk.8.html' class='spip_out' title=&quot;Page de man sur delafond.org &quot; rel='external'&gt;sfdisk&lt;/a&gt; permet de g&#233;n&#233;r&#233; un fichier de dump en vue d'une restauration via la m&#234;me commande.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Restauration la table de partition &#233;tendue :&lt;/strong&gt;
&lt;code class='spip_code' dir='ltr'&gt;sfdisk /dev/sda &lt; table-sda.sfdisk&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Clonage direct de disque dur :&lt;/strong&gt;
&lt;code class='spip_code' dir='ltr'&gt;dd if=/dev/sda of=/dev/sdb bs=512 count=1&lt;/code&gt;
&lt;code class='spip_code' dir='ltr'&gt;sfdisk -d /dev/sda | sfdisk dev/sdb&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;&lt;span class=&quot;csfoo htmla&quot;&gt;&lt;/span&gt;[&lt;a href='#nh1' id='nb1' class='spip_note' title='Notes 1' rev='footnote'&gt;1&lt;/a&gt;] &lt;span class=&quot;csfoo htmlb&quot;&gt;&lt;/span&gt;Voir &lt;a href='http://man.gnusquad.org/dd/section-1/fr/' class='spip_out' title=&quot;Page de man sur gnusquad.org&quot; rel='external'&gt;man dd&lt;/a&gt; ou la &lt;a href='http://doc.ubuntu-fr.org/dd' class='spip_out' title=&quot;doc.ubuntu-fr.org&quot; rel='external'&gt;doc ubuntu associ&#233;e&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Gestion des packages Debian : l'utilitaire APT (Advanced Packaging Tools)</title>
		<link>http://minimalteck.fr/admin/gestion-des-packages-debian-l</link>
		<guid isPermaLink="true">http://minimalteck.fr/admin/gestion-des-packages-debian-l</guid>
		<dc:date>2009-03-12T15:27:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Minimalteck</dc:creator>


		<dc:subject>Rapido Tuto</dc:subject>

		<description>Installation de packages apt-get install nom_package Installe nom_package apt-get -s install nom_package Simule l'installation de nom_package apt-get &#8212;reinstall install nom_package R&#233;installe nom_package apt-get install nom_package/distrib Installe la version de nom_package disponible dans une autre version de la distribution (stable, unstable ou testing) apt-get install nom_package=version Installe nom_package dans la version version apt-get source nom_package T&#233;l&#233;charge le (...)

-
&lt;a href="http://minimalteck.fr/admin/" rel="directory"&gt;Admin&lt;/a&gt;

/ 
&lt;a href="http://minimalteck.fr/rapido-tuto" rel="tag"&gt;Rapido Tuto&lt;/a&gt;

		</description>


 <content:encoded>&lt;img class='spip_logos' alt=&quot;&quot; src=&quot;http://minimalteck.fr/local/cache-vignettes/L100xH123/arton21-1ffc9.jpg&quot; width='100' height='123' style='height:123px;width:100px;' /&gt;
		&lt;div class='rss_texte'&gt;&lt;div class=&quot;cs_sommaire cs_sommaire_avec_fond&quot; id=&quot;outil_sommaire&quot;&gt; &lt;div class=&quot;cs_sommaire_inner&quot;&gt; &lt;div class=&quot;cs_sommaire_titre_avec_fond&quot;&gt; Sommaire &lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=&quot;Installation de packages&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_0&quot;&gt;Installation de packages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;D&#233;sinstallation de packages&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_1&quot;&gt;D&#233;sinstallation de packages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Mise &#224; jour des packages install&#233;s&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_2&quot;&gt;Mise &#224; jour des packages (&#8230;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Nettoyer le cache&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_3&quot;&gt;Nettoyer le cache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Information sur les packages&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_4&quot;&gt;Information sur les packages&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_0&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Installation de packages&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get install &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;Installe &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get -s install &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;Simule l'installation de &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get &#8212;reinstall install &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;R&#233;installe &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get install &lt;i&gt;nom_package&lt;/i&gt;/&lt;i&gt;distrib&lt;/i&gt;
&lt;br /&gt;Installe la version de &lt;i&gt;nom_package&lt;/i&gt; disponible dans une autre version de la distribution (stable, unstable ou testing)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get install &lt;i&gt;nom_package&lt;/i&gt;=&lt;i&gt;version&lt;/i&gt;
&lt;br /&gt;Installe &lt;i&gt;nom_package&lt;/i&gt; dans la version &lt;i&gt;version&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get source &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;T&#233;l&#233;charge le package source.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get -b source &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;T&#233;l&#233;charge le package source et le compile ensuite.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get build-dep &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;T&#233;l&#233;charge les d&#233;pendances du package source &lt;i&gt;nom_package&lt;/i&gt; qui va &#234;tre compil&#233;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_1&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;D&#233;sinstallation de packages&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get remove &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;D&#233;sinstalle le package en question ainsi que tous ceux qui en d&#233;pendent (aucun moyen de d&#233;sinstaller un package sans d&#233;sinstaller ses d&#233;pendances).
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get &#8212;purge remove &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;D&#233;sinstalle &#233;galement les fichiers de configuration.&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_2&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Mise &#224; jour des packages install&#233;s&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-show-versions -u
&lt;br /&gt;Affiche une liste des packages pouvant &#234;tre mis &#224; jour.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get update
&lt;br /&gt;Met &#224; jour la liste des packages disponibles.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get upgrade
&lt;br /&gt;Met &#224; jour tous les packages pouvant &#234;tre mis &#224; jour.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get -u upgrade
&lt;br /&gt;Affiche en plus la liste des packages qui vont &#234;tre mis &#224; jour.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get dist-upgrade
&lt;br /&gt;Met &#224; jour le syst&#232;me entier (nouvelle version de la Debian)&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_3&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Nettoyer le cache&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get clean
&lt;br /&gt;Enl&#232;ve tous les packages dans /var/cache/apt/archives/ (ceux t&#233;l&#233;charg&#233;s par apt-get install pour permettre l'installation)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-get autoclean
&lt;br /&gt;Enl&#232;ve uniquement les packages obsol&#232;tes.&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_4&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Information sur les packages&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-cache search &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;Recherche dans la liste des packages disponibles les occurrences de &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-cache show &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;Affiche la description de &lt;i&gt;package&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-cache depends &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;Montre les d&#233;pendances de &lt;i&gt;package&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-file search &lt;i&gt;file&lt;/i&gt;
&lt;br /&gt;Affiche le nom du package qui fournit &lt;i&gt;file&lt;/i&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-file list &lt;i&gt;nom_package&lt;/i&gt;
&lt;br /&gt;Affiche le contenu de &lt;i&gt;nom_package&lt;/i&gt;.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; apt-file
&lt;br /&gt;maintient une base de donn&#233;es qui est mise &#224; jour par apt-file update.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;&lt;strong&gt;R&#233;f&#233;rences :&lt;/strong&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/squelettes-dist/puce.gif&quot; width=&quot;8&quot; height=&quot;11&quot; class=&quot;puce&quot; alt=&quot;-&quot; /&gt; Le &lt;a href='http://www.debian.org/doc/manuals/apt-howto/' class='spip_out' rel='external'&gt;APT HOWTO&lt;/a&gt; sur le site de Debian.
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/squelettes-dist/puce.gif&quot; width=&quot;8&quot; height=&quot;11&quot; class=&quot;puce&quot; alt=&quot;-&quot; /&gt; Un article allant &#224; l'essentiel, &#224; la sauce &quot;Pr&#233;cis &amp; concis&quot; : &lt;a href='http://www.coagul.org/article.php3?id_article=157' class='spip_out' rel='external'&gt;Gestion des Paquets .deb sous Debian avec dpkg et apt-get&lt;/a&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/squelettes-dist/puce.gif&quot; width=&quot;8&quot; height=&quot;11&quot; class=&quot;puce&quot; alt=&quot;-&quot; /&gt; O&#249; trouver des packages Debian : &lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/squelettes-dist/puce.gif&quot; width=&quot;8&quot; height=&quot;11&quot; class=&quot;puce&quot; alt=&quot;-&quot; /&gt; officiels &lt;a href='http://www.debian.org/distrib/packages.fr.html' class='spip_out' rel='external'&gt;debian.org&lt;/a&gt;
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/squelettes-dist/puce.gif&quot; width=&quot;8&quot; height=&quot;11&quot; class=&quot;puce&quot; alt=&quot;-&quot; /&gt; non officiels &lt;a href='http://www.apt-get.org/' class='spip_out' rel='external'&gt;apt-get.org&lt;/a&gt; ]]. Nous allons donc modifier en cons&#233;quence nos sources APT en ajoutant une nouvelle URL comme par exemple :&lt;/p&gt; &lt;span class=&quot;csfoo htmla&quot;&gt;&lt;/span&gt;&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;#echo &quot;deb ftp://ftp.nerim.net/debian-marillat/ sarge main&quot; &gt;&gt; /etc/apt/sources.list&lt;br /&gt; #apt-get update&lt;/code&gt;&lt;/div&gt;&lt;span class=&quot;csfoo htmlb&quot;&gt;&lt;/span&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Memento Vi</title>
		<link>http://minimalteck.fr/admin/memento-vi</link>
		<guid isPermaLink="true">http://minimalteck.fr/admin/memento-vi</guid>
		<dc:date>2009-03-12T15:10:33Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Minimalteck</dc:creator>


		<dc:subject>Rapido Tuto</dc:subject>

		<description>Vi est puissant un &#233;diteur de texte en mode console&#8230; Il va falloir retenir un minimum de commandes. Commandes minimales : Cr&#233;ation/&#233;dition d'un fichier vi fichier Quitter sans enregistrer :q ! Quitter et enregistrer :wq ! Entrer en mode &#233;dition : i (insertion avant le curseur, voir plus bas) Sortir du mode &#233;dition : &lt;ESC&gt; Commandes utiles : Afficher les num&#233;ros de lignes :set nu et l'inverse :set nonu Afficher le num&#233;ro de la ligne courante :.= Se d&#233;placer : Aller &#224; la (...)

-
&lt;a href="http://minimalteck.fr/admin/" rel="directory"&gt;Admin&lt;/a&gt;

/ 
&lt;a href="http://minimalteck.fr/rapido-tuto" rel="tag"&gt;Rapido Tuto&lt;/a&gt;

		</description>


 <content:encoded>&lt;img class='spip_logos' alt=&quot;&quot; src=&quot;http://minimalteck.fr/local/cache-vignettes/L92xH150/arton19-479f7.png&quot; width='92' height='150' style='height:150px;width:92px;' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Vi est puissant un &#233;diteur de texte en mode console&#8230;
&lt;br /&gt;Il va falloir retenir un minimum de commandes.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;div class=&quot;cs_sommaire cs_sommaire_avec_fond&quot; id=&quot;outil_sommaire&quot;&gt; &lt;div class=&quot;cs_sommaire_inner&quot;&gt; &lt;div class=&quot;cs_sommaire_titre_avec_fond&quot;&gt; Sommaire &lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=&quot;Commandes minimales :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_0&quot;&gt;Commandes minimales&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Commandes utiles :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_1&quot;&gt;Commandes utiles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Mode insertion :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_2&quot;&gt;Mode insertion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Effacer :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_3&quot;&gt;Effacer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Remplacer, substituer&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_4&quot;&gt;Remplacer, substituer&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_0&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Commandes minimales :&lt;/h3&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Cr&#233;ation/&#233;dition d'un fichier &lt;strong&gt;vi fichier&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Quitter sans enregistrer &lt;strong&gt;:q !&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Quitter et enregistrer &lt;strong&gt;:wq !&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Entrer en mode &#233;dition : &lt;strong&gt;i&lt;/strong&gt; (insertion avant le curseur, voir plus bas)&lt;/li&gt;&lt;li&gt; Sortir du mode &#233;dition : &lt;strong&gt;&lt;ESC&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_1&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Commandes utiles :&lt;/h3&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Afficher les num&#233;ros de lignes &lt;strong&gt;:set nu&lt;/strong&gt; et l'inverse &lt;strong&gt;:set nonu&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Afficher le num&#233;ro de la ligne courante &lt;strong&gt; :.=&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Se d&#233;placer :&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Aller &#224; la nieme ligne &lt;strong&gt;:n&lt;/strong&gt; ou &lt;strong&gt;nG&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Aller &#224; la derni&#232;re ligne &lt;strong&gt;G&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Aller en d&#233;but de ligne &lt;strong&gt;0&lt;/strong&gt; (z&#233;ro)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Rechercher :&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; vers l'avant &lt;strong&gt;/motif&lt;RETURN&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; vers l'arri&#232;re &lt;strong&gt; ?motif&lt;RETURN&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; occurence suivante &lt;strong&gt;n&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_2&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Mode insertion :&lt;/h3&gt; &lt;p&gt;Plusieurs commandes permettent d'entrer en mode insertion.&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Avant le curseur &lt;strong&gt;i&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Apr&#232;s le curseur &lt;strong&gt;a&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; D&#233;but de ligne courante &lt;strong&gt;I&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; En fin de ligne courante &lt;strong&gt;A&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Nouvelle ligne avant la ligne courante &lt;strong&gt;O&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Nouvelle ligne apr&#232;s la ligne courante &lt;strong&gt;o&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_3&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Effacer :&lt;/h3&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Effacer le caract&#232;re sous le curseur &lt;strong&gt;x&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Effacer n caract&#232;res &#224; partir de celui sous le curseur &lt;strong&gt;nx&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Effacer la ligne courante &lt;strong&gt;dd&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Effacer n lignes &#224; partir de la ligne courante &lt;strong&gt;ndd&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_4&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Remplacer, substituer&lt;/h3&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Substituer tous les &quot;motif old&quot; par &quot;new motif&quot; dans l'ensemble du fichier &lt;strong&gt;:g/motif old/s//new motif/g&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&#192; suivre&#8230;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Pour approfondir : &lt;a href='http://matrix.samizdat.net/pratique/documentation/guide-survie-VI.html' class='spip_out' rel='external'&gt;http://matrix.samizdat.net/pratique&#8230;&lt;/a&gt;, et investir &lt;a href='http://oreilly.com/catalog/9781565924260/' class='spip_out' rel='external'&gt;http://oreilly.com/catalog/97815659&#8230;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ahotou crone(tabe) - Howto cron(tab)</title>
		<link>http://minimalteck.fr/admin/ahotou-crone-tabe-howto-cron-tab</link>
		<guid isPermaLink="true">http://minimalteck.fr/admin/ahotou-crone-tabe-howto-cron-tab</guid>
		<dc:date>2009-03-12T12:19:06Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Minimalteck</dc:creator>


		<dc:subject>Rapido Tuto</dc:subject>

		<description>La syntaxe d'une t&#226;che en crontab est : m h dom mon dow command o&#249; : &quot;m&quot; : minute (valeur comprise entre 0 et 59) &quot;h&quot; : heure (valeur comprise entre 0 et 23) &quot;dom&quot; : jour du mois (valeur comprise entre 1 et 31) &quot;mon&quot; : mois (valeur comprise entre 1 et 12) &quot;dow&quot; : jour de la semaine (valeur comprise entre 0 et 7, 0 ou 7 : dimanche, 1 : lundi, etc &#8230;) &quot;command&quot; : commande &#224; ex&#233;cuter Des m&#233;tacaract&#232;res vous permettent d'afiner vos r&#233;glages&#8230; &quot;*&quot; indique qu'il s'agit de toutes les (...)

-
&lt;a href="http://minimalteck.fr/admin/" rel="directory"&gt;Admin&lt;/a&gt;

/ 
&lt;a href="http://minimalteck.fr/rapido-tuto" rel="tag"&gt;Rapido Tuto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;La syntaxe d'une t&#226;che en crontab est : m h dom mon dow command
o&#249; :
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;m&quot; : minute (valeur comprise entre 0 et 59)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;h&quot; : heure (valeur comprise entre 0 et 23)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;dom&quot; : jour du mois (valeur comprise entre 1 et 31)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;mon&quot; : mois (valeur comprise entre 1 et 12)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;dow&quot; : jour de la semaine (valeur comprise entre 0 et 7, 0 ou 7 : dimanche, 1 : lundi, etc &#8230;)
&lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;command&quot; : commande &#224; ex&#233;cuter&lt;/p&gt; &lt;p&gt;Des m&#233;tacaract&#232;res vous permettent d'afiner vos r&#233;glages&#8230; &lt;br /&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;*&quot; indique qu'il s'agit de toutes les valeurs exemple : &lt;code class='spip_code' dir='ltr'&gt;0 5 * * * command&lt;/code&gt;
ex&#233;cute la commande &quot;command&quot; tous les jours &#224; 5H00&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;/&quot; permet de sp&#233;cifier une r&#233;p&#233;tition.
exemple : &lt;code class='spip_code' dir='ltr'&gt;*/5 * * * * command&lt;/code&gt;
ex&#233;cute la commande &quot;command&quot; toutes les 5 minutes&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;-&quot;permet de d&#233;finir une plage.
exemple :
&lt;code class='spip_code' dir='ltr'&gt;0 5 * * 1-5 command&lt;/code&gt;
ex&#233;cute la commande &quot;command&quot; tous les jours de la semaine du lundi ou vendredi &#224; 5h.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &quot;,&quot; pour sp&#233;cifier plusieurs valeurs
&lt;code class='spip_code' dir='ltr'&gt;0 5 1,15 * * command&lt;/code&gt;
ex&#233;cute la commande &quot;command&quot; les 1er et 15eme jours du mois &#224; 5H00&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Pour lister les t&#226;ches actuelle de votre crontab&lt;/strong&gt;&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;moncompte@montux:~$ crontab -l&lt;br /&gt; # m h dom mon dow command&lt;br /&gt; 0 5 * * * sh /home/moncompte/tache-cron.sh&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;Pour &#233;diter votre crontab (ajouter/supprimer des t&#226;ches)&lt;/strong&gt; [&lt;a href='#nbnote' class='spip_note' rel='footnote' title='l'&#233;diteur par d&#233;faut sous Ubuntu 8.04 est nano (assez simple d'utilisation), (...)' id='nhnote'&gt;note&lt;/a&gt;] :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;moncompte@montux:~$ crontab -e&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;Pour vider la crontab&lt;/strong&gt;&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;moncompte@montux:~$ crontab -r&lt;/code&gt;&lt;/div&gt; &lt;p&gt;un tuto rapide sur cron ? hop ! &#231;a, c'est fait &lt;img alt=&quot;;-)&quot; title=&quot;;-)&quot; class=&quot;no_image_filtrer format_png&quot; src=&quot;http://www.minimalteck.fr/plugins/couteau_suisse/img/smileys/clin_d-oeil.png&quot; width=&quot;19&quot; height=&quot;19&quot;/&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;&lt;span class=&quot;csfoo htmla&quot;&gt;&lt;/span&gt;[&lt;a href='#nhnote' id='nbnote' class='spip_note' title='Notes note' rev='footnote'&gt;note&lt;/a&gt;] &lt;span class=&quot;csfoo htmlb&quot;&gt;&lt;/span&gt; l'&#233;diteur par d&#233;faut sous Ubuntu 8.04 est nano (assez simple d'utilisation), mais si vous souhaitez changer d'&#233;diteur (prendre vi par exemple, au hasard &lt;img alt=&quot;:-p&quot; title=&quot;:-p&quot; class=&quot;no_image_filtrer format_png&quot; src=&quot;http://www.minimalteck.fr/plugins/couteau_suisse/img/smileys/tire_la_langue.png&quot; width=&quot;19&quot; height=&quot;19&quot;/&gt;) taper au pr&#233;alable :
&lt;span class=&quot;csfoo htmla&quot;&gt;&lt;/span&gt;&lt;code class='spip_code' dir='ltr'&gt;moncompte@montux:~$ export EDITOR=vi&lt;/code&gt;&lt;span class=&quot;csfoo htmlb&quot;&gt;&lt;/span&gt;
l'&#233;diteur par d&#233;faut sera vi le temps de votre session&#8230; si vous voulez p&#233;r&#233;niser cette configuration, ajouter cette commande &#224; votre .bashrc.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SSH : Authentification par cl&#233; publique</title>
		<link>http://minimalteck.fr/admin/ssh-authentification-par-cle</link>
		<guid isPermaLink="true">http://minimalteck.fr/admin/ssh-authentification-par-cle</guid>
		<dc:date>2009-02-09T22:14:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Minimalteck</dc:creator>


		<dc:subject>Rapido Tuto</dc:subject>

		<description>G&#233;n&#233;rer les paires de cl&#233;s publique/priv&#233;e : #ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in wich to save the key (/root/.ssh/id_rsa): Appuyer sur &quot;Entr&#233;e&quot;, puis 2 fois de nouveau lors de l'invite de passphrase Enter passphrase (empty for no passphrase): Enter same passphrase again : Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. [...] Ainsi, 2 fichiers ont &#233;t&#233; g&#233;n&#233;r&#233;s, /.ssh/id_rsa la cl&#233; priv&#233; et (...)

-
&lt;a href="http://minimalteck.fr/admin/" rel="directory"&gt;Admin&lt;/a&gt;

/ 
&lt;a href="http://minimalteck.fr/rapido-tuto" rel="tag"&gt;Rapido Tuto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;G&#233;n&#233;rer les paires de cl&#233;s publique/priv&#233;e :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;#ssh-keygen -t rsa&lt;br /&gt; Generating public/private rsa key pair.&lt;br /&gt; Enter file in wich to save the key (/root/.ssh/id_rsa):&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Appuyer sur &quot;Entr&#233;e&quot;, puis 2 fois de nouveau lors de l'invite de passphrase&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;Enter passphrase (empty for no passphrase):&lt;br /&gt; Enter same passphrase again :&lt;br /&gt; Your identification has been saved in /root/.ssh/id_rsa.&lt;br /&gt; Your public key has been saved in /root/.ssh/id_rsa.pub.&lt;br /&gt; [...]&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Ainsi, 2 fichiers ont &#233;t&#233; g&#233;n&#233;r&#233;s, /.ssh/id_rsa la cl&#233; priv&#233; et /.ssh/id_rsa.pub la cl&#233; publique : c'est cette derni&#232;re que vous devrez sur le serveur o&#249; vous souhaitez vous authentifier par paire de cl&#233;.&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;#cat /root/.ssh/id_rsa.pub | ssh root@serveurdistant &quot;test -d .ssh || mkdir -m 0700 .ssh; cat - &gt;&gt;.ssh/authorized_keys&quot;&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Et voil&#224;&#8230; vous pouvez &#224; pr&#233;sent vous connecter en ssh sur serveurdistant sous le compte root, sans mot de passe&#8230;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>PDO vite dit...</title>
		<link>http://minimalteck.fr/dev-web/pdo-vite-dit</link>
		<guid isPermaLink="true">http://minimalteck.fr/dev-web/pdo-vite-dit</guid>
		<dc:date>2008-10-31T11:23:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Minimalteck</dc:creator>


		<dc:subject>Rapido Tuto</dc:subject>
		<dc:subject>PDO</dc:subject>
		<dc:subject>PHP</dc:subject>

		<description>PDO en bref : Introduit en PHP 5.1, cette extension PECL permet d'utiliser de fa&#231;on standardis&#233;e plusieurs types de SGBD via l'utilisation de drivers sp&#233;cifiques. Proche de PEAR DB dans son utilisation, PDO est beaucoup plus rapide car &#233;crite en C : ses performances sont proches des anciens drivers natifs. Les Classes de PDO : 3 principales : PDO, g&#233;rant la connexion entre PHP et un serveur de base de donn&#233;es ; PDOStatement, repr&#233;sentant une requ&#234;te pr&#233;par&#233;e et qui fournit une fois cette (...)

-
&lt;a href="http://minimalteck.fr/dev-web/" rel="directory"&gt;D&#233;v. Web&lt;/a&gt;

/ 
&lt;a href="http://minimalteck.fr/rapido-tuto" rel="tag"&gt;Rapido Tuto&lt;/a&gt;, 
&lt;a href="http://minimalteck.fr/pdo" rel="tag"&gt;PDO&lt;/a&gt;, 
&lt;a href="http://minimalteck.fr/php" rel="tag"&gt;PHP&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;div class=&quot;cs_sommaire cs_sommaire_avec_fond&quot; id=&quot;outil_sommaire&quot;&gt; &lt;div class=&quot;cs_sommaire_inner&quot;&gt; &lt;div class=&quot;cs_sommaire_titre_avec_fond&quot;&gt; Sommaire &lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=&quot;PDO en bref :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_0&quot;&gt;PDO en bref&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Les Classes de PDO :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_1&quot;&gt;Les Classes de PDO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;M&#233;thodes pour ex&#233;cuter une requ&#234;te :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_2&quot;&gt;M&#233;thodes pour ex&#233;cuter une (&#8230;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Requ&#234;te de selection, traitement des r&#233;sultats&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_3&quot;&gt;Requ&#234;te de selection, traitemen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Traitements de tous les r&#233;sultats :&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire_4&quot;&gt;Traitements de tous les (&#8230;)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_0&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;PDO en bref :&lt;/h3&gt; &lt;p&gt;Introduit en PHP 5.1, cette extension PECL permet d'utiliser de fa&#231;on standardis&#233;e plusieurs types de SGBD via l'utilisation de drivers sp&#233;cifiques. Proche de PEAR DB dans son utilisation, PDO est beaucoup plus rapide car &#233;crite en C : ses performances sont proches des anciens drivers natifs.&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_1&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Les Classes de PDO :&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;3 principales :&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; PDO, g&#233;rant la connexion entre PHP et un serveur de base de donn&#233;es ;&lt;/li&gt;&lt;li&gt; PDOStatement, repr&#233;sentant une requ&#234;te pr&#233;par&#233;e et qui fournit une fois cette derni&#232;re ex&#233;cut&#233;e, le jeu de r&#233;sultats associ&#233; ;&lt;/li&gt;&lt;li&gt; PDOException, permettant le traitement des erreurs.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Connexion &#224; un SGDB :&lt;/strong&gt;
&lt;br /&gt;PDO utlise un DSN pour d&#233;crire la base de donn&#233;es &#224; laquelle on souhaite se connecter, comme pour PEAR DB&#8230;
&lt;br /&gt;Ce DSN va &#234;tre passer en param&#234;tre au moment de &lt;a href='http://fr.php.net/manual/fr/pdo.construct.php' class='spip_out' rel='external'&gt;l'instanciation de la classe PDO&lt;/a&gt; :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )&lt;/code&gt;&lt;/div&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;$db = new PDO ('driver_type:host=hostname;dbname=name_of_db', 'user', 'user_password');&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Mais attention, la syntaxe du DSN varie en fonction du SGDB utilis&#233; (cf. &lt;a href='http://fr.php.net/manual/fr/pdo.drivers.php' class='spip_out' rel='external'&gt;http://fr.php.net/manual/fr/pdo.dri&#8230;&lt;/a&gt;) !
&lt;br /&gt;Ainsi, pour Mysql (&lt;a href='http://fr.php.net/manual/fr/ref.pdo-mysql.php' class='spip_out' rel='external'&gt;driver : pdo_mysql&lt;/a&gt; et &lt;a href='http://fr.php.net/manual/fr/ref.pdo-mysql.connection.php' class='spip_out' rel='external'&gt;DSN&lt;/a&gt;) on peut avoir en DSN :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;mysql:host=hostname;dbname=name_of_database&lt;br /&gt; mysql:host=hostname;port=num_port;dbname=name_of_database&lt;br /&gt; mysql:unix_socket=/path/to/mysql.sock;dbname=name_of_database&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;strong&gt;Gestion des erreurs et fermeture de connexions :&lt;/strong&gt;&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&lt;?php&lt;br /&gt; $dsn = 'mysql:host=127.0.0.1;port=3306;dbname=dbtest';&lt;br /&gt; $user = 'user';&lt;br /&gt; $password = 'passwd';&lt;br /&gt; try {&lt;br /&gt; $db = new PDO ($dsn,$user,$password);&lt;br /&gt; } catch (PDOException $e) {&lt;br /&gt; var_dump($e-&gt;getMessage());&lt;br /&gt; die();&lt;br /&gt; }&lt;br /&gt; if ($db) {&lt;br /&gt; $db = NULL; //On ferme la connexion en assignant la valeur &quot;NULL&quot; &#224; la variable g&#233;rant l'instance PDO &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; ?&gt;&lt;/code&gt;&lt;/div&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_2&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;- M&#233;thodes pour ex&#233;cuter une requ&#234;te :&lt;/h3&gt; &lt;p&gt;Il existe 2 m&#233;thodes : exec() et query().&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; query() : Pour les requ&#234;tes du type SELECT, EXPLAIN, SHOW, DESC, SET&#8230; Retourne une instance PDOStatement pour le traitement des r&#233;sultats&lt;/li&gt;&lt;li&gt; exec() : Pour les requ&#234;tes ne renvoyant pas de jeu de r&#233;sultats, comme INSERT, DELETE, UPDATE , REPLACE.
&lt;br /&gt;Cette m&#233;thode retourne le nombre de lignes affect&#233;es [&lt;a href='#nb2-_2A' class='spip_note' rel='footnote' title='2 dans le cas d'un REPLACE !!! petit rappel pour un d&#233;v fatigu&#233; qui se (...)' id='nh2-_2A'&gt;*&lt;/a&gt;]&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;En cas d'erreur ces 2 m&#233;thodes renvoient &lt;strong&gt;FALSE&lt;/strong&gt;.
&lt;br /&gt;Il est donc imp&#233;ratif d'utiliser le comparateur de valeur &quot;===&quot; et non le comparateur de type &quot;==&quot; si l'on veut effectuer un test sur la requ&#234;te&#8230; car une requ&#234;te valide peut retourner la valeur 0 (aucun r&#233;sultat) !&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;if ($db-&gt;query($request) === FALSE){&lt;br /&gt; echo 'Peste ! Une erreur inopin&#233;e est survenue !';&lt;br /&gt; die();&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_3&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;- Requ&#234;te de selection, traitement des r&#233;sultats&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;2 M&#233;thodes :&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href='http://fr.php.net/manual/fr/pdostatement.fetch.php' class='spip_out' rel='external'&gt;PDOStatement ::fetch&lt;/a&gt; : &lt;strong&gt;r&#233;cup&#232;re une ligne&lt;/strong&gt; depuis un jeu de r&#233;sultats associ&#233; &#224; l'objet PDOStatement. &lt;a href='http://fr.php.net/manual/fr/pdostatement.closecursor.php' class='spip_out' rel='external'&gt;PDOStatement ::closeCursor()&lt;/a&gt; lib&#232;re la connexion du serveur, permettant ainsi &#224; d'autres requ&#234;tes SQL d'&#234;tre ex&#233;cut&#233;es, mais quitte la requ&#234;te, permettant ainsi qu'elle soit de nouveau ex&#233;cut&#233;e. &lt;/li&gt;&lt;li&gt; &lt;a href='http://fr.php.net/manual/fr/pdostatement.fetchall.php' class='spip_out' rel='external'&gt;PDOStatement ::fetchAll&lt;/a&gt; : retourne un tableau contenant toutes les lignes du jeu d'enregistrements.&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_4&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://minimalteck.fr/spip.php?page=backend&amp;id_mot=1#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Traitements de tous les r&#233;sultats :&lt;/h3&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; La &lt;strong&gt;m&#233;thode fetchAll()&lt;/strong&gt; renvoie un tableau contenant TOUS les r&#233;sultats de la requ&#234;te : il suffit donc de parcourir ce tableau pour extraire les r&#233;sultats :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;$sth = $db-&gt;query('SELECT id, name FROM person WHERE 1');&lt;br /&gt; $results = $sth-&gt;fetchAll(PDO::FECTH_ASSOC);&lt;br /&gt; foreach ($result as $row){&lt;br /&gt; echo $row['id']. ': '.$row['name'].'&lt;br /&gt;';&lt;br /&gt; }&lt;br /&gt; $db = NULL;&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&lt;img src=&quot;http://minimalteck.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; La &lt;strong&gt;m&#233;thode s&#233;quentielle fetch()&lt;/strong&gt; retourne les r&#233;sultats ligne par ligne permettant ainsi de ne pas charger l'ensemble des r&#233;sultats en m&#233;moire, utile surtout pour un grand nombre d'enregistrements.&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;$sth = $db-&gt;query('SELECT id, name FROM person WHERE 1');&lt;br /&gt; while ($row = $sth-&gt;fetch(PDO::FECTH_ASSOC);){&lt;br /&gt; echo $row['id']. ': '.$row['name'].'&lt;br /&gt;';&lt;br /&gt; }&lt;br /&gt; /* L'appel suivant &#224; closeCursor() peut &#234;tre requis par quelques drivers, notamment Mysql */&lt;br /&gt; $sth-&gt;closeCursor();&lt;br /&gt; $db = NULL;&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Bon, maintenant qu'on a appr&#233;hender la b&#234;te, Allez on code ! Voir comment se passe l'interfa&#231;age avec les autres packages PEAR, je pense &#224; PAGER notamment&#8230;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;&lt;span class=&quot;csfoo htmla&quot;&gt;&lt;/span&gt;[&lt;a href='#nh2-_2A' id='nb2-_2A' class='spip_note' title='Notes 2-_2A' rev='footnote'&gt;*&lt;/a&gt;] &lt;span class=&quot;csfoo htmlb&quot;&gt;&lt;/span&gt;2 dans le cas d'un REPLACE !!! petit rappel pour un d&#233;v fatigu&#233; qui se reconna&#238;tra&#8230; &lt;img alt=&quot;:-p&quot; title=&quot;:-p&quot; class=&quot;no_image_filtrer format_png&quot; src=&quot;http://www.minimalteck.fr/plugins/couteau_suisse/img/smileys/tire_la_langue.png&quot; width=&quot;19&quot; height=&quot;19&quot;/&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Plus d'infos : &lt;a href='http://fr.php.net/manual/fr/book.pdo.php' class='spip_out' rel='external'&gt;http://fr.php.net/manual/fr/book.pdo.php&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>



</channel>

</rss>
