nicolabricot’s blogProcrastinateur à mes heures perdues.2023-11-13T15:57:02+01:00nicolabricoturn:md5:982ec27fb37a618ec1de008b70bb934fDotclearRéfuter n’est pas infirmerurn:md5:0f1aad9a5cefdf55e48887127c7ec0da2017-10-11T00:35:00+02:002017-10-11T00:35:00+02:00NicolasLu, vu ou entendu <blockquote>
<p>Réfuter signifie « prouver la fausseté d’une affirmation ».
<br>Critiquer, contester, infirmer, etc., n’en sont donc pas vraiment synonymes.</p>
<p><cite>Le Monde correct, <a href="https://twitter.com/LeMonde_correct/status/917796205333278722" rel="external">10 oct. 2017</a></cite></p>
</blockquote>Court discours, longue préparationurn:md5:20b2152b2ac41de5dd06b2760c9956e82017-09-12T21:20:00+02:002017-09-12T21:20:00+02:00NicolasLu, vu ou entenduAstuce <blockquote>
<p>A member of the Cabinet congratulated Wilson on introducing the vogue of short speeches and asked him about the time it took him to prepare his speeches.</p>
<p>He said: “It depends. If I am to speak ten minutes, I need a week for preparation; if fifteen minutes, three days; if half an hour, two days; if an hour, I am ready now.”</p>
<p><cite>U.S. President Wilson Woodrow, “<a href="http://www.bartleby.com/73/1288.html" rel="external">The Wilson Era; Years of War and After, 1917–1923</a>”</cite></p>
</blockquote>
<p>Via <a href="https://www.brief.me/a/20170912/1088/5674/HciIkynXVw3l/" rel="external">Brief.me</a>, édition du 12 septembre.</p>Naviguer entre les fenêtres d’une même application sur macOSurn:md5:48c182ff0f2b00dcaf7dda7021b4ba962017-09-04T20:20:00+02:002018-11-02T15:04:14+01:00NicolasMémo interneAppleGalèrePartage <p>Cela plusieurs années que j’utilise — entre autre — macOS, et je ne sais toujours pas comment passer d’une fenêtre à l’autre d’une même application…</p>
<p>Dans Windows, il suffit combiner <kbd>alt</kbd> + <kbd>tab</kbd> pour passer d’une fenêtre à l’autre, quelle que soit l’application.
<br>Sur Mac, pour passer d’une application à une autre, il suffit de combiner <kbd>cmd</kbd> + <kbd>tab</kbd>. Mais cela ne marche pour les fenêtres d’une même application.</p>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/mission-control-macos.png" title="Mission Control sur macOS"><img src="https://nicolabricot.com/public/images/screen/.mission-control-macos_m.png" alt="Mission Control sur macOS" title="Mission Control sur macOS, sept. 2017" /></a></p>
<p>En fait, il suffisait de regarder un peu dans les préférences systèmes de “Mission Control”, et de découvrir le raccourci : <strong><kbd>ctrl</kbd> + <kbd>↓</kbd></strong>.
<br>Cela permet simplement de naviguer entre les fenêtres d’une même application.</p>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/display-windows-same-application-macos.png" title="Affichage des fenêtres d‘une même application sur macOS.png"><img src="https://nicolabricot.com/public/images/screen/display-windows-same-application-macos.png" alt="Affichage des fenêtres d‘une même application sur macOS.png" title="Affichage des fenêtres d‘une même application sur macOS.png, sept. 2017" class="photo" /></a></p>
<p>En espérant que cela puisse vous servir :)</p>The Process of Securityurn:md5:d24b886d57526893ad9ad647a85ecbf62017-05-30T14:08:00+02:002017-10-10T23:32:36+02:00NicolasLu, vu ou entenduSécurité <blockquote><p>Security is a process, not a product.</p>
<p><cite>Bruce Schneier, “<a href="https://www.schneier.com/essays/archives/2000/04/the_process_of_secur.html" rel="external">The Process of Security</a>”</cite></p></blockquote>Und wie macht ein Mensch?urn:md5:85bd9745419791b2db2e9df978110b052017-05-18T19:56:00+02:002017-05-19T09:37:55+02:00NicolasLu, vu ou entendu <p class="center">
<a href="https://nicolabricot.com/public/images/soup/und_wie_macht_ein_mensch.jpeg" title="Und wie macht ein Mensch?"><img src="https://nicolabricot.com/public/images/soup/und_wie_macht_ein_mensch.jpeg" alt="Und wie macht ein Mensch?" title="Und wie macht ein Mensch?, mai 2017" class="photo" /></a>
</p>
<p>Via <a href="http://sommteck.soup.io/post/616411373/Und-wie-macht-ein-Mensch" rel="external">Ein Topf Gourmet</a>.</p>Give someone a programurn:md5:b92760ab9e839f52cbaa6a6dfc8b2ef42016-10-28T10:37:00+02:002016-10-28T10:37:00+02:00NicolasLu, vu ou entenduChallengeCuriositéNouveauté <blockquote>
<p>If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime.</p>
<p><cite>David Leinweber</cite></p>
</blockquote>Certificats SSL « Let’s Encrypt » gratuits pour tous chez OVHurn:md5:1192b522538bea87570b49d0ad1729ed2016-07-13T21:54:00+02:002020-04-11T23:46:57+02:00NicolasWebBonne humeurHébergementNouveautéWeb <p>C’est une bonne nouvelle pour les personnes hébergeant leurs sites web chez OVH !</p>
<p>L’hébergeur, qui est aussi un sponsor de Let’s Encrypt, a mis en place depuis quelques jours l’activation par défaut pour ses hébergements d’un certificat SSL gratuit fourni par Let’s Encrypt. Vous n’avez rien à faire, l’activation se fait automatiquement, pour votre site principal et ses sous-domaines s’il y en a.<br />
Vous pouvez lire l’annonce d’OVH : « <a href="https://www.ovh.com/fr/news/articles/a2224.ovh-vos-certificats-ssl-gratuits-via-lets-encrypt">vos certificats SSL gratuits via Let’s Encrypt</a> ».</p>
<p>Concernant le multisite — le fait d’héberger plusieurs noms de domaine différents sur une même instance d’hébergement — c’est aussi pris en compte. <i>Marvellous</i> :)<br />
Mais attention c’est <b>le même certificat SSL qui est partagé avec tous vos multisites</b> ! Ce qui signifie qu’il est très simple, à partir d’un de vos sites, de savoir quels autres sites SSL sont liés à votre même instance d’hébergement.<br />
Si vous souhaitez les cantonner, il vaut faudra ne pas activer le SSL, ou avoir un hébergement différent par site.</p>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/2016-07-13_Multisite-SSL-OVH.png" title="Multisites SSL sur un hébergement OVH"><img src="https://nicolabricot.com/public/images/screen/2016-07-13_Multisite-SSL-OVH.png" title="Multisites SSL sur un hébergement OVH" class="photo"></a>
<br><small>Pour les multisites, c’est un même certificat partagé qui est utilisé</i></small></p>
<p>Petit rappel pour forcer la redirection HTTP vers HTTPS (fichier <code>.htaccess</code>) :</p>
<pre>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)^ https://domain.tld/$1 [L,R]
</pre>
<p>Bonne navigation chiffrée !</p>
Récupérer les infos météo d’une ou plusieurs villes et les exploiterurn:md5:1753d203ca8b611784707a4812cc2fe52016-06-28T11:35:00+02:002019-10-14T11:58:51+02:00NicolasWeb <p>En cherchant une API pour récupérer les informations météorologiques de lieux d’intérêts, je suis tombé sur le service proposé par <a href="https://www.prevision-meteo.ch/services/">previsions-meteo.ch</a>. Et j’en suis très, très satisfait.</p>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/20160628_Weather.png" title="Weather"><img src="https://nicolabricot.com/public/images/screen/.20160628_Weather_m.png" title="Weather" class="photo"></a>
<br><small>Exemple d’utilisation : <i>Weather Home Screen</i></small></p>
<p>Ses principaux atouts sont, à mes yeux :</p>
<ul>
<li>le fait qu’elle soit gratuite et publiquement interrogeable ;</li>
<li>une <a href="https://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf">documentation</a> succincte mais complète ;</li>
<li>différentes manières de récupération des données (iframe, image, JSON) ;</li>
<li>les données « complètes » et bien fournies en JSON ;</li>
<li>les prévisions jusque 4 jours.</li>
</ul>
<p>Je regrette juste qu’il ne soit pas précisé le temps de mise à jour des données : pour ainsi implémenter judicieusement côté client la mise en cache des données et éviter des requêtes inutiles vers le serveur (actuellement j’ai une mise en cache de 30 minutes).</p>
<p>Il est aussi à noter que le service ne concerne que les villes en France, Belgique et Suisse.<br />
Bonne intégration !</p>
Windows 8.1 et les noms d’utilisateurs…urn:md5:14896ff01c75bbf036754122c3a09db92016-05-18T10:15:00+02:002016-05-18T10:15:00+02:00NicolasLu, vu ou entendu <blockquote>
<p><strong>Symptoms</strong><br />
In Windows 8.1, when the user account name contains the word “user”, intermittently you will find the process taskhost.exe keeps consuming high CPU percentage.</p>
<p><strong>Resolution</strong><br />
To resolve the issue, do not create a user account contains the string “user” on the computer.</p>
<p><cite><i>Support Microsoft</i>, “<a href="https://support.microsoft.com/en-us/kb/3053711" rel="external">High CPU use by taskhost.exe when Windows 8.1 user name contains ‘user’</a>”</cite></p>
</blockquote>
Allegory: Beer made out of vineurn:md5:509a84027bd6f0acd37bdd134eee9c982016-04-30T21:00:00+02:002016-04-30T21:00:00+02:00NicolasLu, vu ou entendu <blockquote>
<p>A customer walks into a bar. He asks for a beer made out of wine. The project manager agrees. Both question the bartender’s competence.</p>
<p>— Daniel Méndez (@mendezfe) <a href="https://twitter.com/mendezfe/status/579559198247260160" rel="external">Mars 22, 2015</a></p>
</blockquote>
<p>Tirée de l’excellent article <a href="https://medium.freecodecamp.com/being-a-developer-after-40-3c5dd112210c" rel="external">“Being A Developer After 40”</a> par Adrian Kosmaczewski.</p>
Installer et configurer sa caméra Xiaoyi « Yi Home Camera »urn:md5:235e328668bbbbb154365b7d221b67632016-02-25T23:01:00+01:002020-04-11T23:47:17+02:00NicolasInformatiqueAstuceGalèreHardware<p>J’ai depuis quelques temps — grâce à une bonne affaire — acheté une caméra Wifi « Ants Xiaoyi Smart Camera ». Elle semblait prometteuse, et je l’ai prise sur un coup de tête. Mais son installation n’a pas été des plus faciles ; elle a ainsi commencé à prendre la poussière.</p>
<p class="center"><img src="https://nicolabricot.com/public/resources/ants-xiaoyi-smart-camera/ants-xiaoyi-smart-camera.png" alt="Image of Yaktocat" /></p>
<p>Très récemment, je l’ai sorti des cartons et j’ai décidé qu’elle allait fonctionner comme je l’entends ;-)<br />
Voici donc la marche à suivre pour installer et configurer facilement sa Yi Home Caméra.</p>
<h3>Identifier son produit</h3>
<p>La première chose à faire est de connaître la version de votre caméra : chinoise ou internationale ? C’est très important et vous évitera de vous faire perdre du temps à essayer d’installer une version incompatible…</p>
<p>Ce sont les quatre premiers caractères présents sous le QR code, au dos de la caméra, qui vont permettre de la déterminer.</p>
<ul>
<li>Si les deux premiers sont des chiffres et les deux derniers des lettres, alors la version dépendra du code pays formé par ces deux lettres :<br />
<ul>
<li><code>US</code> ou <code>TW</code> ou <code>KR</code> → version internationale</li>
<li><code>CN</code> → version chinoise</li>
</ul></li>
<li>Dans les autres cas, vous êtes en possession d’une version chinoise.</li>
</ul>
<p>Dans mon cas, je possède une version chinoise, qui va nous donner un peu plus de fil à retordre.</p>
<h3>Installation de l’application « Yi Home »</h3>
<p>Si vous possédez la <strong>version internationale</strong>, bonne nouvelle, il suffit d’installer l’application sur votre appareil en téléchargeant l’application directement depuis le Play Store ou l’App Store.</p>
<p>Si vous possédez la <strong>version chinoise</strong> et un appareil iOS, il suffit d’aller sur l’App Store chinois et installer l’application.<br />
Si vous avez un appareil Android, il faut télécharger manuellement le <a href="https://www.dropbox.com/s/c6cazvn7imww2lc/yicamera_v2.10.0.6_20151105_release_umeng.apk">fichier .apk</a> fourni par Xiaoyi.<br />
<em>Par précaution, je conserve la version que j’ai téléchargée en annexe du billet si besoin.</em></p>
<p>Vous pouvez à ce stade lancer l’application installée sur votre appareil. Si tout se passe bien, vous devriez pouvoir appareiller votre caméra, et ainsi y accéder, avoir un flux vidéo, ou la configurer.</p>
<p>Si votre caméra n’est pas reconnue ou si vous l’aviez un peu trop bidouillé, il faut réinstaller le firmware correct correspondant à la version de votre caméra.</p>
<h3>(Ré-)Installation du <em>firmware</em></h3>
<p>Il suffit de télécharger la dernière version du <em>firmware</em> depuis le site de XiaoYi :</p>
<ul>
<li><a href="http://www.xiaoyi.com/home/firmware/index_us.html?version=">version internationale</a> ;</li>
<li><a href="http://www.xiaoyi.com/home/firmware/index.html?version=">version chinoise</a>.</li>
</ul>
<p><em>Par précaution, je conserve les versions que j’ai téléchargées en annexe du billet si besoin.</em></p>
<p>Il faut copier ce fichier à la racine de la carte micro SD et le renommer en <code>home</code>. après l’avoir formater en FAT 32 si ce n’était pas déjà le cas.<br />
On insère la carte micro SD dans la caméra et on branche l’alimentation : la caméra va se mettre à jour, puis redémarrer.</p>
<p>Il est maintenant possible d’appareiller sa caméra avec l’application précédemment installée :-) !</p>
<p>Source : <a href="https://yicamera.wordpress.com/2015/12/01/why-cant-i-pair-my-yi-home-camera/">Xiaoyi blog</a>.</p>
Le test du Marshmallow ou comment réussir sa vieurn:md5:02b18bab5b19665ea4b98460447dcb5d2016-01-11T10:43:00+01:002016-01-11T10:50:48+01:00NicolasLu, vu ou entenduQuestionSurprise <p>Imaginions que vous soyez à l’école primaire avec votre meilleur·e· pote, et qu’en entrant en classe avant vos camarades, vous trouvez sur votre table un délicieux Marshmallow.</p>
<p>Sauf qu’un monsieur que vous n’aviez pas vu, vous dit : « Vous avez deux options :<br />
1. Manger le marshmallow tout de suite.<br />
2. Attendre 15 minutes que je revienne. Si vous n’avez pas mangé le marshmallow, je vous en donnerai un deuxième. »</p>
<p>Qu’est-ce que vous auriez répondu ? Votre réussite future pourrait en dépendre…</p>
<blockquote>
<p>Pas la peine d’appeler la police : le type bizarre, c’est juste un chercheur en économie comportementale — aux Etats-Unis, ils appellent ça un comportementaliste. Et il est en train de réaliser une expérience hyper célèbre inventée par Walter Mischel, chercheur à l’université de Stanford, en 1972.<br />
Pourquoi est-ce que cette expérience est aussi connue ? Parce qu’elle a été reproduite plusieurs fois, et qu’à chaque fois, la conclusion était la même : <strong>le résultat au test du marshmallow est le meilleur prédicateur de la réussite future d’un individu</strong>.</p>
</blockquote>
<p>C’est en lisant l’excellent article « <a href="http://gift.mercialfred.com/topo/test-marshmallow">Le test du Marshmallow ou comment réussir sa vie</a> » de Merci Alfred que vous y trouverez la réponse !</p>
L’art des citations dans les papillotesurn:md5:81f51ee2929d107f9c4074db2fea38de2015-12-15T14:48:00+01:002015-12-15T14:49:34+01:00NicolasLu, vu ou entenduBonne humeurCuriositéDétente <p>La période des fêtes approchant, les papillotes et leurs inséparables citations sont de retour…</p>
<blockquote><p>Le risque de prendre une mauvaise décision n’est rien comparé à la terreur de l’indécision.</p><p><cite>Maimonide</cite></p></blockquote>
<blockquote><p>La diplomatie, c’est faire et dire les plus vilaines choses de la manière la plus élégante.</p><p><cite>Isaac Goldberg</cite></p></blockquote>Débannir une adresse IP d’une jail fail2ban, ou comment se pardonnerurn:md5:0456020996a5dd258e2a8878f01afa852015-10-27T22:39:00+01:002020-04-11T13:50:29+02:00NicolasMémo interneAstuceSécuritéWeb <p>Si pour protéger votre serveur vous avez installé le merveilleux <em>fail2ban</em>, et que vous règles sont un peu trop sensibles, il vous certainement arrivé de vous bannir dans l’une de vos jails vous même…</p>
<p>Pour se débannir, il suffit de trouver parmi les IPs bannies la vôtre grâce à l’instruction :</p>
<pre>iptables -L</pre>
<p>Une fois votre IP identifiée dans la jail incriminée, il suffit de supprimer la règle que <em>fail2ban</em> a créée avec</p>
<pre>iptables -D fail2ban-[jail_name] [numero_ligne]</pre>
<p>en remplaçant <code>[jail-name]</code> par le nom de la jail incriminée, et <code>[numero_ligne]</code> par la ligne identifiée avec votre IP.</p>
<hr />
<p>Un petit exemple ?</p>
<p class="center"><img src="https://nicolabricot.com/public/images/screen/2015-10-27_Liste-Bans.png" alt="Capture d’écran — Liste d’adresses IP bannies" class="photo"></p>
<p>Dans notre cas, si on souhaite révoquer le bannissement de l’adresse IP <code>5.196.36.124</code> qui se trouve à ligne 8, on va lancer la commande suivante :</p>
<pre>iptables -D fail2ban-apache-kiddies 8</pre>
WOW, du courrier — so old!urn:md5:8fc53126c25050d9208617d55f0713fc2015-07-24T09:41:00+02:002020-04-11T23:48:09+02:00NicolasLu, vu ou entendu <p>Je n’ai encore jamais essayé le service de timbres personnalisés de la Poste, mais je crois que je vais me laisser tenter…</p>
<blockquote class="twitter-tweet"><p lang="fr" dir="ltr">Mes timbres Doge sont arrivés \o/ <a href="http://t.co/eIDbXajkiG">pic.twitter.com/eIDbXajkiG</a></p>— Rougenoirblanc (@Rougenoirblanc) <a href="https://twitter.com/Rougenoirblanc/status/596624673259020288?ref_src=twsrc%5Etfw">May 8, 2015</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>La force des crayonsurn:md5:7f218eba1887f1b82a8459b1e9b2f8e42015-01-11T23:38:00+01:002020-04-11T23:48:30+02:00NicolasLu, vu ou entendu <p class="center"><a href="https://twitter.com/joachimroncin/status/552794930725539840" rel="externale" title="#JeSuisCharlie"><img src="https://nicolabricot.com/public/images/twitter/je-suis-charlie.jpg" alt="#JeSuisCharlie" title="#JeSuisCharlie, janv. 2015" class="photo" /></a></p>
<blockquote>
<p>J’ai fait cette image parce que j’ai pas de mots.</p>
<p><cite>Joachim (@joachimroncin) <a href="https://twitter.com/joachimroncin/status/552817700003930114" rel="external">January 7, 2015</a></cite></p>
</blockquote>L’effet barbecueurn:md5:e5eafaf39e2ea27ccabff7270f95937c2014-11-03T16:44:00+01:002014-11-03T16:52:54+01:00NicolasLu, vu ou entenduCuriositéSondage <blockquote>
<p>L’étude du Cerema confirme ainsi « l’effet barbecue », bien connu des sociologues : les habitants du périurbain, qui montent dans leur voiture tous les matins, n’émettent finalement pas davantage, au cours de leur vie, que les habitants du centre-ville, qui circulent tous les jours en transports en commun, mais prennent aussi le train pour assister à des colloques ou à des rendez-vous d’affaire, sans compter l’avion le week-end. Car les périurbains, une fois terminé leur va-et-vient quotidien, ne bougent plus, et s’assoient autour du barbecue.</p>
<p><cite><em>Le Monde</em>, Olivier Razemon : “<a href="http://transports.blog.lemonde.fr/2014/11/03/plus-on-est-diplome-plus-on-emet-de-co2-en-se-deplacant/" rel="external">Plus on est diplômé, plus on émet de CO2 en se déplaçant</a>”</cite></p>
</blockquote>
Recevoir à chaque démarrage le kernel ring buffer de votre serveururn:md5:88828917ea7c57790492784fe67304822014-08-18T13:31:00+02:002015-06-10T22:07:37+02:00NicolasInformatiqueAstuceHébergementSécurité <p>Connaissez-vous la commande <code>dmesg</code> sous Debian ? Elle vous indique toutes les actions effectuées durant le démarrage de l’ordinateur, et donne une idée du temps d’exécution.</p>
<pre>
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
…
[ 42.695720] Adding 102396k swap on /var/swap. Priority:-1
</pre>
<p>Je trouve ça pratique de le recevoir par e-mail. Ça me permet de vérifier ce qui se passe au démarrage, et surtout, s’il s’agit d’un démarrage non planifié, d’essayer de comprendre pourquoi le <a href="http://rbpi.devenet.eu" rel="external">Raspberry Pi</a> a redémarré…</p>
<p>Il faut modifier le fichier <code>/etc/rc.local</code> et y ajouter ces quelques lignes avant la dernière ligne (qui doit normalement être <code>exit 0</code>) :</p>
<pre>
# send dmesg after started up
dmesg | mail -s "ServerName has just started" dude@domain.tld
</pre>
<p>Et voilà, à chaque démarrage de votre machine, vous recevrez directement les logs :-)</p>
Modifier et configurer son thème ownCloud, ou comment changer le titre, le pied de page et le sloganurn:md5:1f52a87b6815cc582d4504d47f39d3d12014-08-11T17:38:00+02:002016-11-24T15:52:01+01:00NicolasMémo interneAstuceCSSDesignHébergementWeb<p><a href="http://owncloud.net" rel="external">OwnCloud</a> c’est sympa pour héberger, gérer et partager ses données où l’on veut, voire s’affranchir du service <a href="https://dropbox.com">Dropbox</a> et de ses conditions d’utilisations un peu obscures.
<br />Et ça roxe du poney, même sur mon <a href="http://rbpi.org">Raspberry Pi</a> !</p>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/owncloud_default_theme.png" title="Thème par défaut d'ownCloud"><img src="https://nicolabricot.com/public/images/screen/owncloud_default_theme.png" alt="Thème par défaut d'ownCloud" title="Thème par défaut d'ownCloud, août 2014" class="img" /></a></p>
<p>Si vous souhaitez par contre modifier un peu le thème, et en particulier le titre de la page ainsi que le pied de page <q>ownCloud - services web sous votre contrôle</q>, difficile de tomber sur la bonne documentation. Mais à force de chercher j’ai fini par trouver.</p>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/owncloud_abricot_theme.png" title="Thème Abricot pour ownCloud"><img src="https://nicolabricot.com/public/images/screen/owncloud_abricot_theme.png" alt="Thème Abricot pour ownCloud" title="Thème Abricot pour ownCloud, août 2014" class="img" /></a></p> <h3>Changer le titre, pied de page & solgan d’ownCloud</h3>
<ol>
<li>La première chose à faire est de créer un dossier du nom du thème souhaité — disons que le nôtre s’appellera « abricot ». Il suffit de créer le dossier <code>abricot</code> dans <code>owncloud/themes</code>.</li>
<li>En ajoutant le fichier <code>defaults.php</code> avec le modèle suivant, vous serez capables de modifier, le titre, le slogan et le pied de page de votre thème : <pre>
<?php
/**
* (c) 2014 - Abricot theme (nicolabricot.com)
*/
class OC_Theme {
private $myEntity;
private $myName;
private $myTitle;
private $myBaseUrl;
private $mySlogan;
private $myLogoClaim;
function __construct() {
/* company name, used for footers and copyright notices */
$this->myEntity = "Abricot’s Cloud";
/* short name, used when referring to the software, footer in e-mail signature or sender */
$this->myName = "Cloud";
/* can be a longer name, for titles */
$this->myTitle = "Cloud &middot; Abricot";
$this->myBaseUrl = "https://cloud.example.com";
/* used in login footer */
$this->mySlogan = "Le nuage dans les étoiles";
$this->myLogoClaim = "";
}
public function getBaseUrl() {
return $this->myBaseUrl;
}
public function getTitle() {
return $this->myTitle;
}
public function getName() {
return $this->myName;
}
public function getEntity() {
return $this->myEntity;
}
public function getSlogan() {
return $this->mySlogan;
}
public function getLogoClaim() {
return $this->myLogoClaim;
}
public function getShortFooter() {
$footer = "<a href=\"". $this->getBaseUrl() . "\" target=\"_blank\">" . $this->getEntity() . "</a>" . ' &middot; ' . $this->getSlogan();
return $footer;
}
}
</pre>
Par défaut, j’ai réécrit seulement une partie des données membres. Vous pouvez consulter le <a href="https://github.com/owncloud/core/blob/v5.0.10/lib/defaults.php" rel="external">fichier original</a>. <br />Ensuite, à vous de remplir à votre convenance et selon l’affichage souhaité.</li>
<li>Enfin il faut modifier le fichier de configuration <code>owncloud/conf/config.php</code> et y ajouter la ligne
<pre>'theme' => 'abricot'</pre> pour spécifier le thème qui doit doit être chargé.
<br />OwnCloud est intelligent, s’il ne trouve pas les fichiers dont il a besoin, il prend les fichiers par défaut.</li>
</ol>
<p>Ce n’était pas si compliqué, une fois que l’on sait quoi modifier…</p>
<h3>Changer et adapter le thème d’ownCloud</h3>
<p>Si vous souhaitez maintenant modifier le thème (CSS, ce qui s’affiche et comment), il faut créer un dossier <code>core</code> dans votre thème. A l’intérieur du dossier <code>owncloud/themes/abricot/core</code>, créer :</p>
<ul>
<li>un dossier <code>css</code> avec un fichier CSS nommé <code>styles.css</code> pour ajouter votre CSS qui sera ajouté ;</li>
<li>un dossier <code>templates</code> qui contient les pages que vous souhaitez redéfinir — vous pouvez copier les fichiers par défaut présents dans <code>owncloud/core/templates</code> et les modifier pour les adapter à votre thème. </li>
</ul>
<p>Infos trouvées grâce à la discussion <q><cite><a href="http://forum.owncloud.org/viewtopic.php?t=13652" rel="external">Theme > Change Title and Footer name</a></cite></q> sur les forum d’ownCloud.</p>
<h3 id="owncloud-optimization">Petits conseils pour améliorer les performances</h3>
<p>Le Raspberry Pi reste une petite machine, donc autant optimiser le fonctionnement d’ownCloud. Mais ça s’applique aussi pour les serveurs plus puissants !</p>
<ul>
<li>Configurer votre serveur web et ownCloud pour y accéder en HTTPS (bon OK, ça consomme un peu plus)</li>
<li>Désactiver les modules inutiles ou dont vous ne vous servez pas (notamment le <q>First Run Wizard</q> ou la recherche)</li>
<li>Désactiver l’aide et le lien présent dans le menu : ajouter <code>'knowledgebaseenabled' => false</code> dans le fichier de configuration</li>
<li>En production, ne servir qu’un fichier CSS et JS au lieu des nombreux (évite des requêtes HTTP pour le client et votre serveur !) : ajouter <code>'asset-pipeline.enabled' => true</code> dans le fichier de configuration</li>
<li>Désactiver les aperçus : ajouter <code>'enable_previews' => false</code> dans le fichier de configuration</li>
<li>Ne conservez que les logs d’erreurs (niveau 4) — soit par l’interface d’administration, soit en ajoutant la ligne <code>'loglevel' => '4'</code> dans le fichier de configuration</li>
</ul>
<p>Voilà, j’espère que ça pourra vous servir.
<br />Et si vous êtes quelques utilisateurs, utiliser plutôt une base de données SQLite au lieu de MySQL, ça vous évite de devoir installer une instance SQL sur votre RBPi qui risque de beaucoup consommer ;-)</p>
<p class="edit">
<abbr title="Mise à jour">MàJ</abbr> du 29 oct. 2014 : Correction des balises <code><</code> et <code>&middot;</code> pour un rendu correct.
<br /><abbr title="Mise à jour">MàJ</abbr> du 28 janv. 2015 : Corrections orthographiques</p>Affichage impossible d’images après un envoi par FTP sur un serveur OVHurn:md5:47bb866ba416b842ec609c328fccfc692014-08-05T18:03:00+02:002014-08-05T18:03:00+02:00NicolasWebAstuceBeugFirefoxHébergement <p>Pas plus tard que ce matin, j’envoie des fichiers, dont des images — de type PNG pour être exact — sur un hébergement OVH par le protocole FTP (via Filezilla).<br />
Jusque là aucun souci, c’est de loin pas la première fois que je fais ça.</p>
<p>Oui mais cette fois, j’ai une erreur assez surprenante lorsque j’accède par l’intermédiaire de Firefox aux images uploadées :</p>
<blockquote>
<p>L’image « failed.png » ne peut être affichée car elle contient des erreurs.</p>
</blockquote>
<p class="center"><a href="https://nicolabricot.com/public/images/screen/2014-08-05_l-image-ne-peut-etre-affichee-car-elle-contient-des-erreurs.png" title="L'image ne peut être chargée car elle contient des erreurs"><img src="https://nicolabricot.com/public/images/screen/2014-08-05_l-image-ne-peut-etre-affichee-car-elle-contient-des-erreurs.png" class="photo" alt="L'image ne peut être chargée car elle contient des erreurs" title="L'image ne peut être chargée car elle contient des erreurs, août 2014" /></a></p>
<p>Il se peut que l’image ait été mal envoyée, je recommence donc le transfère des images uniquement car bizarrement :</p>
<ul>
<li>toutes les images contiennent des erreurs ;</li>
<li>les fichiers autres que les images sont chargés correctement. </li>
</ul>
<p>Sauf que cela ne change rien. J’essaie donc, dans le doute, avec d’autres navigateurs (Chrome, IE, …) mais sans succès. L’image ne se charge toujours pas correctement.<br />
Je vous passe les autres essais infructueux pour tenter de résoudre le souci. Jusqu’à que j’aille regarder du côté du transfert FTP et de Filezilla. <em>Bingo !</em></p>
<p>Par défaut — ou parce que j’avais précédemment changé le paramètre — le transfert se faisait en <code>ASCII</code>, et ça, pour OVH et les images, c’est le mal.<br />
<strong>La solution était toute simple : forcer le transfert en « binaire »</strong> :-).</p>
<p class="center"><img class="photo" src="https://nicolabricot.com/public/images/screen/2014-08-05_FTP-mode-ascii.jpg" alt="Filezilla - Transfert en ASCII" title="Filezilla - Transfert en ASCII, août 2014" /> <img class="photo" src="https://nicolabricot.com/public/images/screen/2014-08-05_FTP-mode-binaire.jpg" alt="Filezilla - Transfert en binaire" title="Filezilla - Transfert en binaire, août 2014" /></p>
<p>Note : le mode automatique est à préférer, Filezilla choisit automatiquement et intelligemment le bon mode de transfert en fonction du type de fichier.</p>