<?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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>km.azerttyu.net</title>
	<link>https://km.azerttyu.net/</link>
	<description>Un blog qui parle principalement de techniques pour les outils de publication web ( (spip) et infrastructure (alternc).
On parle aussi d'h&#233;bergement tel que les projets webelys et azerttyu
C'est aussi un aide m&#233;moire personnel pour retrouver certaines actions dont le net ne semblait pas proposer une documentation pertinente au moment du besoin.
Parfois aussi sur Mastodon</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://km.azerttyu.net/spip.php?page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Installer LineageOS sur Fairphone4</title>
		<link>https://km.azerttyu.net/Installer-LineageOS-sur-Fairphone4</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Installer-LineageOS-sur-Fairphone4</guid>
		<dc:date>2025-06-18T09:35:22Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Pr&#233;requis &lt;br class='autobr' /&gt;
Un poste Linux avec bookworm et les d&#233;pots stable ET backport &lt;br class='autobr' /&gt; Installation &lt;br class='autobr' /&gt;
sudo apt install adb fastboot android-udev-rules &lt;br class='autobr' /&gt;
sudo usermod -aG plugdev $LOGin
&lt;br class='autobr' /&gt;
adb devices
&lt;br class='autobr' /&gt;
Brancher le t&#233;l&#233;phone
&lt;br class='autobr' /&gt;
Autoriser les connexion du poste en mode debug adb devices List of devices attached eee421d1	device&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-Telephonie-" rel="directory"&gt;T&#233;l&#233;phonie&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;requis&lt;/h2&gt;
&lt;p&gt;Un poste Linux avec bookworm et les d&#233;pots stable ET backport&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Installation &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo apt install adb fastboot android-udev-rules &lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo usermod -aG plugdev $LOGin&lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;adb devices&lt;/code&gt;&lt;br class='autobr' /&gt;
Brancher le t&#233;l&#233;phone&lt;br class='autobr' /&gt;
Autoriser les connexion du poste en mode debug&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;adb devices List of devices attached eee421d1	device&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;R&#233;f&#233;rences :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://wiki.lineageos.org/devices/FP4/upgrade/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wiki.lineageos.org/devices/FP4/upgrade/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://developer.android.com/studio/run/device?hl=fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://developer.android.com/studio/run/device?hl=fr&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://gist.github.com/He-Is-HaZaRdOuS/97691ea56de09357d291ed620c8ad86d&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://gist.github.com/He-Is-HaZaRdOuS/97691ea56de09357d291ed620c8ad86d&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://download.lineage.microg.org/FP4/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://download.lineage.microg.org/FP4/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://nicolabs.net/2024/LineageOS4microG-Upgrade&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://nicolabs.net/2024/LineageOS4microG-Upgrade&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>[2024] Redmine et plugins &#224; surveiller</title>
		<link>https://km.azerttyu.net/2024-Redmine-et-plugins-a-surveiller</link>
		<guid isPermaLink="true">https://km.azerttyu.net/2024-Redmine-et-plugins-a-surveiller</guid>
		<dc:date>2024-10-24T08:55:46Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;En compl&#233;ment des plugins utilis&#233; en production, voici une liste de plugin identifi&#233; cette ann&#233;e. Certains sont vieux d'autres r&#233;cents, maintenus ou pas. C'est la foire aux plugins, on a du int&#233;ressant, du moins int&#233;ressant. Un travail de fond doit &#234;tre fait pour voir leur pertinence &lt;br class='autobr' /&gt; Les plugins &#224; surveiller https://github.com/batizhevsky/redmine_pretend Permettant d'usurper temporairement le profil d'une autre personne https://github.com/nounder/redmine_impersonate Alternative &#224; (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-Travail-Collaboratif-" rel="directory"&gt;Travail Collaboratif&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;En compl&#233;ment des plugins utilis&#233; en production, voici une liste de plugin identifi&#233; cette ann&#233;e.&lt;br class='autobr' /&gt;
Certains sont vieux d'autres r&#233;cents, maintenus ou pas. C'est la foire aux plugins, on a du int&#233;ressant, du moins int&#233;ressant.&lt;br class='autobr' /&gt;
Un travail de fond doit &#234;tre fait pour voir leur pertinence&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt; Les plugins &#224; surveiller &lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/batizhevsky/redmine_pretend&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/batizhevsky/redmine_pretend&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Permettant d'usurper temporairement le profil d'une autre personne&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/nounder/redmine_impersonate&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/nounder/redmine_impersonate&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Alternative &#224; pretend, &#224; comparer&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/planio-gmbh/redmine_issue_field_visibility&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/planio-gmbh/redmine_issue_field_visibility&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Pour cacher certaines informations (temps pass&#233;, ...) pour certains profils&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/rozpuszczalny/vscode-redmine&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/rozpuszczalny/vscode-redmine&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Voir redmine dans son vscode&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/frywer/custom_tables&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/frywer/custom_tables&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Faire des listes personnalis&#233; &#224; attribuer &#224; des tickets (une sorte de categorie avanc&#233;e)&lt;/li&gt;&lt;li&gt; ne semble plus maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/clear-code/redmine_full_text_search&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/clear-code/redmine_full_text_search&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; de la recherche sous st&#233;ro&#239;de , projet actif&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &#201;tendre le wiki avec des macro , ne semble plus maintenu et doublon de additionals&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/cryptogopher/issue_recurring&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/cryptogopher/issue_recurring&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Des tickets r&#233;currents, int&#233;ressant quand on a besoin d'avoir des rappels sur certaines taches projet, maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/nanego/redmine_multiprojects_issue&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/nanego/redmine_multiprojects_issue&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; affecter un ticket &#224; plusieurs projets, maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/hicknhack-software/redmine_hourglass&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/hicknhack-software/redmine_hourglass&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suivi de temps, int&#233;ressant si on est coll&#233; &#224; son redmine en permanence, maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/Restream/redmine_issue_checklist&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/Restream/redmine_issue_checklist&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Proposer une liste de point &#224; valider sur un ticket, ne semble plus maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/abahgat/redmine_didyoumean&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/abahgat/redmine_didyoumean&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Est ce qu'un ticket correspond &#224; un autre existant ? non maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/OCA/connector-redmine&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/OCA/connector-redmine&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Connecter odoo &#224; redmine, id&#233;e int&#233;ressant &#224; voir avec dolibarr ?&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/mikitex70/redmine_drawio&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/mikitex70/redmine_drawio&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Des graphiques tout beau&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/danmunn/redmine_dmsf&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/danmunn/redmine_dmsf&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; un mode avanc&#233; pour g&#233;rer sa base documentaire de fichier (doublon avec redmine_full_text_search ?, preview_online ?), maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/anteo/redmine_custom_workflows&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/anteo/redmine_custom_workflows&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; workflow on st&#233;ro&#239;de, n&#233;cessite de savoir &#233;crire en ruby&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/phlegx/redmine_gitlab_hook&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/phlegx/redmine_gitlab_hook&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Brancher les d&#233;pots gitlab&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/dhanasingh/redmine_wktime&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/dhanasingh/redmine_wktime&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Mettre un ERP dans redmine, maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/suer/redmine_webhook&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/suer/redmine_webhook&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Notifier sur les cr&#233;ations de tickets par API&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/jfqd/redmine_helpdesk&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/jfqd/redmine_helpdesk&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &#201;tendre le mode support et les &#233;changes par courriel&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/AlphaNodes/additional_tags&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/AlphaNodes/additional_tags&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Un plugin d'alphanode pour attribuer des tags aux tickets, logique qu'on retrouve sur diff&#233;rentes forge&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/jgraichen/redmine_dashboard#readme&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/jgraichen/redmine_dashboard#readme&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Une alternative au plugin kanban, maintenu &#224; comparer&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/cat-in-136/redmine_hearts&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/cat-in-136/redmine_hearts&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Donner des c&#339;urs et +1 aux commentaires et tickets&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/kbsali/php-redmine-api&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/kbsali/php-redmine-api&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Communiquer via PHP sur l'API redmine, maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/onozaty/redmine-view-customize&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/onozaty/redmine-view-customize&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Personnaliser les interfaces en injectant js/css &#224; la demande&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt; Des th&#232;mes &lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/farend/redmine_theme_farend_bleuclair&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/farend/redmine_theme_farend_bleuclair&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; maintenu, adaptation du th&#232;me par d&#233;faut&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/makotokw/redmine-theme-gitmike&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/makotokw/redmine-theme-gitmike&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; un &#224; la github, non maintenu&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>[2024] Redmine et ses plugins</title>
		<link>https://km.azerttyu.net/2024-Redmine-et-ses-plugins</link>
		<guid isPermaLink="true">https://km.azerttyu.net/2024-Redmine-et-ses-plugins</guid>
		<dc:date>2024-10-23T16:55:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Dans le cadre des outils collboratifs j'utilse r&#233;gul&#232;rement redmine Pour ce faire j'utilise certains plugins et j'essaye de faire une veille annuelle de ce qui me semble int&#233;ressant. &lt;br class='autobr' /&gt; Les plugins que j'utilise : https://github.com/alphanodes/additionals https://github.com/happy-se-life/kanban https://github.com/hidakatsuya/redmine_default_custom_query https://github.com/ilogeek/redmine_issue_dynamic_edit https://github.com/HugoHasenbein/redmine_preview_inline (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-Travail-Collaboratif-" rel="directory"&gt;Travail Collaboratif&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le cadre des outils collboratifs j'utilse r&#233;gul&#232;rement &lt;a href=&#034;https://www.redmine.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;redmine&lt;/a&gt;&lt;br class='autobr' /&gt;
Pour ce faire j'utilise certains plugins et j'essaye de faire une veille annuelle de ce qui me semble int&#233;ressant.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Les plugins que j'utilise :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/alphanodes/additionals&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/alphanodes/additionals&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/happy-se-life/kanban&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/happy-se-life/kanban&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/hidakatsuya/redmine_default_custom_query&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/hidakatsuya/redmine_default_custom_query&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/ilogeek/redmine_issue_dynamic_edit&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/ilogeek/redmine_issue_dynamic_edit&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/HugoHasenbein/redmine_preview_inline&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/HugoHasenbein/redmine_preview_inline&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/HugoHasenbein/redmine_more_previews&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/HugoHasenbein/redmine_more_previews&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/taqueci/redmine_wysiwyg_editor&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/taqueci/redmine_wysiwyg_editor&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/indication/OpenRedmine&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/indication/OpenRedmine&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/mrliptontea/PurpleMine2&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/mrliptontea/PurpleMine2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Additionals&lt;/h2&gt;
&lt;p&gt;Le plugin &lt;a href=&#034;https://github.com/alphanodes/additionals&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Additionnals&lt;/a&gt; permet de personnaliser en profondeur les diff&#233;rentes pages et fonctionnalit&#233;s pour chaque projet (g&#233;n&#233;ral, sommaire, wiki). Par exemple&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; je rajoute un menu dynamique listant toutes les pages dans la partie lat&#233;rale de wiki.&lt;/li&gt;&lt;li&gt; je liste les sous projets de chaque projet&lt;/li&gt;&lt;li&gt; des macro comme child_pages sont utilis&#233;s abusivement sur les diff&#233;rentes partie des pages wiki&lt;/li&gt;&lt;li&gt; je personnalise le menu pour ajouter des renvois vers d'autres services, une sorte de boussole&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le projet est toujours actifs et maintenu.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Kanban&lt;/h2&gt;
&lt;p&gt;Le plugin &lt;a href=&#034;https://github.com/happy-se-life/kanban&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Kanban&lt;/a&gt; permet d'afficher les tickets en mode kanban. Bien pratique pour avoir une vue globale des &#233;tats d'avanc&#233;e dans ses dossiers.&lt;/p&gt;
&lt;p&gt;Pour activer la fonctionnalit&#233; ne pas oublier d'activer les permissions et de passer projet par projet.&lt;/p&gt;
&lt;p&gt;Activit&#233; du projet r&#233;duite mais comme il fonctionne sans heurt, ce n'est pas un probl&#232;me.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Default custom query&lt;/h2&gt;
&lt;p&gt;Le plugin &lt;a href=&#034;https://github.com/hidakatsuya/redmine_default_custom_query&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;personnalisation des filtre de tickets&lt;/a&gt; permet de personnaliser des r&#232;gles de filtrage pour les tickets pour chaque utilisateur.&lt;br class='autobr' /&gt;
Il est possible d'activer un filtrage par d&#233;faut si celui de redmine ne convient.&lt;/p&gt;
&lt;p&gt;Pour ma part, j'ai une r&#232;gle me permettant de voir en une fois tous les tickets en cours de traitement.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;&#201;dition dynamique des tickets&lt;/h2&gt;
&lt;p&gt;Le &lt;a href=&#034;https://github.com/ilogeek/redmine_issue_dynamic_edit&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin d'&#233;dition dynamique des ticket&lt;/a&gt; est probablement mon plugin pr&#233;f&#233;r&#233;.&lt;br class='autobr' /&gt;
En gros il permet de g&#233;rer ses tickets &#224; la JIRA, on peut mettre &#224; jour un champ d'un ticket sans &#233;diter l'int&#233;gralit&#233; de celui ci. Si vous connaissez SPIP cela ressemble &#233;galement &#224; la fonctionnalit&#233; #EDIT&lt;/p&gt;
&lt;p&gt;Ce plugin est activement maintenu.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Aper&#231;u des pi&#232;ces jointes &lt;/h2&gt;
&lt;p&gt;Les plugins d'aper&#231;us &lt;a href=&#034;https://github.com/HugoHasenbein/redmine_preview_inline&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;principal&lt;/a&gt; et &lt;a href=&#034;https://github.com/HugoHasenbein/redmine_more_previews&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;compl&#233;mentaire&lt;/a&gt; sont pratiques pour voir rapidement les pi&#232;ces jointes du wiki ou des tickets.&lt;/p&gt;
&lt;p&gt;Il est n&#233;cessaire d'ajouter les biblioth&#232;ques serveurs utiles pour lire les pi&#232;ces jointes comme les tableurs ou les archives.&lt;/p&gt;
&lt;p&gt;Le projet est maintenu tranquillement, le suivi est assur&#233;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; &#201;diteur wysiwyg &lt;/h2&gt;
&lt;p&gt;Le plugin &lt;a href=&#034;https://github.com/taqueci/redmine_wysiwyg_editor&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;d'&#233;dition visuelle&lt;/a&gt; est un petit plaisir &#224; avoir sous le coude.&lt;br class='autobr' /&gt;
Il est pratique dans la plupart des cas surtout quand les personnes acc&#233;dant &#224; l'interface du wiki ou des tickets ne sont pas ni &#224; l'aise avec la syntaxe textile (par d&#233;faut) ou markdown.&lt;/p&gt;
&lt;p&gt;Le plugin fonctionne bien, attention une fois activ&#233;, il est compliqu&#233; de revenir en arri&#232;re car la syntaxe peut devenir un m&#233;lange entre markdown et textile.&lt;br class='autobr' /&gt;
Il est conseill&#233; de passer la configuration par d&#233;faut en syntaxe markdown (format utilis&#233; en interne pour faire le pivot entre les affichages)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Open Redmine &lt;/h2&gt;
&lt;p&gt;Le plugin &lt;a href=&#034;https://github.com/indication/OpenRedmine&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;openRedmine&lt;/a&gt; est un client android libre pour acc&#232;der &#224; un ou plusieurs redmine &#224; distance. Bien pratique m&#234;me si le projet ne semble plus actif.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; PurpleMine2 &lt;/h2&gt;
&lt;p&gt;Un &lt;a href=&#034;https://github.com/mrliptontea/PurpleMine2&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;th&#232;me plut&#244;t agr&#233;able&lt;/a&gt; , dans la lign&#233; du th&#232;me par d&#233;faut mais &#224; mon sens mieux structur&#233;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Debian : Migration i386 vers amd64 </title>
		<link>https://km.azerttyu.net/Debian-Migration-i386-vers-amd64</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Debian-Migration-i386-vers-amd64</guid>
		<dc:date>2024-02-01T11:05:13Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Pour commencer on purge les biblioth&#232;ques inutiles : &lt;br class='autobr' /&gt; apt-get install deborphan apt-get remove $(deborphan) &lt;br class='autobr' /&gt;
On ex&#233;cute plusieurs fois les commandes car les biblioth&#232;ques peuvent &#234;tre en cascade d&#233;pendances et devenir orphelines apr&#232;s coup. &lt;br class='autobr' /&gt; aptitude search ' ?narrow(?not( ?archive(&#034;^[^n][^o].*$&#034;)), ?version(CURRENT)) ?architecture(i386)' &lt;br class='autobr' /&gt;
Selon la liste , on fait le m&#233;nage en installant ou supprimant les paquets list&#233;s &lt;br class='autobr' /&gt; for package in $(dpkg &#8212;get-selections | grep :i386| awk (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Pour commencer on purge les biblioth&#232;ques inutiles :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='shell spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;apt-get install deborphan apt-get remove $(deborphan)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On ex&#233;cute plusieurs fois les commandes car les biblioth&#232;ques peuvent &#234;tre en cascade d&#233;pendances et devenir orphelines apr&#232;s coup.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='shell spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;aptitude search '\?narrow(?not(\?archive(&#034;^[^n][^o].*$&#034;)),?version(CURRENT))?architecture(i386)' &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Selon la liste , on fait le m&#233;nage en installant ou supprimant les paquets list&#233;s&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;for package in $(dpkg --get-selections | grep :i386| awk '{sub(/:i386$/, &#034;&#034;, $1); print $1}') ; do apt-get install -y $package:amd64+ $package:i386-; done apt-get install bash dash bash:i386- dash:i386-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nettoyage des reliquats&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;apt-get install deborphan apt-get remove $(deborphan)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# dpkg --print-architecture i386 # dpkg --add-architecture amd64 # dpkg --print-foreign-architectures amd64 # apt-get update&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# apt-get install linux-image-amd64:amd64 # reboot&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# apt-get -y --download-only install dpkg:amd64 tar:amd64 apt:amd64 multiarch-support:amd64 libc6-i386:amd64 apt-utils:amd64 # dpkg --install /var/cache/apt/archives/*_amd64.deb # dpkg --print-architecture amd64 # dpkg --print-foreign-architectures i386 # apt-get update&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;R&#233;f&#233;rences :&lt;/p&gt;
&lt;p&gt;* &lt;a href=&#034;http://blog.zugschlus.de/archives/972-How-to-amd64-an-i386-Debian-installation-with-multiarch.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://blog.zugschlus.de/archives/972-How-to-amd64-an-i386-Debian-installation-with-multiarch.html&lt;/a&gt;&lt;br class='autobr' /&gt;
* &lt;a href=&#034;https://stackoverflow.com/questions/187629/how-do-i-preserve-installed-applications-when-migrating-ubuntu-to-another-platfo&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://stackoverflow.com/questions/187629/how-do-i-preserve-installed-applications-when-migrating-ubuntu-to-another-platfo&lt;/a&gt;&lt;br class='autobr' /&gt;
* &lt;a href=&#034;https://wiki.debian.org/Multiarch/HOWTO&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wiki.debian.org/Multiarch/HOWTO&lt;/a&gt;&lt;br class='autobr' /&gt;
* &lt;a href=&#034;https://www.ewan.cc/?q=node/90&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.ewan.cc/?q=node/90&lt;/a&gt;&lt;br class='autobr' /&gt;
* &lt;a href=&#034;http://users.digitalkingdom.org/~rlpowell/hobbies/debian_arch_up/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://users.digitalkingdom.org/~rlpowell/hobbies/debian_arch_up/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Navigateur et personnalisation IP/domaine</title>
		<link>https://km.azerttyu.net/Navigateur-et-personnalisation-IP-domaine</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Navigateur-et-personnalisation-IP-domaine</guid>
		<dc:date>2019-10-17T10:16:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Dans certains cas, souvent quand on d&#233;veloppe on a besoin de d&#233;finir une IP de test pour un domaine. Hors les navigateurs ont plein de cache au milieu qui rendent l'op&#233;ration parfois magique.
&lt;br class='autobr' /&gt;
Voici des notes pour gagner en efficacit&#233; Personnaliser une association IP/domaine &lt;br class='autobr' /&gt;
Pour la suite de l'article je pars du principe je consid&#233;re que l'association est personnalis&#233;e selon le fichier etc/hosts sous la forme :
&lt;br class='autobr' /&gt;
xyz.xyz.xyz.xyz mondomaine.tld Firefox Mettre &#224; jour network.dnsCacheEntries &#224; (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans certains cas, souvent quand on d&#233;veloppe on a besoin de d&#233;finir une IP de test pour un domaine. Hors les navigateurs ont plein de cache au milieu qui rendent l'op&#233;ration parfois magique.&lt;br class='autobr' /&gt;
Voici des notes pour gagner en efficacit&#233;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Personnaliser une association IP/domaine&lt;/h2&gt;
&lt;p&gt;Pour la suite de l'article je pars du principe je consid&#233;re que l'association est personnalis&#233;e selon le fichier &lt;strong&gt;etc/hosts&lt;/strong&gt; sous la forme :&lt;br class='autobr' /&gt;
xyz.xyz.xyz.xyz mondomaine.tld&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Firefox&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Mettre &#224; jour &lt;strong&gt;network.dnsCacheEntries&lt;/strong&gt; &#224; 0 via la page about:config&lt;/li&gt;&lt;li&gt; D&#233;sactiver la fonctionnalit&#233; doh via Pr&#233;f&#233;rences &gt; Param&#232;tres r&#233;seau et d&#233;cocher &#034;Activer le DNS via HTTPS&#034; (&lt;a href=&#034;https://bugzilla.mozilla.org/show_bug.cgi?id=1453207&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=1453207&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Tester en navigation priv&#233;e le site voulu.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Rooter FP2 (fairphone)</title>
		<link>https://km.azerttyu.net/Rooter-FP2-fairphone</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Rooter-FP2-fairphone</guid>
		<dc:date>2016-12-27T14:00:22Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Fairphone dans son effort de donner le maximum de ma&#238;trises pour l'utilisateur propose un ROM d&#233;di&#233;e &#224; installer soit m&#234;me. Dans certains cas, on souhaite profiter du syst&#232;me par d&#233;faut tout en conservant ses donn&#233;es et obtenir les pleins pouvoirs. Voici la proc&#233;dure suivie, elle reprend et compl&#232;te les informations pr&#233;sentes sur le forum de fairphone &lt;br class='autobr' /&gt; Pr&#233; requis &lt;br class='autobr' /&gt;
De toute &#233;vidence, il nous faut un t&#233;l&#233;phone FP2. Toutes les op&#233;rations sont r&#233;alis&#233;es depuis un poste Linux sous Debian. Le (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-Telephonie-" rel="directory"&gt;T&#233;l&#233;phonie&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Fairphone dans son effort de donner le maximum de ma&#238;trises pour l'utilisateur propose un &lt;a href=&#034;https://code.fairphone.com/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ROM d&#233;di&#233;e&lt;/a&gt; &#224; installer soit m&#234;me.&lt;br class='autobr' /&gt;
Dans certains cas, on souhaite profiter du syst&#232;me par d&#233;faut tout en conservant ses donn&#233;es et obtenir les pleins pouvoirs. Voici la proc&#233;dure suivie, elle reprend et compl&#232;te les informations pr&#233;sentes sur le &lt;a href=&#034;https://forum.fairphone.com/t/pencil2-howto-root-with-superuser-for-fp-os-with-gms/12375&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;forum de fairphone&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt; Pr&#233; requis &lt;/h2&gt;
&lt;p&gt;De toute &#233;vidence, il nous faut un t&#233;l&#233;phone &lt;a href=&#034;https://shop.fairphone.com/en/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;FP2&lt;/a&gt;. Toutes les op&#233;rations sont r&#233;alis&#233;es depuis un poste &lt;a href=&#034;https://fr.wikipedia.org/wiki/Linux&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;Linux&lt;/a&gt; sous &lt;a href=&#034;https://fr.wikipedia.org/wiki/Debian&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;Debian&lt;/a&gt;. &lt;br class='autobr' /&gt;
Le t&#233;l&#233;phone allum&#233; est branch&#233; via USB &#224; notre ordinateur.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Contexte &lt;/h2&gt;
&lt;p&gt;La solution retenue est de flasher (remplacer) &lt;a href=&#034;http://forum.xda-developers.com/showthread.php?t=443994&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;une partie du syst&#232;me de base&lt;/a&gt;, la partie boot pour fournir les droits root au syst&#232;me global via l'apk superuser.&lt;/p&gt;
&lt;p&gt;Pour faire cette modification, on utilise les applications d&#233;di&#233;es &lt;a href=&#034;https://fr.wikipedia.org/wiki/Android_Debug_Bridge&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;adb&lt;/a&gt; et fastboot&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Activer le mode d&#233;veloppeur &lt;/h2&gt;
&lt;p&gt;Pour prendre la main sur son t&#233;l&#233;phone via adb il est n&#233;cessaire d'activer le mode d&#233;veloppeur..&lt;br class='autobr' /&gt;
L'option est cach&#233;e et pour l'activer, ils s'agit depuis &lt;br class='manualbr' /&gt;&lt;strong&gt;Param&#232;tres &gt; &#192; propos du t&#233;l&#233;phone &gt; Num&#233;ro de build&lt;/strong&gt; &lt;br class='manualbr' /&gt;de taper 7 fois sur le &lt;strong&gt;num&#233;ro de build&lt;/strong&gt;.&lt;br class='autobr' /&gt;
Une alerte appara&#238;tra sur le t&#233;l&#233;phone indiquant que nous sommes devenus d&#233;veloppeurs.&lt;/p&gt;
&lt;p&gt;On note aussi la version du build, elle nous servira plus tard, dans mon cas, il s'agit de &lt;strong&gt;r4275.1_FP2_gms70_1.10.1&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; D&#233;tecter le Fairphone &lt;/h2&gt;
&lt;p&gt;Maintenant on autorise adb/fastboot &#224; prendre la main via le port usb.&lt;/p&gt;
&lt;p&gt;Pour commencer on d&#233;termine quel est le p&#233;riph&#233;rique USB &#224; associer.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;km@:~# sudo lsusb Bus 003 Device 002: ID 8087:8000 Intel Corp. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub [...] Bus 001 Device 039: ID 2ae5:904e [...] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La ligne qui nous int&#233;resse est celle contenant &lt;strong&gt; 2ae5 : &lt;/strong&gt; il s'agit du code fabricant associ&#233; &#224; Fairphone.&lt;/p&gt;
&lt;del&gt;
&lt;p&gt;On ajoute une r&#232;gle &lt;a href=&#034;https://wiki.debian.org/fr/udev&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;strong&gt;udev&lt;/strong&gt;&lt;/a&gt; permettant la prise en main via adb.&lt;br class='autobr' /&gt;
&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;km@:~# sudo nano /etc/udev/rules.d/51-android.rules&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;SUBSYSTEM==&#034;usb&#034;, ATTR{idVendor}==&#034;2ae5&#034;, MODE=&#034;0666&#034;, GROUP=&#034;plugdev&#034;&lt;/textarea&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;km@:~# sudo /etc/init.d/udev restart&lt;/code&gt;&lt;/p&gt;
&lt;/del&gt;
&lt;p&gt;&#192; partir de maintenant, nous r&#233;pondons aux pr&#233;requis pour ex&#233;cuter ADB depuis notre ordinateur.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Installer ADB &lt;/h2&gt;
&lt;p&gt;&lt;del&gt;Debian fournit des paquets pour utiliser le SDK android et donc adb mais ceux ci ne sont pas compatibles avec la version 5.x d'android pr&#233;sent sur le FP2. &lt;br class='autobr' /&gt;
Nous ferons donc une installation manuelle. Pour commencer on t&#233;l&#233;charge les outils de base &#034;tools&#034; depuis le site officiel &lt;a href=&#034;https://developer.android.com/studio/index.html#downloads&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://developer.android.com/studio/index.html#downloads&lt;/a&gt; qu'on d&#233;sarchive dans un r&#233;pertoire d&#233;di&#233;.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;km@:~/FP2# sudo apt install adb fastboot&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;Cette archive ne contient que le strict minimum et entre autre le binaire &lt;strong&gt;android&lt;/strong&gt; qui permet d'obtenir des modules annexes dont les commandes adb.&lt;/p&gt;
&lt;p&gt;Pour ceci on t&#233;l&#233;charge les &#233;l&#233;ments manquants via le &lt;strong&gt;sdkmanager&lt;/strong&gt;. On prendra les paquets propos&#233;s par d&#233;faut, ni plus, ni moins.&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;km@:~/FP2# tools/android update sdk&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;tools/android update sdk ************************************************************************* The &#034;android&#034; command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager ************************************************************************* &#034;android&#034; SDK commands can be translated to sdkmanager commands on a best-effort basis. Continue? (This prompt can be suppressed with the --use-sdk-wrapper command-line argument or by setting the USE_SDK_WRAPPER environment variable) [y/N]: y Running /home/km/Desktop/FP2/android-sdk/tools/bin/sdkmanager --update&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/del&gt;
&lt;p&gt;Lors de l'installation, vous verrez une demande appara&#238;tre sur votre t&#233;l&#233;phone. Cette demande permet d'appareiller votre t&#233;l&#233;phone avec l'instance adb de votre ordinateur, il vous accepter.&lt;/p&gt;
&lt;p&gt;Une fois l'installation r&#233;alis&#233;es, on peut v&#233;rifier la bonne communication avec le t&#233;l&#233;phone :&lt;/p&gt;
&lt;div class='spip_document_97 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://km.azerttyu.net/IMG/png/android_sdk_installed.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://km.azerttyu.net/local/cache-vignettes/L500xH140/android_sdk_installed-e364b.png?1691076653' width='500' height='140' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;km@:~/FP2# platform-tools/adb devices List of devices attached fe6gf64b device&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt; T&#233;l&#233;charger le boot.img &lt;/h2&gt;
&lt;p&gt;&lt;del&gt;Sur la base du travail de phh retsifp fournit des images boot pr&#234;tes &#224; l'emploi. Depuis &lt;a href=&#034;https://fp2.retsifp.de/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fp2.retsifp.de/&lt;/a&gt; on r&#233;cup&#232;re l'image &lt;strong&gt;eng&lt;/strong&gt; adapt&#233; &#224; au build de notre FP2.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT 2021 &lt;/strong&gt; : Depuis juin 2020 retsifp n'utilisant plus de Fairphone celui ci a &lt;a href=&#034;https://forum.fairphone.com/t/abandoning-of-fp2-retsifp-de-scheduled-mid-july-20/61789&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;cess&#233; de maintenir le service&lt;/a&gt; mais un contributeur a repris le flambeau, les images sont maintenant disponibles sur &lt;a href=&#034;https://fp2.lrnz.org/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fp2.lrnz.org/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On utilisera la version &lt;strong&gt;eng&lt;/strong&gt; qui est la plus g&#233;n&#233;rique et offrant la meilleure compatibilit&#233;. Pour comprendre les diff&#233;rentes versions (saveurs), je vous renvoie sur &lt;a href=&#034;http://forum.xda-developers.com/android/software-hacking/wip-selinux-capable-superuser-t3216394&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;l'article de fond&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;km@:~/FP2# stat boot-fairphone-FP2_gms70_1.10.1-su-eng-r282.img&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On est par&#233; pour mettre &#224; jour notre t&#233;l&#233;phone et profiter du mode root/superuser.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Mettre &#224; jour le boot &lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;km@:~/FP2# cd platform-tools km@:~/FP2# sudo ./adb reboot bootloader km@:~/FP2# sudo ./fastboot devices km@:~/FP2# sudo ./fastboot flash boot boot-fairphone-FP2_gms70_1.10.1-su-eng-r282.img target reported max download size of 536870912 bytes sending 'boot' (13975 KB)... OKAY [ 0.439s] writing 'boot'... OKAY [ 0.191s] finished. total time: 0.631s km@:~/FP2# sudo ./fastboot reboot rebooting... finished. total time: 0.102s&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt; Installer un gestionnaire d'acc&#232;s root &lt;/h2&gt;
&lt;p&gt;Une fois le t&#233;l&#233;phone flash&#233;, on a besoin d'une application qui puisse prendre en charger l'autorisation du mode root. Pour ceci on utilise l'application &lt;a href=&#034;https://f-droid.org/repository/browse/?fdfilter=superuser&amp;fdid=me.phh.superuser&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Superuser&lt;/a&gt; de &lt;a href=&#034;https://github.com/phhusson/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;phhusson&lt;/a&gt; qui compl&#233;te le boot.img t&#233;l&#233;charg&#233; au d&#233;but.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Et voil&#224; &lt;/h2&gt;
&lt;p&gt;C'est fini. On peut tester le mode root en :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; installant &lt;a href=&#034;https://f-droid.org/repository/browse/?fdfilter=busybox&amp;fdid=ru.meefik.busybox&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;busybox&lt;/a&gt;&lt;/li&gt;&lt;li&gt; testant l'application &lt;a href=&#034;https://f-droid.org/repository/browse/?fdfilter=root+verifier&amp;fdid=com.abcdjdj.rootverifier&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;root verifier&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://forum.fairphone.com/t/pencil2-howto-root-with-superuser-for-fp-os-with-gms/12375&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://forum.fairphone.com/t/pencil2-howto-root-with-superuser-for-fp-os-with-gms/12375&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://forum.xda-developers.com/android/software-hacking/wip-selinux-capable-superuser-t3216394&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://forum.xda-developers.com/android/software-hacking/wip-selinux-capable-superuser-t3216394&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://fp2.retsifp.de/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fp2.retsifp.de/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://angristan.fr/installer-fastboot-et-adb-sous-linux/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://angristan.fr/installer-fastboot-et-adb-sous-linux/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://androidonlinux.wordpress.com/2013/05/12/setting-up-adb-on-linux/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://androidonlinux.wordpress.com/2013/05/12/setting-up-adb-on-linux/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb2&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Migrer vers un nouveau disque SSD</title>
		<link>https://km.azerttyu.net/Migrer-vers-un-nouveau-disque-SSD</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Migrer-vers-un-nouveau-disque-SSD</guid>
		<dc:date>2015-05-06T10:02:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Pour une raison ou pour une autre il peut &#234;tre n&#233;cessaire de migrer ses donn&#233;es d'un disque vers un autre. Dans le cas pr&#233;sent, il s'agit de profiter d'une disque SSD &lt;br class='autobr' /&gt; Pr&#233;requis &lt;br class='autobr' /&gt;
On consid&#233;re pour la suite de l'article, un poste informatique sous linux (une Debian) et deux disques durs. Le premier partitionn&#233; avec des donn&#233;es et un OS, le second vierge avec une capacit&#233; au moins &#233;gale au disque d'origine. On prend en compte la pr&#233;sence d'un liveCD ou liveUSB avec la distribution (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Pour une raison ou pour une autre il peut &#234;tre n&#233;cessaire de migrer ses donn&#233;es d'un disque vers un autre. Dans le cas pr&#233;sent, il s'agit de profiter d'une disque &lt;a href=&#034;https://fr.wikipedia.org/wiki/SSD&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;SSD&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;requis&lt;/h2&gt;
&lt;p&gt;On consid&#233;re pour la suite de l'article, un poste informatique sous linux (une Debian) et deux disques durs. Le premier partitionn&#233; avec des donn&#233;es et un OS, le second vierge avec une capacit&#233; au moins &#233;gale au disque d'origine.&lt;br class='autobr' /&gt;
On prend en compte la pr&#233;sence d'un liveCD ou liveUSB avec la distribution &lt;a href=&#034;https://fr.wikipedia.org/wiki/systemrescuecd&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;systemrescuecd&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le disque source se nommera &lt;strong&gt;sda&lt;/strong&gt;, le disque cible &lt;strong&gt;sdb&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Migrer les donn&#233;es &lt;/h2&gt;
&lt;p&gt;Pour migrer les donn&#233;es, la solution la plus simple est d'effectuer :&lt;br class='autobr' /&gt;
&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt; dd if=/dev/sda of=/dev/sdb bs=128K conv=noerror&lt;/code&gt;. Dans ce cas de figure on transf&#232;re l'int&#233;gralit&#233; des donn&#233;es pr&#233;sentes sur le disque par bloc de 128k et ignore les blocs cass&#233;s.&lt;br class='autobr' /&gt;
Il s'agit dans ce cas d'un clone complet (mbr, partition, donn&#233;es).&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;root@sysresccd /root % dd if=/dev/sda of=/dev/sdb
488397168+0 records in
488397168+0 records out
250059350016 bytes (250 GB) copied, 47081.5 s, 5.3 MB/s&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Parmi les alternatives, on peut regarder du cot&#233; de la commande gddrescue et du liveCD &lt;a href=&#034;http://clonezilla.org/clonezilla-live.php&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;clonezilla&lt;/a&gt;.&lt;br class='autobr' /&gt;
gddrescue se pr&#233;sente comme une am&#233;lioration de dd tandis que clonezilla est une distribution qui utilise entre autre partclone, partimage pour effectuer les copies.&lt;/p&gt;
&lt;p&gt;Le r&#233;sultat de la copie semble &#233;quivalent via ces diff&#233;rents moyens.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Adapter les UUID &lt;/h2&gt;
&lt;p&gt;Chaque partition primaire ou non se voit attribuer un &lt;a href=&#034;https://fr.wikipedia.org/wiki/UUID&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;UUID&lt;/a&gt; unique. Lors d'un clone, ces UUID sont copi&#233;s &#224; l'identique.&lt;br class='autobr' /&gt;
Dans le cas d'un remplacement cela n'est pas probl&#233;matique, on ne conserve qu'un disque.&lt;br class='autobr' /&gt;
Cela se complique si on utilise les 2 disques &#224; l'identique en m&#234;mes temps. Le syst&#232;me aura du mal &#224; identifier les bonnes partitions. Pour l'aider on doit mettre &#224; jour les UUID pour les rendre uniques.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Identifier les UUID &lt;/h2&gt;
&lt;p&gt;Pour conna&#238;tre les UUID utilis&#233;s, la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;blkid&lt;/code&gt; est utile :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='log spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;root@sysresccd /root % blkid
[...]
/dev/sdb1: UUID=&#034;fb5f5328-bbd9-414f-8cff-73948982bbd3&#034; TYPE=&#034;ext3&#034; PARTUUID=&#034;6c2421e8-01&#034;
/dev/sdb2: LABEL=&#034;Debian&#034; UUID=&#034;0233ea8e-fc1b-4ca8-b1b2-93a070a54597&#034; TYPE=&#034;ext4&#034; PTTYPE=&#034;dos&#034; PARTUUID=&#034;6c2421e8-02&#034;
/dev/sdb3: UUID=&#034;D3OEQO-bmoc-c7E6-c0Km-qPY7-cqo5-KgPc5i&#034; TYPE=&#034;LVM2_member&#034; PARTUUID=&#034;6c2421e8-03&#034;
/dev/mapper/vg00-swap: UUID=&#034;1490fd70-f4bb-4440-986e-f95d3a2352a0&#034; TYPE=&#034;swap&#034;
/dev/mapper/vg00-var: UUID=&#034;b61d9bde-5f2c-47b4-955d-b9a6f13ac091&#034; TYPE=&#034;ext4&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Changer un UUID : tunefs &lt;/h2&gt;
&lt;p&gt;Pour les syst&#232;mes de fichiers pr&#233;sents directement sur un partition, (par exemple /dev/sda1), on peut mettre mettre &#224; jour leur UUID avec &lt;strong&gt;tune2fs&lt;/strong&gt; :&lt;br class='autobr' /&gt;
&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;tune2fs -U random /dev/sdb2&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Changer un UUID : LVM &lt;/h2&gt;
&lt;p&gt;Si on poss&#232;de une partition utilisant &lt;a href=&#034;https://fr.wikipedia.org/wiki/LVM&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;LVM&lt;/a&gt; (comme /dev/sdb3), on remarquera que seul le dernier VG avec m&#234;me UUID d&#233;tect&#233; sera d&#233;tect&#233;.&lt;br class='autobr' /&gt;
Modifier un UUID avec LVM n'est pas trivial. Vu l'objectif de l'article, je vous laisse vous reporter &#224; des documentations plus pertinentes, au besoin.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Mettre &#224; jour son fstab &lt;/h2&gt;
&lt;p&gt;Si nous avons modifi&#233; les UUID sur le nouveau disque, n'oublions pas de mettre &#224; jour &lt;strong&gt;/etc/fstab&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#/dev/sdb2
UUID=b411dc99-f0a0-4c78-9e50-148977be8539 / ext4 errors=remount-ro 0 1&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt; Optimiser son disque SSD &lt;/h2&gt;
&lt;p&gt;Du fait du fonctionnement des SSD, il est possible d'optimiser le comportement du disque en exploitant la fonctionnalit&#233; &lt;a href=&#034;https://fr.wikipedia.org/wiki/TRIM&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;TRIM&lt;/a&gt; et en limitant l'&#233;criture des meta.&lt;/p&gt;
&lt;p&gt;Cela donnerai pour sdb2&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;UUID=b411dc99-f0a0-4c78-9e50-148977be8539 / ext4 discard,noatime,errors=remount-ro 0 1&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si on utilise LVM, il est int&#233;ressant de mettre &#224; jour aussi &lt;strong&gt;/etc/lvm/lvm.conf&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;devices { [...] issue_discards = 1
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Contr&#244;ler le boot du nouveau disque &lt;/h2&gt;
&lt;p&gt;La derni&#232;re &#233;tape consiste &#224; contr&#244;ler le bon &#233;tat de grub.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;root@sysresccd /root % mount --bind /dev /mnt/sdd/dev
root@sysresccd /root % mount --bind /dev/pts /mnt/sdd/dev/pts
root@sysresccd /root % mount --bind /proc /mnt/sdd/proc root@sysresccd /root % mount --bind /sys /mnt/sdd/sys root@sysresccd /root % mount --bind /run /mnt/ssd/run
root@sysresccd /root % chroot /mnt/sdd /bin/bash root@sysresccd:/# grub-install --recheck /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.
root@sysresccd:/# update-grub&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt; Changer le disque &lt;/h2&gt;
&lt;p&gt;Maintenant le disque est pr&#234;t, il s'agit alors de retirer l'ancien disque et de mettre le nouveau.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://help.ubuntu.com/community/MovingLinuxPartition&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://help.ubuntu.com/community/MovingLinuxPartition&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://blog.oaktreepeak.com/2012/03/move_your_linux_installation_t.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://blog.oaktreepeak.com/2012/03/move_your_linux_installation_t.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://askubuntu.com/questions/40372/how-to-move-ubuntu-to-an-ssd&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://askubuntu.com/questions/40372/how-to-move-ubuntu-to-an-ssd&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://radu.cotescu.com/migrating-your-ubuntu-machine-to-a-ssd-drive/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://radu.cotescu.com/migrating-your-ubuntu-machine-to-a-ssd-drive/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://wiki.debian.org/SSDOptimization&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wiki.debian.org/SSDOptimization&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://wiki.archlinux.org/index.php/Solid_State_Drives&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wiki.archlinux.org/index.php/Solid_State_Drives&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://unix.stackexchange.com/questions/12858/how-to-change-partition-uuid-2-same-uuid&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://unix.stackexchange.com/questions/12858/how-to-change-partition-uuid-2-same-uuid&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.cyberciti.biz/faq/linux-unix-dd-command-show-progress-while-coping/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.cyberciti.biz/faq/linux-unix-dd-command-show-progress-while-coping/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SNMPD, unknown payload OID et defaultMonitors</title>
		<link>https://km.azerttyu.net/SNMPD-unknown-payload-OID-et</link>
		<guid isPermaLink="true">https://km.azerttyu.net/SNMPD-unknown-payload-OID-et</guid>
		<dc:date>2015-04-17T08:03:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Dans certains cas, une fois le serveur snmpd execut&#233;, le journal syslog remonte une longue liste d'erreurs OID. Il manque les fichiers MIBS faisant la correspondances entre les intitul&#233;s humains et les codes OID. &lt;br class='autobr' /&gt; Pr&#233; requis &lt;br class='autobr' /&gt;
Pour l'article on consid&#232;re un poste informatique sous Linux du type Debian. Le serveur snmpd est install&#233;. &lt;br class='autobr' /&gt;
Lorsque le d&#233;mon est &#233;x&#233;cut&#233; /etc/init.d/snmpd start, nous obtenons des erreurs de cette forme : &lt;br class='autobr' /&gt; Feb 30 09:22:40 serveur01 snmpd[4200] : payload OID : (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans certains cas, une fois le serveur &lt;strong&gt;snmpd&lt;/strong&gt; execut&#233;, le journal syslog remonte une longue liste d'erreurs OID. &lt;br class='autobr' /&gt;
Il manque les fichiers &lt;strong&gt;MIBS&lt;/strong&gt; faisant la correspondances entre les intitul&#233;s humains et les codes OID.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt; Pr&#233; requis &lt;/h2&gt;
&lt;p&gt;Pour l'article on consid&#232;re un poste informatique sous Linux du type &lt;a href=&#034;https://fr.wikipedia.org/wiki/Debian&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;Debian&lt;/a&gt;. Le serveur snmpd est install&#233;.&lt;/p&gt;
&lt;p&gt;Lorsque le d&#233;mon est &#233;x&#233;cut&#233; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;/etc/init.d/snmpd start&lt;/code&gt;, nous obtenons des erreurs de cette forme :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='28' class='spip_cadre spip_cadre_block' dir='ltr'&gt;Feb 30 09:22:40 serveur01 snmpd[4200]: payload OID: prNames
Feb 30 09:22:40 serveur01 snmpd[4200]: /etc/snmp/snmpd.conf: line 144: Error: unknown payload OID
Feb 30 09:22:40 serveur01 snmpd[4200]: Unknown payload OID: prNames [...] Feb 30 09:22:40 serveur01 snmpd[4200]: /etc/snmp/snmpd.conf: line 144: Error: unknown monitor OID
Feb 30 09:22:40 serveur01 snmpd[4200]: payload OID: snmperrErrMessage
Feb 30 09:22:40 serveur01 snmpd[4200]: /etc/snmp/snmpd.conf: line 144: Error: unknown payload OID
Feb 30 09:22:40 serveur01 snmpd[4200]: Unknown payload OID: snmperrErrMessage
Feb 30 09:22:40 serveur01 snmpd[4200]: /etc/snmp/snmpd.conf: line 144: Error: Unknown payload OID
Feb 30 09:22:40 serveur01 snmpd[4200]: trigger OID: snmperrErrorFlag
Feb 30 09:22:40 serveur01 snmpd[4200]: /etc/snmp/snmpd.conf: line 144: Error: unknown monitor OID
Feb 30 09:22:40 serveur01 snmpd[4200]: Turning on AgentX master support.
Feb 30 09:22:40 serveur01 snmpd[4200]: net-snmp: 33 error(s) in config file(s)
Feb 30 09:22:40 serveur01 snmpd[4200]: NET-SNMP version 5.4.3&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt; Installation des mibs &lt;/h2&gt;
&lt;p&gt;Pour r&#233;soudre ces erreurs, nous installons les fichiers MIBS qui assurent la correspondance entre les nommages et OID.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;apt-get install snmp-mibs-downloader
download-mibs&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt; Configurer SNMPD &lt;/h2&gt;
&lt;p&gt;L'op&#233;ration suivante consiste &#224; indiquera au d&#233;mon SNMP quelles r&#233;gles MIBS sont &#224; charger. Sur un serveur, les r&#232;gles minimum doivent suffire.&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;nano /etc/default/snmpd&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;export MIBS=UCD-SNMP-MIB&lt;/textarea&gt;
&lt;p&gt;Le d&#233;mon relanc&#233; les journaux seront plus cl&#233;ments :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;Feb 30 09:23:24 serveur01 snmpd[4496]: Turning on AgentX master support.
Feb 30 09:23:25 serveur01 snmpd[4496]: NET-SNMP version 5.4.3&lt;/textarea&gt;
&lt;p&gt;Dans certains articles, on peut trouver le choix suivant :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;export MIBS=ALL&lt;/textarea&gt;
&lt;p&gt;Ce n'est pas une solution recommand&#233;e car :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on charge une liste inutile de correspondance OID&lt;/li&gt;&lt;li&gt; on g&#233;n&#233;rer des erreurs de chargement&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Certains fichiers sont mal format&#233;s et de ce fait g&#233;n&#233;rent des erreurs au chargement de sndmpd, autant l'&#233;viter.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='31' class='spip_cadre spip_cadre_block' dir='ltr'&gt;Feb 30 09:14:35 serveur01 snmpd[2128]: Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Feb 30 09:14:36 serveur01 snmpd[2128]: Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2195 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Feb 30 09:14:36 serveur01 snmpd[2128]: Undefined OBJECT-GROUP (diffServMultiFieldClfrNextFree): At line 2157 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Feb 30 09:14:36 serveur01 snmpd[2128]: Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2062 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Feb 30 09:14:36 serveur01 snmpd[2128]: Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Feb 30 09:14:36 serveur01 snmpd[2128]: Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Feb 30 09:14:37 serveur01 snmpd[2128]: Expected &#034;::=&#034; (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Feb 30 09:14:37 serveur01 snmpd[2128]: Expected &#034;{&#034; (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Feb 30 09:14:37 serveur01 snmpd[2128]: Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Feb 30 09:14:37 serveur01 snmpd[2128]: Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Feb 30 09:14:37 serveur01 snmpd[2128]: Turning on AgentX master support.
Feb 30 09:14:37 serveur01 snmpd[2128]: NET-SNMP version 5.4.3&lt;/textarea&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;R&#233;ferences&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://wiki.debian.org/SNMP&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wiki.debian.org/SNMP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://serverfault.com/questions/426754/usr-local-share-snmp-snmpd-conf-line-5-error-unknown-payload-oid&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://serverfault.com/questions/426754/usr-local-share-snmp-snmpd-conf-line-5-error-unknown-payload-oid&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://romain.therrat.fr/snmp-resoudre-lerreur-error-unknown-payload-oid/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://romain.therrat.fr/snmp-resoudre-lerreur-error-unknown-payload-oid/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://forums.monitoring-fr.org/index.php?topic=3158.0&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://forums.monitoring-fr.org/index.php?topic=3158.0&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Conversion massive d'un jeu de caract&#233;res &#224; un autre</title>
		<link>https://km.azerttyu.net/Conversion-massive-d-un-jeu-de</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Conversion-massive-d-un-jeu-de</guid>
		<dc:date>2015-02-12T10:47:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;Lors de la reprise d'un projet on obtient souvent un empilement de fichiers et une liste longue comme le bras de probl&#232;mes. Parmi les points &#233;nervants nous trouvons : mais c'est quoi ce charset de .... !!! &lt;br class='autobr' /&gt; Pr&#233;ambule &lt;br class='autobr' /&gt;
Historiquement les fichiers informatiques sont stock&#233;s selon un jeu de caract&#232;res. Ce jeu de caract&#232;res permet d'associer une lettre affich&#233;e/saisie &#224; son alter-ego num&#233;rique. Vu que le monde n'est pas uniforme, selon les uns et les autres, le jeu de caract&#232;res de (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Lors de la reprise d'un projet on obtient souvent un empilement de fichiers et une liste longue comme le bras de probl&#232;mes. Parmi les points &#233;nervants nous trouvons : &lt;strong&gt; mais c'est quoi ce &lt;a href=&#034;https://fr.wikipedia.org/wiki/charset&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;charset&lt;/a&gt; de .... !!! &lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;ambule&lt;/h2&gt;
&lt;p&gt;Historiquement les fichiers informatiques sont stock&#233;s selon un jeu de caract&#232;res. Ce jeu de caract&#232;res permet d'associer une lettre affich&#233;e/saisie &#224; son alter-ego num&#233;rique. Vu que le monde n'est pas uniforme, selon les uns et les autres, le jeu de caract&#232;res de r&#233;f&#233;rence diff&#232;re. En France par exemple on utilise souvent latin1 autrement nomm&#233;e iso-8859-1 ou iso-8859-15. On peut trouver aussi le vieux format &lt;a href=&#034;https://fr.wikipedia.org/wiki/ANSI&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;ANSI&lt;/a&gt; qui ne conna&#238;t pas les accents.&lt;/p&gt;
&lt;p&gt;Pour uniformiser le travail, entre les gens, un jeu de caract&#232;res plus large a &#233;t&#233; propos&#233; &lt;a href=&#034;https://fr.wikipedia.org/wiki/utf-8&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;utf-8&lt;/a&gt;. Il est maintenant tellement r&#233;pandu que c'est une norme respect&#233;e et &#224; respecter.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Revenons &#224; nos moutons&lt;/h2&gt;
&lt;p&gt;Donc maintenant nous voulons remettre tous les fichiers d'aplomb et respecter le format UTF-8. Parmi les diff&#233;rents scripts trouv&#233;s par ci par l&#224;, celui propos&#233; par &lt;a href=&#034;https://www.lexo.ch&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;lexo.ch&lt;/a&gt; me semble le plus complet.&lt;/p&gt;
&lt;p&gt;Voici le code utilis&#233;, de m&#233;moire il est adapt&#233; &#224; la marge pour mes besoins.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash # Created by LEXO, http://www.lexo.ch # Version 1.0 # # This bash script converts all files from within a given directory from any charset to UTF-8 recursively # It takes track of those files that cannot be converted automatically. Usually this happens when the original charset # cannot be recognized. In that case you should load the corresponding file into a development editor like Netbeans # or Komodo and apply the UTF-8 charset manually. # # This is free software. Use and distribute but do it at your own risk. # We will not take any responsibilities for failures and do not provide any support. #checking Parameters if [ ! -n &#034;$1&#034; ] ; then echo &#034;You did not supply any directory at the command line.&#034; echo &#034;You need to provide the path to the directory that contains the files which you want to be converted&#034; echo &#034;&#034; echo &#034;Example: $0 /path/to/directory&#034; echo &#034;&#034; echo &#034;Important hint: You should not run this script from within the same directory where the files are stored&#034; echo &#034;that you want to convert right now.&#034; exit fi # This array contains file extensions that need to be checked no matter if the filetype is binary or not. # Reason: Sometimes it happens that .htm(l), .php, .tpl files etc. have a binary charset type. This script # does not convert binary file types into utf-8 because it might destroy your data. So we need to include these file types # into the conversion system manually to tell the conversion that binary files with these special extensions may be converted anyway. filestoconvert=(htm html php txt tpl asp css js xml sh) # define colors # default color reset=&#034;\033[0;00m&#034; # Successful conversion (green) success=&#034;\033[1;32m&#034; # No conversion needed (blue) noconversion=&#034;\033[1;34m&#034; # file skipped because it's not mentioned in the filestoconvert array (white) fileskipped=&#034;\033[1;37m&#034; # files that could not be converted aka error (red) fileconverterror=&#034;\033[1;31m&#034; ## function to convert all files in a directory recusrively function convert { #clear screen first clear dir=$1 # Get a recursive file list files=(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find $dir -type f ! -path &amp;quot;*/.git/*&amp;quot;&lt;/code&gt;); fileerrors=&#034;&#034; #loop counter i=0 find &#034;$dir&#034; -type f ! -path &#034;*/.git/*&#034;|while read inputfile do if [ -f &#034;$inputfile&#034; ] ; then charset=&#034;$(file -bi &#034;$inputfile&#034;|awk -F &#034;=&#034; '{print $2}')&#034; if [ &#034;$charset&#034; != &#034;utf-8&#034; ]; then #if file extension is in filestoconvert variable the file will always be converted filename=$(basename &#034;$inputfile&#034;) extension=&#034;${filename##*.}&#034; # If the current file has not an extension that is listed in the array $filestoconvert the current file is being skipped (no conversion occurs) if in_array $extension &#034;${filestoconvert[@]}&#034; ; then # create a tempfile and remember all of the current file permissions to be able to reapply those to the new converted file after conversion tmp=$(mktemp) owner=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ls -l &amp;quot;$inputfile&amp;quot; | awk '{ print $3 }'&lt;/code&gt; group=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ls -l &amp;quot;$inputfile&amp;quot; | awk '{ print $4 }'&lt;/code&gt; octalpermission=$( stat --format=%a &#034;$inputfile&#034; ) echo -e &#034;$success $inputfile\t$charset\t-&gt;\tUTF-8 $reset&#034; iconv -f &#034;$charset&#034; -t utf8 &#034;$inputfile&#034; -o $tmp &amp;&gt;2 RETVAL=$? if [ $RETVAL &gt; 0 ] ; then # There was an error converting the file. Remember this and inform the user about the file not being converted at the end of the conversion process. fileerrors=&#034;$fileerrors\n$inputfile&#034; fi mv &#034;$tmp&#034; &#034;$inputfile&#034; #re-apply previous file permissions as well as user and group settings chown $owner:$group &#034;$inputfile&#034; chmod $octalpermission &#034;$inputfile&#034; else echo -e &#034;$fileskipped $inputfile\t$charset\t-&gt;\tSkipped because its extension (.$extension) is not listed in the 'filestoconvert' array. $reset&#034; fi else echo -e &#034;$noconversion $inputfile\t$charset\t-&gt;\tNo conversion needed (file is already UTF-8) $reset&#034; fi fi (( ++i )) done echo -e &#034;$success Done! $reset&#034; echo -e &#034;&#034; echo -e &#034;&#034; if [ ! $fileerrors == &#034;&#034; ]; then echo -e &#034;The following files had errors (origin charset not recognized) and need to be converted manually (e.g. by opening the file in an editor (IDE) like Komodo or Netbeans:&#034; echo -e $fileconverterror$fileerrors$reset fi exit 0 } #end function convert() # Check if a value exists in an array # @param $1 mixed Needle # @param $2 array Haystack # @return Success (0) if value exists, Failure (1) otherwise} #end function in_array() # Usage: in_array &#034;$needle&#034; &#034;${haystack[@]}&#034; in_array() { local needle=$1 local hay=$2 shift for hay; do #	echo &#034;Hay: $hay , Needle: $needle&#034; [[ $hay == $needle ]] &amp;&amp; return 0 done return 1 } #end function in_array #start conversion convert $1&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt; Un projet normalis&#233; &lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;./convert-to-utf8.sh /var/www/websitepourri/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et l&#224; un r&#233;pertoire tout propre respectant le charset UTF-8&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.lexo.ch/blog/2013/01/linux-bash-shell-script-for-recursively-converting-all-files-with-various-charsets-in-a-directory-into-utf-8-shell-skript-fur-das-rekursive-konvertieren-von-allen-files-in-einem-verzeichnis-mit-belie/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.lexo.ch/blog/2013/01/linux-bash-shell-script-for-recursively-converting-all-files-with-various-charsets-in-a-directory-into-utf-8-shell-skript-fur-das-rekursive-konvertieren-von-allen-files-in-einem-verzeichnis-mit-belie/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.developpez.net/forums/d1100462/systemes/autres-systemes/unix/shell-commandes-posix/iconv-script-convertir-projet-entier-utf-8-a/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.developpez.net/forums/d1100462/systemes/autres-systemes/unix/shell-commandes-posix/iconv-script-convertir-projet-entier-utf-8-a/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Le service de profil utilisateur n'a pas pu ouvrir de session</title>
		<link>https://km.azerttyu.net/Le-service-de-profil-utilisateur-n</link>
		<guid isPermaLink="true">https://km.azerttyu.net/Le-service-de-profil-utilisateur-n</guid>
		<dc:date>2014-12-17T10:04:56Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>km</dc:creator>



		<description>
&lt;p&gt;ou d&#238;t dans la langue de Shakespeare : The User Profile Service failed the logon . En gros cela se comprend par : Le compte existe toujours mais je me suis vautr&#233; en le chargeant, &#224; l'aide !! &lt;br class='autobr' /&gt; Pr&#233; requis &lt;br class='autobr' /&gt;
Pour changer des habitudes, nous avons donc un Windows 7 ou 8 sous la main. La d&#233;clinaison (familiale,home, pro, ....) ne change rien &#224; la suite de l'article. &lt;br class='autobr' /&gt;
Introduction &lt;br class='autobr' /&gt;
La documentation officielle indique que ce serait &#224; cause d'une action concomitante entre l'analyse de (&#8230;)&lt;/p&gt;


-
&lt;a href="https://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;ou d&#238;t dans la langue de Shakespeare : &lt;strong&gt; The User Profile Service failed the logon &lt;/strong&gt;. &lt;br class='autobr' /&gt;
En gros cela se comprend par : &lt;strong&gt;Le compte existe toujours mais je me suis vautr&#233; en le chargeant, &#224; l'aide !! &lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt; Pr&#233; requis &lt;/h2&gt;
&lt;p&gt;Pour changer des habitudes, nous avons donc un &lt;a href=&#034;https://fr.wikipedia.org/wiki/Windows&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;Windows&lt;/a&gt; 7 ou 8 sous la main. La d&#233;clinaison (familiale,home, pro, ....) ne change rien &#224; la suite de l'article.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;La documentation officielle indique que ce serait &#224; cause d'une action concomitante entre l'analyse de l'antivirus et le chargement du profil, autrement dit &#231;a peut arriver n'importe quand.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Activer un compte administrateur sain &lt;/h2&gt;
&lt;p&gt;Pour restaurer le profil utilisateur, l'astuce est de r&#233;veiller le compte cach&#233; administrateur cach&#233;. Ce profil poss&#232;de les droits et normalement ne peut &#234;tre corrompu du fait de son inactivit&#233;.&lt;br class='autobr' /&gt;
Ce compte va nous permettre de restaurer m&#234;me le cas des windows ayant un seul compte d'actif.&lt;/p&gt;
&lt;p&gt;Nous red&#233;marrons le PC en &lt;strong&gt;mode sans &#233;chec&lt;/strong&gt; via la touche &lt;strong&gt;F8&lt;/strong&gt; durant la phase de d&#233;marrage.&lt;br class='autobr' /&gt;
Vous pouvez vous connecter via n'importe quel profil ayant un niveau administrateur. La session charge un profil neutre.&lt;/p&gt;
&lt;p&gt;Une fois la session activ&#233;e, depuis le shell (d&#233;marrer &gt; &#233;xecuter &gt; cmd) saisissez la commande suivante :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt; net user administrator /active:yes &lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Vous devriez voir s'afficher : &lt;strong&gt;Commande effectu&#233;e avec succ&#232;s &lt;/strong&gt; (ou The command completed successfully)&lt;/p&gt;
&lt;p&gt;Maintenant un profil administrateur sans mot de passe est actif. Red&#233;marrer le poste normalement.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Restaurer le profil &lt;/h2&gt;
&lt;p&gt;En vous connectant via le compte administrateur, vous pouvez restaurer le profil endommag&#233;.&lt;/p&gt;
&lt;p&gt;Depuis le shell (d&#233;marrer &gt; &#233;xecuter &gt; cmd) saisissez la commande suivante :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt; regedit &lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Explorez l'arborescence pour arriver au niveau de :&lt;br class='autobr' /&gt;
&lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion&lt;/strong&gt;\ProfileList&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vous trouverez la liste de tous les profils pr&#233;sents sur votre machine, ce sont les r&#233;pertoires commen&#231;ant par &lt;strong&gt;S-1-5&lt;/strong&gt;.&lt;br class='autobr' /&gt;
Vous devriez trouvez 2 r&#233;pertoires ayant le m&#234;me nom, l'un sans extension, l'autre avec &lt;strong&gt;.bak&lt;/strong&gt;. Ce profil correspond au profil corrompu. Pour en &#234;tre sur vous pouvez contr&#244;ler la clef &lt;strong&gt;ProfileImagePath&lt;/strong&gt; qui doit cibler le r&#233;pertoire personnel du compte.&lt;/p&gt;
&lt;p&gt;Nous &#233;changeons les noms entre les 2 r&#233;pertoires :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;S-1-5-xyz&lt;/strong&gt; devient &lt;strong&gt;S-1-5-xyz.ba&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;S-1-5-xyz.bak&lt;/strong&gt; devient &lt;strong&gt;S-1-5-xyz&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;S-1-5-xyz.ba&lt;/strong&gt; devient &lt;strong&gt;S-1-5-xyz.bak&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Tester la correction &lt;/strong&gt;
&lt;p&gt;Red&#233;marrer le pc, normalement votre profil devrait pour se charger normalement.&lt;br class='autobr' /&gt;
Si ce n'est pas le cas, je vous invite &#224; consulter les autres solutions pr&#233;sent&#233;s dans les ressources en fin d'article.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; D&#233;sactiver le compte administrateur&lt;/h2&gt;
&lt;p&gt;Red&#233;marrez en mode sans &#233;chec et depuis le shell :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt; net user administrator /active:no &lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt; C'est fini &lt;/h2&gt;
&lt;p&gt;Normalement votre windows devrait fonctionner comme avant et sans perte de donn&#233;es :)&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;R&#233;f&#233;rences :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://support.microsoft.com/kb/947215/fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://support.microsoft.com/kb/947215/fr&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.pcadvisor.co.uk/how-to/windows/3495216/how-fix-corrupt-user-profile-in-windows-7/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.pcadvisor.co.uk/how-to/windows/3495216/how-fix-corrupt-user-profile-in-windows-7/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://hidden-features-of-software.blogspot.in/2014/10/the-user-profile-service-failed-logon.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://hidden-features-of-software.blogspot.in/2014/10/the-user-profile-service-failed-logon.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.idganswers.com/question/8830/what-to-do-when-user-profile-cannot-be-loaded-in-windows-7&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.idganswers.com/question/8830/what-to-do-when-user-profile-cannot-be-loaded-in-windows-7&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
