diff --git a/articles/2011/ios-animations-blocs.md b/articles/2011/ios-animations-blocs.md index db365bf..7f70565 100644 --- a/articles/2011/ios-animations-blocs.md +++ b/articles/2011/ios-animations-blocs.md @@ -5,7 +5,7 @@ Date: December 06, 2011 Update: Keywords: iOS, OS X, UI, animation, blocs Summary: Comment créer une application attractive ? Vaste question, mais il me semble qu’il existe un critère, complètement objectif, vous permettant d’atteindre un certain niveau de finition : tous les éléments de l’interface doivent être animés. La bonne nouvelle, c’est qu’iOS le gère très facilement, comme nous allons le voir. -Image: http://www.vtourraine.net/blog/img/ios-animations-blocs/core-animation.png +Image: https://www.vtourraine.net/blog/img/ios-animations-blocs/core-animation.png Language: fr Comment créer une application attractive ? Vaste question, mais il me semble qu’il existe un critère, complètement objectif, vous permettant d’atteindre un certain niveau de finition : tous les éléments de l’interface doivent être animés. La bonne nouvelle, c’est qu’iOS le gère très facilement, comme nous allons le voir. @@ -64,7 +64,7 @@ Vos utilisateurs appréciront sans doute la valeur ajoutée par ces animations. - [Introduction to Core Animation Programming Guide](http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html) -[Navigation interface]: http://www.vtourraine.net/blog/img/ios-animations-blocs/navigation-interface.png -[Core Animation]: http://www.vtourraine.net/blog/img/ios-animations-blocs/core-animation.png +[Navigation interface]: /blog/img/ios-animations-blocs/navigation-interface.png +[Core Animation]: /blog/img/ios-animations-blocs/core-animation.png [UINavigationController]: http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html diff --git a/articles/2011/ios-contacts-twitter-carnet-adresses.md b/articles/2011/ios-contacts-twitter-carnet-adresses.md index 25aa4c5..49c61fc 100644 --- a/articles/2011/ios-contacts-twitter-carnet-adresses.md +++ b/articles/2011/ios-contacts-twitter-carnet-adresses.md @@ -5,7 +5,7 @@ Date: October 18, 2011 Update: Keywords: iOS, iOS 5, Contacts, Twitter Summary: Avec iOS 5, le carnet d’adresses bénéficie de nouveaux champs de saisie pour les réseaux sociaux. Voyons comment récupérer ces informations. -Image: http://www.vtourraine.net/blog/img/ios-contacts-twitter-carnet-adresses/contact.jpg +Image: https://www.vtourraine.net/blog/img/ios-contacts-twitter-carnet-adresses/contact.jpg Language: fr Avec iOS 5, le carnet d’adresses bénéficie de nouveaux champs de saisie pour les réseaux sociaux. Voyons comment récupérer ces informations. @@ -84,4 +84,4 @@ Avec ces constantes, libre à vous de parcourir les données à votre dispositio - [ABPerson Reference](http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/Reference/reference.html) -[Contacts]: http://www.vtourraine.net/blog/img/ios-contacts-twitter-carnet-adresses/contact.jpg +[Contacts]: /blog/img/ios-contacts-twitter-carnet-adresses/contact.jpg diff --git a/articles/2011/ios-xcode-projets-parallele.md b/articles/2011/ios-xcode-projets-parallele.md index 6b684ea..eec2a2d 100644 --- a/articles/2011/ios-xcode-projets-parallele.md +++ b/articles/2011/ios-xcode-projets-parallele.md @@ -5,7 +5,7 @@ Date: November 02, 2011 Update: Keywords: iOS, Making-of, gestion de projets, Xcode Summary: Voici la première partie d’une série de billets présentant certains aspects de la création de mes dernières applications : ce qu’on pourrait donc appeler le making-of de MemO’clock et GeO’clock. Pour commencer, je vais justement aborder le problème d’avoir à gérer plusieurs applications similaires en parallèle. -Image: http://www.vtourraine.net/blog/img/ios-xcode-projets-parallele/drag-file-to-project.jpg +Image: https://www.vtourraine.net/blog/img/ios-xcode-projets-parallele/drag-file-to-project.jpg Language: fr Voici la première partie d’une série de billets présentant certains aspects de la création de mes dernières applications : ce qu’on pourrait donc appeler le making-of de MemO’clock et GeO’clock. Pour commencer, je vais justement aborder le problème d’avoir à gérer plusieurs applications similaires en parallèle. @@ -64,7 +64,7 @@ Et voilà. La démarche est assez simple, et les commandes préprocesseur peuven Selon votre expérience des langages de programmation, cette solution pourra vous paraître surprenante, voire inappropriée. Elle permet en tout cas de maîtriser précisément votre code au moment de sa compilation. Libre à vous de l'utiliser selon votre besoin. Cette technique peut d'ailleurs trouver son utilité dans d'autres cas, rien ne vous empêche de vous en inspirer pour répondre à des problèmes différents. -[Drag file]: http://www.vtourraine.net/blog/img/ios-xcode-projets-parallele/drag-file-to-project.jpg -[Add file reference]: http://www.vtourraine.net/blog/img/ios-xcode-projets-parallele/add-file-by-reference.jpg -[Inspect file]: http://www.vtourraine.net/blog/img/ios-xcode-projets-parallele/inspect-file.jpg -[Preprocessor]: http://www.vtourraine.net/blog/img/ios-xcode-projets-parallele/preprocessor.jpg +[Drag file]: /blog/img/ios-xcode-projets-parallele/drag-file-to-project.jpg +[Add file reference]: /blog/img/ios-xcode-projets-parallele/add-file-by-reference.jpg +[Inspect file]: /blog/img/ios-xcode-projets-parallele/inspect-file.jpg +[Preprocessor]: /blog/img/ios-xcode-projets-parallele/preprocessor.jpg diff --git a/articles/2011/palm-webos-hp-mauvais-exemple.md b/articles/2011/palm-webos-hp-mauvais-exemple.md index 6ce5b76..5249450 100644 --- a/articles/2011/palm-webos-hp-mauvais-exemple.md +++ b/articles/2011/palm-webos-hp-mauvais-exemple.md @@ -5,7 +5,7 @@ Date: December 11, 2011 Update: Keywords: webOS, Palm, HP Summary: Cette fois, l’affaire est pliée. HP se décide finalement à débrancher webOS (pardon, open-sourcer), au terme d’une année fatale pour Palm et son environnement mobile. L’heure du bilan qui fait mal. -Image: http://www.vtourraine.net/blog/img/palm-webos-hp-mauvais-exemple/palm-m100-ipod-touch.jpg +Image: https://www.vtourraine.net/blog/img/palm-webos-hp-mauvais-exemple/palm-m100-ipod-touch.jpg Language: fr Cette fois, l’affaire est pliée. HP se décide finalement à débrancher webOS (pardon, open-sourcer), au terme d’une année fatale pour Palm et son environnement mobile. L’heure du bilan qui fait mal. @@ -54,10 +54,10 @@ Enfin, l’acquisition par HP en 2010, qui devait permettre de distribuer webOS J’ai encore du mal à comprendre comment un environnement aussi abouti peut disparaître si rapidement. Les leçons à en tirer sont nombreuses pour Google, Apple et les autres prétendants au titre. On peut bien sûr se réjouir de voir les bonnes idées de webOS déjà réinjectées dans ses concurrents, mais Palm pouvait espérer un sort moins tragique. -[Palm logo]: http://www.vtourraine.net/blog/img/palm-webos-hp-mauvais-exemple/palm-logo.png -[m100 iPod touch]: http://www.vtourraine.net/blog/img/palm-webos-hp-mauvais-exemple/palm-m100-ipod-touch.jpg -[Veer Pre3 TouchPad]: http://www.vtourraine.net/blog/img/palm-webos-hp-mauvais-exemple/veer-pre3-touchpad.jpg -[webOS logo]: http://www.vtourraine.net/blog/img/palm-webos-hp-mauvais-exemple/webos-logo.png +[Palm logo]: /blog/img/palm-webos-hp-mauvais-exemple/palm-logo.png +[m100 iPod touch]: /blog/img/palm-webos-hp-mauvais-exemple/palm-m100-ipod-touch.jpg +[Veer Pre3 TouchPad]: /blog/img/palm-webos-hp-mauvais-exemple/veer-pre3-touchpad.jpg +[webOS logo]: /blog/img/palm-webos-hp-mauvais-exemple/webos-logo.png [The Verge webOS]: http://www.theverge.com/2011/12/9/2623943/webos-being-open-sourced-says-hp/in/2388197 [Palm m100]: http://en.wikipedia.org/wiki/Palm_m100 diff --git a/articles/2011/rejoins-equipe-shazino.md b/articles/2011/rejoins-equipe-shazino.md index 693bee0..9bf9f83 100644 --- a/articles/2011/rejoins-equipe-shazino.md +++ b/articles/2011/rejoins-equipe-shazino.md @@ -18,5 +18,5 @@ Ceci étant dit, je conserve aussi du temps libre afin de continuer à travaille [Shazino]: http://www.shazino.com [Damien]: http://42.dmathieu.com/ [Franck]: http://www.verrot.fr/ -[Projets]: http://www.vtourraine.net/projects/ -[Blog]: http://www.vtourraine.net/blog/ +[Projets]: /projects/ +[Blog]: /blog/ diff --git a/articles/2011/tiny-tower-jeu-mobile.md b/articles/2011/tiny-tower-jeu-mobile.md index 9c64e82..dfa4da5 100644 --- a/articles/2011/tiny-tower-jeu-mobile.md +++ b/articles/2011/tiny-tower-jeu-mobile.md @@ -5,7 +5,7 @@ Date: December 16, 2011 Update: Keywords: Tiny Tower, jeux vidéo, iOS, Android, pixel Summary: Je viens de découvrir « Tiny Tower », un jeu disponible pour iOS et Android, et j’essaie maintenant de comprendre comment un jeu si simple peut se révéler aussi addictif (le fourbe !), en particulier sur mobiles. -Image: http://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/tower-overview.png +Image: https://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/tower-overview.png Language: fr Je viens de découvrir « Tiny Tower », un jeu disponible pour iOS et Android, et j’essaie maintenant de comprendre comment un jeu si simple peut se révéler aussi addictif (le fourbe !), en particulier sur mobiles. @@ -58,11 +58,11 @@ Je pourrais ajouter le fait d’avoir des graphismes à la mode *pixel-art*, qui - [« Tiny Tower » sur l’Android Market][Android] -[Icone]: http://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/tiny-tower-icone.png -[Screenshot 1]: http://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/tower-overview.png -[Screenshot 2]: http://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/tower.png -[Screenshot bux]: http://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/more-bux.png -[Screenshot shop]: http://www.vtourraine.net/blog/img/tiny-tower-jeu-mobile/costume-shop.png +[Icone]: /blog/img/tiny-tower-jeu-mobile/tiny-tower-icone.png +[Screenshot 1]: /blog/img/tiny-tower-jeu-mobile/tower-overview.png +[Screenshot 2]: /blog/img/tiny-tower-jeu-mobile/tower.png +[Screenshot bux]: /blog/img/tiny-tower-jeu-mobile/more-bux.png +[Screenshot shop]: /blog/img/tiny-tower-jeu-mobile/costume-shop.png [UITableView]: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html [App Store]: http://itunes.apple.com/app/tiny-tower/id422667065?mt=8 diff --git a/articles/2012/2011-bilan.md b/articles/2012/2011-bilan.md index d5b6d37..1193621 100644 --- a/articles/2012/2011-bilan.md +++ b/articles/2012/2011-bilan.md @@ -57,6 +57,6 @@ _Très bonne année 2012 à tous._ [Atos Worldline]: http://www.atosworldline.com/ [INSA]: http://if.insa-lyon.fr/ [Rolin-Guilbault]: http://www.rolin-guilbault.com/ -[Memoclock]: http://www.vtourraine.net/projects/memoclock/ -[Blog Shazino]: http://www.vtourraine.net/blog/rejoins-equipe-shazino +[Memoclock]: /projects/memoclock/ +[Blog Shazino]: /blog/rejoins-equipe-shazino [Shazino]: http://www.shazino.com/ diff --git a/articles/2012/app-mobile-guide-utilisation.md b/articles/2012/app-mobile-guide-utilisation.md index 97ec8f0..6cdb1d5 100644 --- a/articles/2012/app-mobile-guide-utilisation.md +++ b/articles/2012/app-mobile-guide-utilisation.md @@ -5,7 +5,7 @@ Date: February 05, 2012 Update: Keywords: mobile, UI, UX, making-of Summary: Les applications mobiles arrivent rarement avec un manuel d’utilisation, et personne ne s’en plaint. A priori, c’est donc une excellente nouvelle, mais ce n’est pas une raison pour ne pas guider ses utilisateurs, lorsque cela devient nécessaire. Étude de cas. -Image: http://www.vtourraine.net/blog/img/app-mobile-guide-utilisation/contacts-popover-front.png +Image: https://www.vtourraine.net/blog/img/app-mobile-guide-utilisation/contacts-popover-front.png Language: fr Project: Contacts @@ -28,8 +28,8 @@ Et ça marche : depuis cette mise à jour, plus aucun mail à ce sujet. *Mission accomplie*, ouf. -[Contacts Popover 1]: http://www.vtourraine.net/blog/img/app-mobile-guide-utilisation/contacts-popover-front.png -[Contacts Popover 2]: http://www.vtourraine.net/blog/img/app-mobile-guide-utilisation/contacts-popover-back.png +[Contacts Popover 1]: /blog/img/app-mobile-guide-utilisation/contacts-popover-front.png +[Contacts Popover 2]: /blog/img/app-mobile-guide-utilisation/contacts-popover-back.png [Contacts]: http://www.studioamanga.com/contacts/ [MobilePatterns]: http://mobile-patterns.com/empty-data-sets diff --git a/articles/2012/app-mobile-ui-appui-prolonge.md b/articles/2012/app-mobile-ui-appui-prolonge.md index 800df02..28940f3 100644 --- a/articles/2012/app-mobile-ui-appui-prolonge.md +++ b/articles/2012/app-mobile-ui-appui-prolonge.md @@ -5,7 +5,7 @@ Date: February 25, 2012 Update: Keywords: mobile, UI, UX, making-of Summary: Je sais, ça paraît ridicule, et pourtant en termes d’interface utilisateur mobile, l’appui prolongé est un vaste sujet à lui seul. Avec une multiplicité déroutante de cas d’utilisation, c’est un peu le grand incompris du multi-touch. En voilà un sujet intéressant. -Image: http://www.vtourraine.net/blog/img/app-mobile-ui-appui-prolonge/touch-hold.png +Image: https://www.vtourraine.net/blog/img/app-mobile-ui-appui-prolonge/touch-hold.png Language: fr Project: Contacts @@ -56,16 +56,16 @@ Un peu d'assistance, pour ce grand incompris du multi-touch. - Icônes gestes multi-touch : [Gesturecons](http://gesturecons.com/) -[Touch gesture]: http://www.vtourraine.net/blog/img/app-mobile-ui-appui-prolonge/touch-hold.png -[Popover Notes]: http://www.vtourraine.net/blog/img/app-mobile-ui-appui-prolonge/notes-popover.jpg -[Popover Music]: http://www.vtourraine.net/blog/img/app-mobile-ui-appui-prolonge/music-popover.jpg -[Contact[s] action sheet]: http://www.vtourraine.net/blog/img/app-mobile-ui-appui-prolonge/contacts-action-sheet.png +[Touch gesture]: /blog/img/app-mobile-ui-appui-prolonge/touch-hold.png +[Popover Notes]: /blog/img/app-mobile-ui-appui-prolonge/notes-popover.jpg +[Popover Music]: /blog/img/app-mobile-ui-appui-prolonge/music-popover.jpg +[Contact[s] action sheet]: /blog/img/app-mobile-ui-appui-prolonge/contacts-action-sheet.png [UITextField]: https://developer.apple.com/library/ios/documentation/uikit/reference/UITextField_Class/ [Mail drafts]: http://gizmodo.com/5887459/how-to-quickly-open-saved-email-drafts-in-ios [Mobile HIG]: https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html [UILongPressGestureRecognizer]: https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UILongPressGestureRecognizer_Class/Reference/Reference.html [Duarte]: https://plus.google.com/114892667463719782631 -[Blog guide utilisation]: http://www.vtourraine.net/blog/app-mobile-guide-utilisation +[Blog guide utilisation]: /blog/app-mobile-guide-utilisation [Contact[s]]: http://www.studioamanga.com/contacts/ [UIActionSheet]: https://developer.apple.com/library/ios/documentation/uikit/reference/UIActionSheet_Class/ diff --git a/articles/2012/ios-6-api-sdk.md b/articles/2012/ios-6-api-sdk.md index e5364b9..9a3cf10 100644 --- a/articles/2012/ios-6-api-sdk.md +++ b/articles/2012/ios-6-api-sdk.md @@ -5,7 +5,7 @@ Date: September 18, 2012 Update: Keywords: iOS, iPhone, iPad, Xcode, Objective-C Summary: La dernière version d’iOS apporte son lot de nouveautés, pour la plupart déjà bien connues. Les développeurs ne sont pas en reste, avec de nombreuses API à (re)découvrir. J’en profite pour exposer les points qui me paraissent les plus intéressants. -Image: http://www.vtourraine.net/blog/img/ios-6-api-sdk/maps-reimagined.png +Image: https://www.vtourraine.net/blog/img/ios-6-api-sdk/maps-reimagined.png Language: fr Project: @@ -101,8 +101,8 @@ Encore une fois, Apple continue à étendre les capacités de son OS et des API - [iOS 5.1 to iOS 6.0 API Differences](https://developer.apple.com/library/prerelease/ios/#releasenotes/General/iOS60APIDiffs/) -[Maps]: http://www.vtourraine.net/blog/img/ios-6-api-sdk/maps-reimagined.png -[Passbook]: http://www.vtourraine.net/blog/img/ios-6-api-sdk/passbook-syd-lax.png -[Reminders]: http://www.vtourraine.net/blog/img/ios-6-api-sdk/reminders.png -[UICollectionView]: http://www.vtourraine.net/blog/img/ios-6-api-sdk/uicollectionview.png -[Icone Xcode]: http://www.vtourraine.net/blog/img/xcode-4-workspaces/xcode-icon.png +[Maps]: /blog/img/ios-6-api-sdk/maps-reimagined.png +[Passbook]: /blog/img/ios-6-api-sdk/passbook-syd-lax.png +[Reminders]: /blog/img/ios-6-api-sdk/reminders.png +[UICollectionView]: /blog/img/ios-6-api-sdk/uicollectionview.png +[Icone Xcode]: /blog/img/xcode-4-workspaces/xcode-icon.png diff --git a/articles/2012/ios-fluidite-animation-uitableview.md b/articles/2012/ios-fluidite-animation-uitableview.md index f8458ab..ee2652a 100644 --- a/articles/2012/ios-fluidite-animation-uitableview.md +++ b/articles/2012/ios-fluidite-animation-uitableview.md @@ -58,7 +58,7 @@ Chaque application est différente, et les techniques évoquées au cours de ce La dernière version de Contact[s], publiée cette semaine sur l’[App Store](http://itunes.apple.com/app/contact-s/id477281440?mt=8), propose donc enfin une interface vraiment fluide, pour la plus grande joie du développeur, et des utilisateurs. Tout est bien, qui finit bien. -[Tweetie]: http://www.vtourraine.net/blog/img/ios-fluidite-animation-uitableview/tweetie.jpg -[Blended layers]: http://www.vtourraine.net/blog/img/ios-fluidite-animation-uitableview/blended-layers.jpg -[Blended Contacts]: http://www.vtourraine.net/blog/img/ios-fluidite-animation-uitableview/blended-contacts.jpg -[Blended Settings]: http://www.vtourraine.net/blog/img/ios-fluidite-animation-uitableview/blended-settings.jpg +[Tweetie]: /blog/img/ios-fluidite-animation-uitableview/tweetie.jpg +[Blended layers]: /blog/img/ios-fluidite-animation-uitableview/blended-layers.jpg +[Blended Contacts]: /blog/img/ios-fluidite-animation-uitableview/blended-contacts.jpg +[Blended Settings]: /blog/img/ios-fluidite-animation-uitableview/blended-settings.jpg diff --git a/articles/2012/ios-tdd-tests-unitaires.md b/articles/2012/ios-tdd-tests-unitaires.md index 2a8ec62..f817139 100644 --- a/articles/2012/ios-tdd-tests-unitaires.md +++ b/articles/2012/ios-tdd-tests-unitaires.md @@ -5,7 +5,7 @@ Date: April 18, 2012 Update: Keywords: iOS, Xcode, Objective-C, TDD, OCUnit Summary: Le développement iOS bénéficie d’un langage solide (Objective-C) et d’un SDK moderne (Cocoa Touch). Il existe pourtant un aspect technique, généralement considéré comme essentiel, sur lequel la plateforme est en retard flagrant : les tests unitaires, et le “Test-Driven Development” (TDD) en particulier. C’est le moment de s’y mettre. -Image: http://www.vtourraine.net/blog/img/ios-tdd-tests-unitaires/xcode-ocunit.png +Image: https://www.vtourraine.net/blog/img/ios-tdd-tests-unitaires/xcode-ocunit.png Language: fr Project: @@ -36,8 +36,8 @@ Les ressources pour se former à la pratique des tests unitaires sur iOS sont ra Une fois les bases assimilées, il ne reste plus qu'à plonger dans [OCMock](http://ocmock.org/), [OCHamcrest](http://jonreid.github.com/OCHamcrest/) et autres [Cedar](https://github.com/pivotal/cedar). Autant de sujets qui méritent des billets dédiés, peut-être pour plus tard. Ça vous laisse le temps pour vous familiariser avec OCUnit. `‘Cmd’+‘U’`. -[Xcode OCUnit]: http://www.vtourraine.net/blog/img/ios-tdd-tests-unitaires/xcode-ocunit.png -[TDD iOS dev]: http://www.vtourraine.net/blog/img/ios-tdd-tests-unitaires/graham-lee-tdd-ios.png +[Xcode OCUnit]: /blog/img/ios-tdd-tests-unitaires/xcode-ocunit.png +[TDD iOS dev]: /blog/img/ios-tdd-tests-unitaires/graham-lee-tdd-ios.png [Doc Unit Testing]: http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/UnitTesting/00-About_Unit_Testing/about.html [WWDC]: https://developer.apple.com/wwdc/ diff --git a/articles/2012/ipad-comic-books-retina-cmxhd.md b/articles/2012/ipad-comic-books-retina-cmxhd.md index 32266eb..f3b3a7e 100644 --- a/articles/2012/ipad-comic-books-retina-cmxhd.md +++ b/articles/2012/ipad-comic-books-retina-cmxhd.md @@ -5,7 +5,7 @@ Date: April 21, 2012 Update: Keywords: iPad, Retina, comic book, ComiXology Summary: Un iPad, ça permet notamment de lire des comic books. Le format est adapté, et l’écran Retina fait des merveilles. Dernière nouveauté proposée par comiXology : le format « CMX-HD ». Rapide aperçu, forcément en images. -Image: http://www.vtourraine.net/blog/img/ipad-comic-books-retina-cmxhd/batman-full-page-cmxhd.png +Image: https://www.vtourraine.net/blog/img/ipad-comic-books-retina-cmxhd/batman-full-page-cmxhd.png Language: fr Project: @@ -34,7 +34,7 @@ Espérons donc que l’application DC Comics sera vite mise à niveau. Les Aveng L’application DC Comics vient d’être [mise à jour](http://www.dccomics.com/blog/2012/05/15/dc-comics-ios-app-now-features-retina-display), avec le support du format CMX-DH. -[Full normal]: http://www.vtourraine.net/blog/img/ipad-comic-books-retina-cmxhd/batman-full-page-normal.png -[Full CMXHD]: http://www.vtourraine.net/blog/img/ipad-comic-books-retina-cmxhd/batman-full-page-cmxhd.png -[Zoom normal]: http://www.vtourraine.net/blog/img/ipad-comic-books-retina-cmxhd/batman-zoom-normal.png -[Zoom CMXHD]: http://www.vtourraine.net/blog/img/ipad-comic-books-retina-cmxhd/batman-zoom-cmxhd.png +[Full normal]: /blog/img/ipad-comic-books-retina-cmxhd/batman-full-page-normal.png +[Full CMXHD]: /blog/img/ipad-comic-books-retina-cmxhd/batman-full-page-cmxhd.png +[Zoom normal]: /blog/img/ipad-comic-books-retina-cmxhd/batman-zoom-normal.png +[Zoom CMXHD]: /blog/img/ipad-comic-books-retina-cmxhd/batman-zoom-cmxhd.png diff --git a/articles/2012/lire-disque-blu-ray.md b/articles/2012/lire-disque-blu-ray.md index 7081c23..5fb430b 100644 --- a/articles/2012/lire-disque-blu-ray.md +++ b/articles/2012/lire-disque-blu-ray.md @@ -5,7 +5,7 @@ Date: May 27, 2012 Update: Keywords: Blu-ray, OS X, Windows Summary: Comment lire un disque Blu-ray ? Si vous pensez que la solution “acheter un lecteur Blu-ray” est correcte, vous allez être déçus. Récit d’un week-end passé à lutter contre des mécanismes de “gestion des droits numériques”, a.k.a. DRM, tout ça pour regarder un film. -Image: http://www.vtourraine.net/blog/img/lire-disque-blu-ray/bluray.png +Image: https://www.vtourraine.net/blog/img/lire-disque-blu-ray/bluray.png Language: fr Project: @@ -46,7 +46,7 @@ Au delà du support physique, c’est un nouveau mode de consommation qui se pro Voilà qui aurait grandement simplifié mon problème. -[Blu-ray]: http://www.vtourraine.net/blog/img/lire-disque-blu-ray/bluray.png +[Blu-ray]: /blog/img/lire-disque-blu-ray/bluray.png [Millenium]: http://video.fnac.com/a4047734/Millenium-Les-hommes-qui-n-aimaient-pas-les-femmes-Blu-Ray-Daniel-Craig-Blu-Ray [Samsung SE]: http://www.amazon.co.uk/Samsung-SE-506AB-External-Slimline-Blue-ray/dp/B005M3UICU diff --git a/articles/2012/musique-itunes-digital-hub.md b/articles/2012/musique-itunes-digital-hub.md index 6a0c813..eb8031d 100644 --- a/articles/2012/musique-itunes-digital-hub.md +++ b/articles/2012/musique-itunes-digital-hub.md @@ -5,7 +5,7 @@ Date: January 08, 2012 Update: Keywords: musique, iTunes, iPod, Digital Hub, Spotify Summary: Pour changer un peu des sujets trop techniques qui dominent ce blog, je vais m’arrêter un moment sur mes habitudes musicales. C’est un sujet qui me tient à cœur, et cette fois il s’agit d’un billet sur le blog de Stéphane Caron qui m’a laissé songeur, et qui m’amène à ce billet. -Image: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/ipod-ads.jpg +Image: https://www.vtourraine.net/blog/img/musique-itunes-digital-hub/ipod-ads.jpg Language: fr Project: @@ -69,7 +69,7 @@ Certains artistes ont [pris note](http://forum.nin.com/bb/read.php?30,767183,767 Aujourd'hui, ces initiatives sont encore trop limitées pour me motiver aujourd'hui à changer d'écosystème, mais je suis impatient de voir leur évolution dans les années à venir. -[Pub iPod]: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/ipod-ads.jpg -[Digital Hub]: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/digital-hub-keynote.jpg -[Icone Shuffle]: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/shuffle-icon.png -[Spotify]: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/spotify.jpg +[Pub iPod]: /blog/img/musique-itunes-digital-hub/ipod-ads.jpg +[Digital Hub]: /blog/img/musique-itunes-digital-hub/digital-hub-keynote.jpg +[Icone Shuffle]: /blog/img/musique-itunes-digital-hub/shuffle-icon.png +[Spotify]: /blog/img/musique-itunes-digital-hub/spotify.jpg diff --git a/articles/2012/musique-spotify-premiers-pas.md b/articles/2012/musique-spotify-premiers-pas.md index e325166..24b8877 100644 --- a/articles/2012/musique-spotify-premiers-pas.md +++ b/articles/2012/musique-spotify-premiers-pas.md @@ -5,7 +5,7 @@ Date: May 12, 2012 Update: Keywords: musique, Spotify Summary: J’ai déjà évoqué sur ce blog l’importance de la musique dans mon petit monde numérique. iPod, iTunes, vous voyez le paysage. J’abordais notamment le sujet des nouveaux services de musique à la demande, vous expliquant pourquoi ils ne me convenaient pas. Disons que je suis curieux. Me voici donc maintenant abonné à Spotify. Alors ? -Image: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/spotify.jpg +Image: https://www.vtourraine.net/blog/img/musique-itunes-digital-hub/spotify.jpg Language: fr Project: @@ -20,7 +20,7 @@ J’ai déjà évoqué sur ce blog l’importance de la musique dans mon petit m Plus important, la grande majorité des utilisateurs ne synchronisent que très rarement, voire jamais, leurs appareils. Apple le sait, et s’adapte (lentement) : synchro OTA, backup iCloud, etc. En ce qui concerne la musique, la [nouvelle offre d’Apple](http://www.apple.com/itunes/itunes-match/) est originale, permettant de légaliser sa collection de mp3, mais n’apporte aucune innovation. -Si je devais repartir de zéro, sans collection existante, que choisirais-je ? Il est peut-être temps de passer à [autre chose](http://www.vtourraine.net/blog/musique-itunes-digital-hub). +Si je devais repartir de zéro, sans collection existante, que choisirais-je ? Il est peut-être temps de passer à [autre chose](/blog/musique-itunes-digital-hub). ## Spotify, Rdio, Mog, Pandora, Deezer… @@ -67,4 +67,4 @@ C’est justement une des promesses de ce type de services : rien ne m’apparti Ensuite, tout est possible : partager, stocker, organiser, analyser et bien-sûr écouter. -[Spotify]: http://www.vtourraine.net/blog/img/musique-itunes-digital-hub/spotify.jpg +[Spotify]: /blog/img/musique-itunes-digital-hub/spotify.jpg diff --git a/articles/2012/the-magazine-newsstand.md b/articles/2012/the-magazine-newsstand.md index 620cb5d..7b20d97 100644 --- a/articles/2012/the-magazine-newsstand.md +++ b/articles/2012/the-magazine-newsstand.md @@ -5,7 +5,7 @@ Date: October 19, 2012 Update: November 12, 2014 Keywords: iOS, Newsstand, presse Summary: Vous avez sans doute entendu parler d’Instapaper, le service pour “lire plus tard”, concept génial décliné à l’infini. Son créateur, Marco Arment, vient de lancer une nouvelle application, sobrement baptisée “The Magazine”. Elle pourrait bien sonner le renouveau de Newsstand, le kiosque iOS. -Image: http://www.vtourraine.net/blog/img/the-magazine-newsstand/the-magazine.png +Image: https://www.vtourraine.net/blog/img/the-magazine-newsstand/the-magazine.png Language: fr Project: @@ -44,7 +44,7 @@ Au lancement de l’iPad, toute la presse voyait l’appareil comme le futur de Cette semaine, Newsweek a annoncé [la fin de son édition papier](http://www.theverge.com/2012/10/18/3520544/newsweek-all-digital-publication). Aujourd’hui, c’est la [Journée de la presse en ligne](http://www.spiil.org/20121018/suivez-direct-journee-de-presse-ligne-spiil), organisée par le Spiil. Je ne suis pas inquiet pour l’avenir de la presse, je crois même que le meilleur est à venir. -> *Mise à jour du 12 novembre 2014* : triste nouvelle, « The Magazine » n’est plus. Son éditeur [a annoncé](http://glog.glennf.com/blog/2014/10/8/the-magazine-is-making-a-book-again-and-shutting-down-what) que la parution cessera fin 2014, à cause de la chute (lente mais constante) du nombre d’abonnés. J’en parle dans le contexte de ma récente [sélection de magazines](http://www.vtourraine.net/blog/selection-magazines). +> *Mise à jour du 12 novembre 2014* : triste nouvelle, « The Magazine » n’est plus. Son éditeur [a annoncé](http://glog.glennf.com/blog/2014/10/8/the-magazine-is-making-a-book-again-and-shutting-down-what) que la parution cessera fin 2014, à cause de la chute (lente mais constante) du nombre d’abonnés. J’en parle dans le contexte de ma récente [sélection de magazines](/blog/selection-magazines). ### Licence photo @@ -52,5 +52,5 @@ Cette semaine, Newsweek a annoncé [la fin de son édition papier](http://www.th - [The Magazine Cover Art](http://dribbble.com/shots/766068-The-Magazine-Cover-Art) par Pacific Helm -[The Magazine Covers]: http://www.vtourraine.net/blog/img/the-magazine-newsstand/the-magazine.png -[Newsstand]: http://www.vtourraine.net/blog/img/the-magazine-newsstand/newstand-iPad.jpg +[The Magazine Covers]: /blog/img/the-magazine-newsstand/the-magazine.png +[Newsstand]: /blog/img/the-magazine-newsstand/newstand-iPad.jpg diff --git a/articles/2012/xcode-4-workspaces.md b/articles/2012/xcode-4-workspaces.md index ba3cac5..5c11d71 100644 --- a/articles/2012/xcode-4-workspaces.md +++ b/articles/2012/xcode-4-workspaces.md @@ -5,7 +5,7 @@ Date: January 23, 2012 Update: Keywords: Tutoriel, Xcode, Workspace, iOS, OS X, projet, frameworks, Cedar Summary: Arrivés avec Xcode 4, les workspaces vous permettent de gérer plusieurs projets simultanément. Voyons comment mettre en place cet outil afin d’utiliser efficacement une bibliothèque ou un framework tiers. -Image: http://www.vtourraine.net/blog/img/xcode-4-workspaces/xcode-4-workspaces.png +Image: https://www.vtourraine.net/blog/img/xcode-4-workspaces/xcode-4-workspaces.png Language: fr Project: @@ -119,8 +119,8 @@ Comme vous le voyez, le processus est assez pénible, loin des promesses d'Xcode Si vous utilisez une technique similaire en réglant les problèmes évoqués ici, ça m'intéressait beaucoup d'en savoir plus. En espérant qu'une prochaine version d'Xcode améliore un peu tout ça. -[Icone Xcode]: http://www.vtourraine.net/blog/img/xcode-4-workspaces/xcode-icon.png -[Xcode project]: http://www.vtourraine.net/blog/img/xcode-4-workspaces/project-navigator.png -[Link binaries]: http://www.vtourraine.net/blog/img/xcode-4-workspaces/link-binaries.png -[Create project]: http://www.vtourraine.net/blog/img/xcode-4-workspaces/create-project-git.jpg -[Scheme]: http://www.vtourraine.net/blog/img/xcode-4-workspaces/scheme.jpg +[Icone Xcode]: /blog/img/xcode-4-workspaces/xcode-icon.png +[Xcode project]: /blog/img/xcode-4-workspaces/project-navigator.png +[Link binaries]: /blog/img/xcode-4-workspaces/link-binaries.png +[Create project]: /blog/img/xcode-4-workspaces/create-project-git.jpg +[Scheme]: /blog/img/xcode-4-workspaces/scheme.jpg diff --git a/articles/2013/app-contacts-sync-url-schemes.md b/articles/2013/app-contacts-sync-url-schemes.md index b1ae673..1395af2 100644 --- a/articles/2013/app-contacts-sync-url-schemes.md +++ b/articles/2013/app-contacts-sync-url-schemes.md @@ -5,7 +5,7 @@ Date: May 17, 2013 Update: Keywords: iOS, making-of, sync, Contacts, iPhone Summary: Inscrire un projet dans la durée, c’est bien. On aimerait pouvoir rester en état de refactoring permanent, construisant ligne après ligne le soft parfait. Seulement voilà, parfois, la meilleure solution est de tout supprimer, et de repartir de zéro. -Image: http://www.vtourraine.net/blog/img/app-contacts-sync-url-schemes/contacts-coffee.jpg +Image: https://www.vtourraine.net/blog/img/app-contacts-sync-url-schemes/contacts-coffee.jpg Language: fr Project: Contacts @@ -61,8 +61,8 @@ Voilà pour les points les plus importants. Pour le reste, je vous laisse [déco [PlaceIt](http://placeit.breezi.com/) -[Contacts Wood]: http://www.vtourraine.net/blog/img/app-contacts-sync-url-schemes/contacts-wood.png -[Contacts Coffee]: http://www.vtourraine.net/blog/img/app-contacts-sync-url-schemes/contacts-coffee.jpg +[Contacts Wood]: /blog/img/app-contacts-sync-url-schemes/contacts-wood.png +[Contacts Coffee]: /blog/img/app-contacts-sync-url-schemes/contacts-coffee.jpg [Contacts]: http://www.studioamanga.com/contacts [Tweet icone]: https://twitter.com/StudioAMANgA/status/130426884843507713 diff --git a/articles/2013/ios-7-background-fetching.md b/articles/2013/ios-7-background-fetching.md index 9db74b6..7ef438c 100644 --- a/articles/2013/ios-7-background-fetching.md +++ b/articles/2013/ios-7-background-fetching.md @@ -5,7 +5,7 @@ Date: October 11, 2013 Update: Keywords: iOS, Xcode, Objective-C Summary: Entre iOS et les applications qui veulent travailler en tâche de fond, c’est compliqué. Le système a de bonnes raisons pour économiser les cycles de son processeur, tandis que les développeurs en veulent toujours plus. Bonne nouvelle, tout change avec iOS 7, le “background fetching” est maintenant ouvert à tous. -Image: http://www.vtourraine.net/blog/img/ios-7-background-fetching/xcodeproj-back-fetch.png +Image: https://www.vtourraine.net/blog/img/ios-7-background-fetching/xcodeproj-back-fetch.png Language: fr Project: @@ -117,8 +117,8 @@ Enlevez les textures et ajouter le background fetching : voilà une vraie applic - UIApplicationDelegate Protocol Reference -[Edit Project]: http://www.vtourraine.net/blog/img/ios-7-background-fetching/xcodeproj-back-fetch-annotated.png -[Fetch Settings]: http://www.vtourraine.net/blog/img/ios-7-background-fetching/back-fetch-settings-scaled.png -[Edit Scheme]: http://www.vtourraine.net/blog/img/ios-7-background-fetching/xcodeproj-back-fetch-scheme-annotated.png +[Edit Project]: /blog/img/ios-7-background-fetching/xcodeproj-back-fetch-annotated.png +[Fetch Settings]: /blog/img/ios-7-background-fetching/back-fetch-settings-scaled.png +[Edit Scheme]: /blog/img/ios-7-background-fetching/xcodeproj-back-fetch-scheme-annotated.png [AFNetworking]: https://github.com/AFNetworking/AFNetworking diff --git a/articles/2013/ios-cocoa-custom-style.md b/articles/2013/ios-cocoa-custom-style.md index 50329d3..b320f3f 100644 --- a/articles/2013/ios-cocoa-custom-style.md +++ b/articles/2013/ios-cocoa-custom-style.md @@ -5,7 +5,7 @@ Date: March 08, 2013 Update: Keywords: iOS, UIKit, Cocoa, style Summary: UIKit est votre ami. Si vous connaissez le développement iOS, vous maîtrisez déjà la plupart des éléments graphiques proposés par UIKit. Cette palette vous permet de construire rapidement une interface, à l’aide d’éléments standards, prêts à l’emploi. Comment faire alors pour personnaliser cette interface, pour rendre votre application unique et reconnaissable ? -Image: http://www.vtourraine.net/blog/img/ios-cocoa-custom-style/drawrect.png +Image: https://www.vtourraine.net/blog/img/ios-cocoa-custom-style/drawrect.png Language: fr Project: @@ -155,8 +155,8 @@ J’espère que ces quelques pistes vous aideront à personnaliser vos apps de f On peut passer des heures à mettre péniblement en place une interface, ou connaître la méthode magique qui permet de faire la même chose en une simple ligne de code. Comme souvent, la documentation officielle est votre amie. Et n’oubliez pas que la seule chose pire qu’une interface non customisée, c’est une interface mal customisée. -[UIBarButtonItems]: http://www.vtourraine.net/blog/img/ios-cocoa-custom-style/appearance-barbuttonitem.png -[CALayer]: http://www.vtourraine.net/blog/img/ios-cocoa-custom-style/calayer.png -[Resizable]: http://www.vtourraine.net/blog/img/ios-cocoa-custom-style/resizable.png -[Pattern]: http://www.vtourraine.net/blog/img/ios-cocoa-custom-style/pattern.png -[DrawRect]: http://www.vtourraine.net/blog/img/ios-cocoa-custom-style/drawrect.png +[UIBarButtonItems]: /blog/img/ios-cocoa-custom-style/appearance-barbuttonitem.png +[CALayer]: /blog/img/ios-cocoa-custom-style/calayer.png +[Resizable]: /blog/img/ios-cocoa-custom-style/resizable.png +[Pattern]: /blog/img/ios-cocoa-custom-style/pattern.png +[DrawRect]: /blog/img/ios-cocoa-custom-style/drawrect.png diff --git a/articles/2013/osx-ios-tests-unitaires-travis.md b/articles/2013/osx-ios-tests-unitaires-travis.md index 32ab7af..4d4a8c1 100644 --- a/articles/2013/osx-ios-tests-unitaires-travis.md +++ b/articles/2013/osx-ios-tests-unitaires-travis.md @@ -5,7 +5,7 @@ Date: May 06, 2013 Update: Keywords: OS X, iOS, Objective-C, TDD, Travis Summary: Il faut savoir regarder la vérité en face : les projets OS X et surtout iOS incluant des tests unitaires sont plutôt rares. Les contraintes techniques entourant les plateformes d’Apple compliquent leur intégration, et donc leur mise en œuvre. Mais rassurez-vous, les choses s’améliorent. -Image: http://www.vtourraine.net/blog/img/osx-ios-tests-unitaires-travis/travis.png +Image: https://www.vtourraine.net/blog/img/osx-ios-tests-unitaires-travis/travis.png Language: fr Project: @@ -51,4 +51,4 @@ Ce genre de mécanisme n’étant pas supporté par Apple, il demande un certain Dans la mesure du possible, je préfère donc restreindre les tests unitaires pour un projet iOS au modèle et à une partie des contrôleurs (cf. MVC) pouvant être inclus et exécutés depuis une application OS X. Concrètement, ne pas tester l’interface, et se concentrer sur la fameuse “logique métier”. Il est difficile de tester efficacement les vues d’une application, et encore plus un contexte d’exécution et d’enchainement de ces vues. Il me semble donc plus judicieux et plus efficace dans la plupart des cas d’utiliser un second projet de type OS X, testant le code utilisé pour l’application iOS. Dans ces conditions, les outils standards d’Apple fonctionnent parfaitement. À vous de choisir entre une (supposée) couverture à 100%, et la stabilité d’exécution des tests. Non, les tests ne sont pas une finalité, mais oui, ils peuvent vous faire gagner du temps. -[TravisCI]: http://www.vtourraine.net/blog/img/osx-ios-tests-unitaires-travis/travis.png +[TravisCI]: /blog/img/osx-ios-tests-unitaires-travis/travis.png diff --git a/articles/2013/rappels-todo-gtd.md b/articles/2013/rappels-todo-gtd.md index b79aad5..3a0594e 100644 --- a/articles/2013/rappels-todo-gtd.md +++ b/articles/2013/rappels-todo-gtd.md @@ -5,7 +5,7 @@ Date: July 05, 2013 Update: Keywords: rappels, todo, GTD, app Summary: S’il y a bien une chose que j’envie aux ordinateurs, c’est leur mémoire. Il m’arrive constamment d’oublier des choses, même les plus élémentaires. Pour palier à cette fâcheuse tendance, j’utilise donc une application de rappels. Ou plutôt deux applications. Sans compter la dizaine d’autres que je garde installées, au cas où. C’est grave, docteur ? -Image: http://www.vtourraine.net/blog/img/rappels-todo-gtd/things.jpg +Image: https://www.vtourraine.net/blog/img/rappels-todo-gtd/things.jpg Language: fr Project: 1List @@ -53,7 +53,7 @@ Dans une certaine mesure, GitHub est l’outil par excellence de travail collabo Mais je m’égare. Une chose est sûre, ce ne sont pas les outils qui manquent. Voilà, mon cerveau peut se reposer tranquillement, tous mes rappels sont gérés et organisés comme il convient. Et pendant ce temps-là, j’attends toujours les implants cérébraux permettant d’améliorer ma mémoire. -[Things]: http://www.vtourraine.net/blog/img/rappels-todo-gtd/things.jpg -[1List]: http://www.vtourraine.net/blog/img/rappels-todo-gtd/onelist.png -[Kickoff]: http://www.vtourraine.net/blog/img/rappels-todo-gtd/kickoff.png -[Issues]: http://www.vtourraine.net/blog/img/rappels-todo-gtd/github.jpg +[Things]: /blog/img/rappels-todo-gtd/things.jpg +[1List]: /blog/img/rappels-todo-gtd/onelist.png +[Kickoff]: /blog/img/rappels-todo-gtd/kickoff.png +[Issues]: /blog/img/rappels-todo-gtd/github.jpg diff --git a/articles/2014/blog-nouvelle-version-cms.md b/articles/2014/blog-nouvelle-version-cms.md index f74493d..fb486ca 100644 --- a/articles/2014/blog-nouvelle-version-cms.md +++ b/articles/2014/blog-nouvelle-version-cms.md @@ -5,7 +5,7 @@ Date: December 13, 2014 Update: Keywords: blog, cms Summary: Ce n’est pas le printemps, mais ce blog vient de faire peau neuve. Je ne parle pas d’un petit sélecteur CSS légèrement modifié, non, c’est un reboot complet de l’interface et du moteur. Et ce ne serait pas vraiment un blog si je n’en profitais pas pour décrire ces changements sous la forme d’un billet. Dont acte. -Image: http://www.vtourraine.net/blog/img/2014/blog-nouvelle-version-cms/article-new.png +Image: https://www.vtourraine.net/blog/img/2014/blog-nouvelle-version-cms/article-new.png Language: fr Project: @@ -85,10 +85,10 @@ Avec cette transition, le blog a perdu quelques fonctionnalités, mais il a auss WordPress peut continuer à dormir tranquille, ce modeste CMS a pour seule ambition de satisfaire mes propres besoins. Voilà qui devrait suffire au moins pour les 3 prochaines années. -[Home old]: http://www.vtourraine.net/blog/img/2014/blog-nouvelle-version-cms/home-old.png -[Home new]: http://www.vtourraine.net/blog/img/2014/blog-nouvelle-version-cms/home-new.png -[Article old]: http://www.vtourraine.net/blog/img/2014/blog-nouvelle-version-cms/article-old.png -[Article new]: http://www.vtourraine.net/blog/img/2014/blog-nouvelle-version-cms/article-new.png +[Home old]: /blog/img/2014/blog-nouvelle-version-cms/home-old.png +[Home new]: /blog/img/2014/blog-nouvelle-version-cms/home-new.png +[Article old]: /blog/img/2014/blog-nouvelle-version-cms/article-old.png +[Article new]: /blog/img/2014/blog-nouvelle-version-cms/article-new.png [GitHub]: https://github.com/vtourraine/blog [nanoc]: http://nanoc.ws @@ -98,5 +98,5 @@ WordPress peut continuer à dormir tranquille, ce modeste CMS a pour seule ambit [Haml]: http://haml.info [Sass]: http://sass-lang.com [Daring Fireball]: http://daringfireball.net/linked/2014/12/11/overcast-reviews.text -[Source MD]: http://www.vtourraine.net/blog/2014/ios-boutons-couleurs.md +[Source MD]: /blog/2014/ios-boutons-couleurs.md [Highlight.js]: https://highlightjs.org diff --git a/articles/2014/bonsai-developpement-code.md b/articles/2014/bonsai-developpement-code.md index d4e7e46..258d944 100644 --- a/articles/2014/bonsai-developpement-code.md +++ b/articles/2014/bonsai-developpement-code.md @@ -5,7 +5,7 @@ Date: March 28, 2014 Update: Keywords: gestion de projets, projet Summary: Tout le monde adore les métaphores, n’est-ce-pas ? Un ordinateur c’est comme une voiture. Ou un camion. Aujourd’hui j’ai l’impression que coder, c’est un peu comme entretenir un bonsai. Certains le considèrent comme du jardinage, d’autres comme un art. Et parfois, on peut ressentir une envie incontrôlable de tout brûler. -Image: http://www.vtourraine.net/blog/img/bonsai-developpement-code/cotoneaster.jpg +Image: https://www.vtourraine.net/blog/img/bonsai-developpement-code/cotoneaster.jpg Language: fr Project: WizBox @@ -37,7 +37,7 @@ Le plus difficile est de choisir d’enlever quelque chose sans chercher à le r [“Cotoneaster” by Mike](https://www.flickr.com/photos/openeye/5428831/), © Attribution-ShareAlike License -[Cotoneaster]: http://www.vtourraine.net/blog/img/bonsai-developpement-code/cotoneaster.jpg +[Cotoneaster]: /blog/img/bonsai-developpement-code/cotoneaster.jpg [ParisLemon]: http://parislemon.com/post/74043316441/where-is-this-geotagged-place-wonders-instagram [Wiki ReverseGeocoding]: http://en.wikipedia.org/wiki/Reverse_geocoding [WizBox]: http://www.studioamanga.com/wizbox/ diff --git a/articles/2014/ios-boutons-couleurs.md b/articles/2014/ios-boutons-couleurs.md index bacc773..92c9116 100644 --- a/articles/2014/ios-boutons-couleurs.md +++ b/articles/2014/ios-boutons-couleurs.md @@ -5,8 +5,8 @@ Date: November 23, 2014 Update: Keywords: iOS, UI, UIKit, WatchKit Summary: Une bonne année est passée depuis le grand chamboulement nommé iOS 7. Il m’aura bien fallu plusieurs mois avant d’appréhender confortablement ce nouveau langage visuel, et adapter mes applications. Cette année avec iOS 8 c’est le retour au calme, avec une mise-à-jour en douceur de l’interface. Seulement voilà, l’Apple Watch pointe à l’horizon, et les grands débats reprennent. Un point me chagrine en particulier : les boutons et leurs couleurs. -Image: http://www.vtourraine.net/blog/img/ios-boutons-couleurs/watchkit-buttons.png -Thumbnail: http://www.vtourraine.net/blog/img/ios-boutons-couleurs/thumbnail-watchkit-buttons.jpg +Image: https://www.vtourraine.net/blog/img/ios-boutons-couleurs/watchkit-buttons.png +Thumbnail: https://www.vtourraine.net/blog/img/ios-boutons-couleurs/thumbnail-watchkit-buttons.jpg Language: fr Project: @@ -54,12 +54,12 @@ La montre doit _« faire tomber les barrières entre le matériel et le logicie Tout ça est un peu perturbant. Les directives et les styles par défaut proposés par Apple existent pour définir un socle commun sur lequel les développeurs peuvent s’appuyer pour s’assurer que les utilisateurs sauront s’approprier facilement n’importe quel logiciel. On retrouve les mêmes allers-retours pour la conception des sites web, avec les nombreuses évolutions du classique lien bleu souligné. -J’attends maintenant avec impatience la prochaine WWDC, pour voir comment le couple OS X/iOS s’accommodera du nouveau membre de la famille. +J’attends maintenant avec impatience la prochaine WWDC, pour voir comment le couple OS X/iOS s’accommodera du nouveau membre de la famille. -[iOS Calendar]: http://www.vtourraine.net/blog/img/ios-boutons-couleurs/ios-calendar.png -[iOS Maps]: http://www.vtourraine.net/blog/img/ios-boutons-couleurs/ios-maps.png -[WatchKit]: http://www.vtourraine.net/blog/img/ios-boutons-couleurs/watchkit-buttons.png +[iOS Calendar]: /blog/img/ios-boutons-couleurs/ios-calendar.png +[iOS Maps]: /blog/img/ios-boutons-couleurs/ios-maps.png +[WatchKit]: /blog/img/ios-boutons-couleurs/watchkit-buttons.png [Mrgan]: http://mrgan.tumblr.com/post/50108095253/let-a-button-be-a-button [WatchHIG]: https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/WatchHumanInterfaceGuidelines/ColorandTypography.html#//apple_ref/doc/uid/TP40014992-CH9-SW1 diff --git a/articles/2014/mixit-futur-interfaces-science-fiction.md b/articles/2014/mixit-futur-interfaces-science-fiction.md index 2d90208..4106097 100644 --- a/articles/2014/mixit-futur-interfaces-science-fiction.md +++ b/articles/2014/mixit-futur-interfaces-science-fiction.md @@ -5,7 +5,7 @@ Date: May 17, 2014 Update: October 25, 2014 Keywords: UI, Sci-Fi Summary: Comment prendre au sérieux les interfaces qu’on peut voir dans les films de science-fiction ? L’imagination des auteurs ne s’embarrasse pas des mêmes considérations pratiques qui guident tous les jours notre travail de développeurs et concepteurs. C’est souvent avec émerveillement, amusement, et une certaine méprise, que nous contemplons les délires de la science-fiction pour tout ce qui ressemble de proche ou de loin à un ordinateur. -Image: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/2001.jpg +Image: https://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/2001.jpg Language: fr Project: @@ -139,16 +139,16 @@ Un auteur (dont j’ai oublié le nom) s’est vu demandé dans une interview r > _Mise à jour 25 octobre 2014 : la vidéo de ma session à Mix-IT est maintenant disponible sur InfoQ : [Looking at the future of User Interfaces in Sci-Fi][InfoQ]._ -[Alien]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Alien.jpg -[Jurassic Park]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Jurassic%20Park.jpg -[Minority Report]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Minority%20Report.gif -[2001]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/2001.jpg -[Dick Tracy]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Dick%20Tracy.jpg -[Johnny Mnemonic]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Johnny%20Mnemonic.jpg -[Deep Space 9]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Deep%20Space%209.jpg -[Her]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Her.jpg -[BttF2]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Back%20to%20the%20Future.gif -[Akira]: http://www.vtourraine.net/blog/img/mixit-futur-interfaces-science-fiction/Akira.gif +[Alien]: /blog/img/mixit-futur-interfaces-science-fiction/Alien.jpg +[Jurassic Park]: /blog/img/mixit-futur-interfaces-science-fiction/Jurassic%20Park.jpg +[Minority Report]: /blog/img/mixit-futur-interfaces-science-fiction/Minority%20Report.gif +[2001]: /blog/img/mixit-futur-interfaces-science-fiction/2001.jpg +[Dick Tracy]: /blog/img/mixit-futur-interfaces-science-fiction/Dick%20Tracy.jpg +[Johnny Mnemonic]: /blog/img/mixit-futur-interfaces-science-fiction/Johnny%20Mnemonic.jpg +[Deep Space 9]: /blog/img/mixit-futur-interfaces-science-fiction/Deep%20Space%209.jpg +[Her]: /blog/img/mixit-futur-interfaces-science-fiction/Her.jpg +[BttF2]: /blog/img/mixit-futur-interfaces-science-fiction/Back%20to%20the%20Future.gif +[Akira]: /blog/img/mixit-futur-interfaces-science-fiction/Akira.gif [MixIT]: http://www.mix-it.fr/session/378/looking-at-the-future-of-user-interfaces-in-sci-fi [Find My Friends]: http://en.wikipedia.org/wiki/File:Find-my-Friends_iPad.jpg diff --git a/articles/2014/podcasts-tech-apple-news.md b/articles/2014/podcasts-tech-apple-news.md index 56b0178..459e54d 100644 --- a/articles/2014/podcasts-tech-apple-news.md +++ b/articles/2014/podcasts-tech-apple-news.md @@ -74,10 +74,10 @@ Voilà pour les podcasts que j’écoute en priorité. À côté de ça, [ma bib Une chose est sûre : on ne manque pas d’émissions intéressantes, alors n’hésitez pas à partager dans les commentaires vos podcasts préférés. -[Artwork Vergecast]: http://www.vtourraine.net/blog/img/podcasts-tech-apple-news/artwork-vergecast.jpg -[Artwork The Talk Show]: http://www.vtourraine.net/blog/img/podcasts-tech-apple-news/artwork-tts.jpg -[Artwork ATP]: http://www.vtourraine.net/blog/img/podcasts-tech-apple-news/artwork-atp.jpg -[Artwork Developing P]: http://www.vtourraine.net/blog/img/podcasts-tech-apple-news/artwork-dp.jpg +[Artwork Vergecast]: /blog/img/podcasts-tech-apple-news/artwork-vergecast.jpg +[Artwork The Talk Show]: /blog/img/podcasts-tech-apple-news/artwork-tts.jpg +[Artwork ATP]: /blog/img/podcasts-tech-apple-news/artwork-atp.jpg +[Artwork Developing P]: /blog/img/podcasts-tech-apple-news/artwork-dp.jpg [The Verge]: http://www.theverge.com [Vergecast Hiatus]: http://www.theverge.com/2014/3/20/5530924/the-vergecast-is-going-on-hiatus-sound-off diff --git a/articles/2014/selection-magazines.md b/articles/2014/selection-magazines.md index bd33e19..147a308 100644 --- a/articles/2014/selection-magazines.md +++ b/articles/2014/selection-magazines.md @@ -5,8 +5,8 @@ Date: November 11, 2014 Update: Keywords: magazines, news Summary: Heureusement que je ne compte pas le nombre de tweets qui me passent devant les yeux chaque jour, ou le nombre de pages web qui défilent sur mon écran. Mes écrans. Parfois plusieurs en même temps. Dans ce contexte, et en pleine déclin de l’information sur papier, lire un magazine me semble une occupation… intéressante. En contre-temps assumé des flux continus, mais toujours tenté par la transformation inexorable vers le numérique. Tout ça pour parler un peu de quelques magazines que j’apprécie, et sur leurs différentes approches du problème de la presse en 2014. -Image: http://www.vtourraine.net/blog/img/selection-magazines/offscreen-spread.jpg -Thumbnail: http://www.vtourraine.net/blog/img/selection-magazines/thumbnail-offscreen-spread.jpg +Image: https://www.vtourraine.net/blog/img/selection-magazines/offscreen-spread.jpg +Thumbnail: https://www.vtourraine.net/blog/img/selection-magazines/thumbnail-offscreen-spread.jpg Language: fr Project: @@ -76,14 +76,14 @@ Les éditeurs continuent à imprimer des magazines (et des journaux et des livre À terme, il me paraît évident que le numérique s’imposera comme le moyen principal de distribution, et que le papier deviendra l’exception. J’espère donc qu’Offscreen sera toujours là pour illustrer cette formidable ironie. -[Cover Humanoide]: http://www.vtourraine.net/blog/img/selection-magazines/humanoide-cover.jpg -[Cover Wired]: http://www.vtourraine.net/blog/img/selection-magazines/wired-cover.jpg -[Cover Offscreen]: http://www.vtourraine.net/blog/img/selection-magazines/offscreen-cover.jpg -[Spread Offscreen]: http://www.vtourraine.net/blog/img/selection-magazines/offscreen-spread.jpg -[Kai Brach]: http://www.vtourraine.net/blog/img/selection-magazines/kai-brach-offscreen-2014.jpg +[Cover Humanoide]: /blog/img/selection-magazines/humanoide-cover.jpg +[Cover Wired]: /blog/img/selection-magazines/wired-cover.jpg +[Cover Offscreen]: /blog/img/selection-magazines/offscreen-cover.jpg +[Spread Offscreen]: /blog/img/selection-magazines/offscreen-spread.jpg +[Kai Brach]: /blog/img/selection-magazines/kai-brach-offscreen-2014.jpg [Le Figaro Humanoide]: http://www.lefigaro.fr/secteur/high-tech/2014/06/20/01007-20140620ARTFIG00186--humanoide-le-magazine-qui-veut-depoussierer-la-presse-high-tech.php [Download Humanoide]: http://www.humanoidemagazine.com/le-n1-dhumanoide-est-gratuit-en-version-numerique/ [Offscreen Blog]: http://blog.offscreenmag.com/post/62076260574/talking-dollars -[Blog The Magazine]: http://www.vtourraine.net/blog/2012/the-magazine-newsstand +[Blog The Magazine]: /blog/2012/the-magazine-newsstand [The Magazine Book]: http://glog.glennf.com/blog/2014/10/8/the-magazine-is-making-a-book-again-and-shutting-down-what diff --git a/articles/2014/structure-code-objective-c.md b/articles/2014/structure-code-objective-c.md index 5ea0015..b9933b0 100644 --- a/articles/2014/structure-code-objective-c.md +++ b/articles/2014/structure-code-objective-c.md @@ -90,5 +90,5 @@ Autant de pistes différentes et souvent complémentaires pour structurer un cod Évidemment, ce ne sont que mes modestes recommandations. Si vous avez d’autres suggestions, ou mieux, si vous avez des contre-arguments concernant les points évoqués, les commentaires sont là pour ça. -[Xcode navigation]: http://www.vtourraine.net/blog/img/structure-code-objective-c/xcode-navigation.png +[Xcode navigation]: /blog/img/structure-code-objective-c/xcode-navigation.png [LLVM Pragmas]: http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas diff --git a/articles/2015/1list-rappels-apple-watch.md b/articles/2015/1list-rappels-apple-watch.md index ec7c280..855bbe4 100644 --- a/articles/2015/1list-rappels-apple-watch.md +++ b/articles/2015/1list-rappels-apple-watch.md @@ -5,7 +5,7 @@ Date: May 17, 2015 Update: Keywords: Apple Watch, WatchKit, dev Summary: Parmi les premières apps Apple Watch disponibles, on trouve de nombreux gestionnaires de rappels. Clear, Wunderlist, Things, tous ont répondu à l’appel de WatchKit. Tous ? Non ! Une application fait clairement défaut : Reminders, a.k.a. Rappels, l’application d’Apple. Vous pouvez demander à Siri de créer un nouveau rappel depuis votre montre, mais vous ne pouvez pas les consulter. -Image: http://www.vtourraine.net/blog/img/2015/1list-rappels-apple-watch/1list-apple-watch.png +Image: https://www.vtourraine.net/blog/img/2015/1list-rappels-apple-watch/1list-apple-watch.png Language: fr Parmi les premières apps Apple Watch disponibles, on trouve de nombreux gestionnaires de rappels. Clear, Wunderlist, Things, tous ont répondu à l’appel de WatchKit. @@ -58,5 +58,5 @@ Les chiffres de fréquentation de la page App Store sont vraiment intéressants, C’est un peu ça, la vie de développeur indépendant. Pas mal d’incertitudes, des lancements plus ou moins improvisés, des chiffres parfois encourageants (mais globalement insignifiants), et surtout l’écriture d’un billet de blog pour boucler le tout. -[1List Apple Watch]: http://www.vtourraine.net/blog/img/2015/1list-rappels-apple-watch/1list-apple-watch.png -[1List Analytics]: http://www.vtourraine.net/blog/img/2015/1list-rappels-apple-watch/1list-analytics.png \ No newline at end of file +[1List Apple Watch]: /blog/img/2015/1list-rappels-apple-watch/1list-apple-watch.png +[1List Analytics]: /blog/img/2015/1list-rappels-apple-watch/1list-analytics.png \ No newline at end of file diff --git a/articles/2015/2014-bilan.md b/articles/2015/2014-bilan.md index c16d4d8..ca69574 100644 --- a/articles/2015/2014-bilan.md +++ b/articles/2015/2014-bilan.md @@ -46,4 +46,4 @@ _Très bonne année 2015 à toutes et à tous._ [VTAck]: https://github.com/vtourraine/VTAcknowledgementsViewController [CocoaPods]: http://www.cocoapods.org [dotSwift]: http://www.dotswift.io -[bilan 2013]: http://www.vtourraine.net/blog/2014/2013-bilan +[bilan 2013]: /blog/2014/2013-bilan diff --git a/articles/2015/app-mixit.md b/articles/2015/app-mixit.md index 97ba682..d616152 100644 --- a/articles/2015/app-mixit.md +++ b/articles/2015/app-mixit.md @@ -5,7 +5,7 @@ Date: April 4, 2015 Update: April 19, 2015 Keywords: Mix-IT, iOS, dev Summary: Mix-IT, c’est un peu la WWDC lyonnaise. L’année dernière, la conférence avait vendu tous les billets en 48 heures ; cette année il aura suffit de 3 heures. -Image: http://www.vtourraine.net/blog/img/2015/app-mixit/iphone-views.jpg +Image: https://www.vtourraine.net/blog/img/2015/app-mixit/iphone-views.jpg Language: fr @@ -43,6 +43,6 @@ Si vous avez des suggestions et que vous êtes très rapides, on peut encore esp > ![Nombres de téléchargements de l’application][downloads] -[iPhone views]: http://www.vtourraine.net/blog/img/2015/app-mixit/iphone-views.jpg -[iPhone 3D map]: http://www.vtourraine.net/blog/img/2015/app-mixit/maps-3d.png -[downloads]: http://www.vtourraine.net/blog/img/2015/app-mixit/downloads.jpg \ No newline at end of file +[iPhone views]: /blog/img/2015/app-mixit/iphone-views.jpg +[iPhone 3D map]: /blog/img/2015/app-mixit/maps-3d.png +[downloads]: /blog/img/2015/app-mixit/downloads.jpg diff --git a/articles/2015/apple-music-spotify-streaming.md b/articles/2015/apple-music-spotify-streaming.md index 11cf5c3..222e19b 100644 --- a/articles/2015/apple-music-spotify-streaming.md +++ b/articles/2015/apple-music-spotify-streaming.md @@ -5,7 +5,7 @@ Date: July 11, 2015 Update: Keywords: Apple Music, Spotify, musique Summary: La semaine dernière, Apple a largement revu son offre musicale. L’iPod et son Digital Hub continuent de s’éclipser (au revoir MP3), pour laisser place à des appareils connectés qui diffusent de la musique à la demande (bonjour streaming). Voici donc Apple Music. Compte-tenu du succès prolongé de l’iTunes Store, on peut comprendre qu’Apple prenne son temps pour pivoter, au risque d’en faire trop peu, trop tard. -Image: http://www.vtourraine.net/blog/img/2015/apple-music-spotify-streaming/beats-1-instagram.jpg +Image: https://www.vtourraine.net/blog/img/2015/apple-music-spotify-streaming/beats-1-instagram.jpg Language: fr La semaine dernière, Apple a largement revu son offre musicale. L’iPod et son Digital Hub continuent de s’éclipser (au revoir MP3), pour laisser place à des appareils connectés qui diffusent de la musique à la demande (bonjour streaming). @@ -17,7 +17,7 @@ Voici donc [Apple Music](http:/www.apple.com/music). Compte-tenu du succès prol ## Spotify -J’écoute principalement ma musique avec [Spotify](http://www.vtourraine.net/blog/2012/musique-spotify-premiers-pas) depuis trois ans. L’entreprise suédoise (fait assez rare pour être mentionné) maîtrise remarquablement sa plateforme de streaming, et cherche maintenant à se [diversifier](https://news.spotify.com/us/2015/05/20/say-hello-to-the-most-entertaining-spotify-ever/) : musique de running, podcast, et même vidéo. +J’écoute principalement ma musique avec [Spotify](/blog/2012/musique-spotify-premiers-pas) depuis trois ans. L’entreprise suédoise (fait assez rare pour être mentionné) maîtrise remarquablement sa plateforme de streaming, et cherche maintenant à se [diversifier](https://news.spotify.com/us/2015/05/20/say-hello-to-the-most-entertaining-spotify-ever/) : musique de running, podcast, et même vidéo. On retrouve un peu la trajectoire d’iTunes, qui s’est étoffé progressivement, à l’excès, au point de se trouver régulièrement qualifié d’« usine à gaz » (non, pour le #cloud ça n’aide pas) et constamment critiqué pour son interface confuse. Spotify est allé jusqu’à proposer ces dernières années des _apps_, qui permettaient d’enrichir le concept de playlist. Je les trouvaient intéressantes, mais elles ont maintenant disparu. Officiellement car elles s’adaptaient mal au mobile, et probablement par manque d’engagement de la part des utilisateurs comme des éditeurs de ces apps. Encore une fois, la comparaison avec iTunes — qui lui contient toujours l’App Store sur le Mac — ne manque pas d’ironie. @@ -89,6 +89,6 @@ Par ailleurs, la radio Beats 1 est disponible gratuitement pour tous les utilisa On n’a pas encore trouvé la solution ultime pour écouter de la musique, mais on y travaille. -[Apple Music]: http://www.vtourraine.net/blog/img/2015/apple-music-spotify-streaming/apple-music.jpg -[Beats 1]: http://www.vtourraine.net/blog/img/2015/apple-music-spotify-streaming/beats-1-instagram.jpg -[Spotify]: http://www.vtourraine.net/blog/img/2015/apple-music-spotify-streaming/spotify-apps.jpg +[Apple Music]: /blog/img/2015/apple-music-spotify-streaming/apple-music.jpg +[Beats 1]: /blog/img/2015/apple-music-spotify-streaming/beats-1-instagram.jpg +[Spotify]: /blog/img/2015/apple-music-spotify-streaming/spotify-apps.jpg diff --git a/articles/2015/critique-gibson-pattern-recognition.md b/articles/2015/critique-gibson-pattern-recognition.md index ee0a968..84adf8d 100644 --- a/articles/2015/critique-gibson-pattern-recognition.md +++ b/articles/2015/critique-gibson-pattern-recognition.md @@ -6,8 +6,8 @@ Update: February 21, 2015 September 3, 2015 Keywords: critique, livre, William Gibson Summary: Cette année, j’ai envie d’essayer des choses un peu différentes avec ce blog, alors pourquoi pas une critique de livre ? -Image: http://www.vtourraine.net/blog/img/critique-gibson-pattern-recognition/pattern-recognition.jpg -Thumbnail: http://www.vtourraine.net/blog/img/critique-gibson-pattern-recognition/thumbnail-pattern-recognition.jpg +Image: https://www.vtourraine.net/blog/img/critique-gibson-pattern-recognition/pattern-recognition.jpg +Thumbnail: https://www.vtourraine.net/blog/img/critique-gibson-pattern-recognition/thumbnail-pattern-recognition.jpg Language: fr @@ -53,9 +53,9 @@ Pour un roman de début de XXIème siècle, je trouve que c’est réussi. ### Trilogie _Blue Ant_, billets de blog 1. _Pattern Recognition_ -2. [_Spook Country_](http://www.vtourraine.net/blog/2015/critique-gibson-spook-country) -3. [_Zero History_](http://www.vtourraine.net/blog/2015/critique-gibson-zero-history) +2. [_Spook Country_](/blog/2015/critique-gibson-spook-country) +3. [_Zero History_](/blog/2015/critique-gibson-zero-history) -[Cover]: http://www.vtourraine.net/blog/img/critique-gibson-pattern-recognition/pattern-recognition.jpg -[Gibson]: http://www.vtourraine.net/blog/img/critique-gibson-pattern-recognition/william-gibson-by-david-alliet.jpg +[Cover]: /blog/img/critique-gibson-pattern-recognition/pattern-recognition.jpg +[Gibson]: /blog/img/critique-gibson-pattern-recognition/william-gibson-by-david-alliet.jpg diff --git a/articles/2015/critique-gibson-spook-country.md b/articles/2015/critique-gibson-spook-country.md index d35f404..b09d8e6 100644 --- a/articles/2015/critique-gibson-spook-country.md +++ b/articles/2015/critique-gibson-spook-country.md @@ -5,8 +5,8 @@ Date: February 21, 2015 Update: September 3, 2015 Keywords: critique, livre, William Gibson Summary: Après mon billet du mois dernier consacré à « Pattern Recognition », voici la suite ; car comme toutes les bonnes choses, cette histoire constitue en fait une trilogie. « Spook Country » revient donc avec certains personnages du livre précédent, mais il ne s’agit pas d’un prolongement direct du récit -Image: http://www.vtourraine.net/blog/img/2015/critique-gibson-spook-country/spook-country.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/critique-gibson-spook-country/thumbnail-spook-country.jpg +Image: https://www.vtourraine.net/blog/img/2015/critique-gibson-spook-country/spook-country.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/critique-gibson-spook-country/thumbnail-spook-country.jpg Language: fr ![_Spook Country_, photo Vincent Tourraine, CC BY-NC 4.0][Cover] @@ -48,12 +48,12 @@ Encore en 2015, entre les Google Glass et les Microsoft HoloLens, le monde rattr ### Trilogie _Blue Ant_, billets de blog -1. [_Pattern Recognition_](http://www.vtourraine.net/blog/2015/critique-gibson-pattern-recognition) +1. [_Pattern Recognition_](/blog/2015/critique-gibson-pattern-recognition) 2. _Spook Country_ -3. [_Zero History_](http://www.vtourraine.net/blog/2015/critique-gibson-zero-history) +3. [_Zero History_](/blog/2015/critique-gibson-zero-history) -[Cover]: http://www.vtourraine.net/blog/img/2015/critique-gibson-spook-country/spook-country.jpg -[Gibson]: http://www.vtourraine.net/blog/img/2015/critique-gibson-spook-country/william-gibson-by-pmonaghan.jpg +[Cover]: /blog/img/2015/critique-gibson-spook-country/spook-country.jpg +[Gibson]: /blog/img/2015/critique-gibson-spook-country/william-gibson-by-pmonaghan.jpg -[Pattern Recognition]: http://www.vtourraine.net/blog/2015/critique-gibson-pattern-recognition \ No newline at end of file +[Pattern Recognition]: /blog/2015/critique-gibson-pattern-recognition diff --git a/articles/2015/critique-gibson-zero-history.md b/articles/2015/critique-gibson-zero-history.md index 30d6faf..70311ff 100644 --- a/articles/2015/critique-gibson-zero-history.md +++ b/articles/2015/critique-gibson-zero-history.md @@ -5,8 +5,8 @@ Date: April 11, 2015 Update: September 3, 2015 Keywords: critique, livre, William Gibson Summary: Lorsque les personnages d’un récit évoluent séparément à la recherche d’un objectif commun, on peut raisonnablement s’attendre à une conclusion les réunissant. Ici, il faut ouvrir « Zero History » pour voir Hollis Henry la journaliste et Milgrim l’informateur clandestin rassemblés autour d’une nouvelle quête. Après les évènements de « Spook Country », c’est encore une fois Hubertus Bigend qui les recrute pour sa nouvelle obsession : une marque de jeans, confidentielle au point d’être intraçable. -Image: http://www.vtourraine.net/blog/img/2015/critique-gibson-zero-history/zero-history.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/critique-gibson-zero-history/thumbnail-zero-history.jpg +Image: https://www.vtourraine.net/blog/img/2015/critique-gibson-zero-history/zero-history.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/critique-gibson-zero-history/thumbnail-zero-history.jpg Language: fr @@ -49,13 +49,13 @@ Tout ceci ne vous dit pas si j’ai aimé le livre. Au petit jeu du classement, ### Trilogie _Blue Ant_, billets de blog -1. [_Pattern Recognition_](http://www.vtourraine.net/blog/2015/critique-gibson-pattern-recognition) -2. [_Spook Country_](http://www.vtourraine.net/blog/2015/critique-gibson-spook-country) +1. [_Pattern Recognition_](/blog/2015/critique-gibson-pattern-recognition) +2. [_Spook Country_](/blog/2015/critique-gibson-spook-country) 3. _Zero History_ -[Cover]: http://www.vtourraine.net/blog/img/2015/critique-gibson-zero-history/zero-history.jpg -[Gibson]: http://www.vtourraine.net/blog/img/2015/critique-gibson-zero-history/william-gibson-by-jon-lim.jpg +[Cover]: /blog/img/2015/critique-gibson-zero-history/zero-history.jpg +[Gibson]: /blog/img/2015/critique-gibson-zero-history/william-gibson-by-jon-lim.jpg -[Pattern Recognition]: http://www.vtourraine.net/blog/2015/critique-gibson-pattern-recognition -[Spook Country]: http://www.vtourraine.net/blog/2015/critique-gibson-spook-country +[Pattern Recognition]: /blog/2015/critique-gibson-pattern-recognition +[Spook Country]: /blog/2015/critique-gibson-spook-country diff --git a/articles/2015/critique-she-walks-in-shadows.md b/articles/2015/critique-she-walks-in-shadows.md index 9a7a748..e5c1263 100644 --- a/articles/2015/critique-she-walks-in-shadows.md +++ b/articles/2015/critique-she-walks-in-shadows.md @@ -5,8 +5,8 @@ Date: October 13, 2015 Update: Keywords: critique, livre, H. P. Lovecraft Summary: « She Walks in Shadows » est un recueil de nouvelles inspirées par H. P. Lovecraft. Cet univers a déjà été étendu par de nombreux auteurs et sous toutes les formes possibles, mais cette publication se distingue en se concentrant exclusivement sur des personnages féminins. Si vous connaissez déjà l’œuvre lovecraftienne, cette perspective devrait vous intriguer. Et si vous ne connaissez pas ses récits, il s’agit d’une opportunité intéressante pour découvrir sa mythologie. -Image: http://www.vtourraine.net/blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-head.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-thumbnail.jpg +Image: https://www.vtourraine.net/blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-head.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-thumbnail.jpg Language: fr _She Walks in Shadows_ est un recueil de nouvelles inspirées par H. P. Lovecraft. Cet univers a déjà été étendu par de nombreux auteurs et sous toutes les formes possibles, mais cette publication se distingue en se concentrant exclusivement sur des personnages féminins. Si vous connaissez déjà l’œuvre [lovecraftienne](https://fr.wiktionary.org/wiki/lovecraftien#fr), cette perspective devrait vous intriguer. Et si vous ne connaissez pas ses récits, il s’agit d’une opportunité intéressante pour découvrir sa mythologie. @@ -84,5 +84,5 @@ Dans son ensemble, la diversité de sujet et de forme dépasse complètement l [amazon]: http://www.amazon.fr/dp/B014NLK4EI [indiegogo]: https://www.indiegogo.com/projects/she-walks-in-shadows#/ -[cover medium]: http://www.vtourraine.net/blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-cover-medium.jpg -[cover header]: http://www.vtourraine.net/blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-head.jpg \ No newline at end of file +[cover medium]: /blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-cover-medium.jpg +[cover header]: /blog/img/2015/critique-she-walks-in-shadows/she-walks-in-shadow-head.jpg \ No newline at end of file diff --git a/articles/2015/critique-weir-the-martian.md b/articles/2015/critique-weir-the-martian.md index f63878b..de38e00 100644 --- a/articles/2015/critique-weir-the-martian.md +++ b/articles/2015/critique-weir-the-martian.md @@ -5,8 +5,8 @@ Date: May 8, 2015 Update: Keywords: critique, livre, Andy Weir, Sci-Fi Summary: Une expédition tourne mal. C’est la panique, l’évacuation précipitée. L’équipe regagne la navette de justesse et s’échappe de la planète rouge… abandonnant le pauvre Mark Watney, que tout le monde croyait mort. Seul sur Mars. -Image: http://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/the-martian.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/thumbnail-the-martian.jpg +Image: https://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/the-martian.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/thumbnail-the-martian.jpg Language: fr Une expédition tourne mal. C’est la panique, l’évacuation précipitée. L’équipe regagne la navette de justesse et s’échappe de la planète rouge… abandonnant le pauvre Mark Watney, que tout le monde croyait mort. @@ -68,6 +68,6 @@ _P.S._ : Vous trouvez que cette histoire ferait un bon film ? Vous n’avez soi - [_Hellas Chaos_, photo ESA](http://www.esa.int/spaceinimages/Images/2014/11/Hellas_Chaos), CC BY-SA 3.0 IGO -[Cover]: http://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/the-martian.jpg -[Nili Fossae]: http://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/nili-fossae.jpg -[Hellas Chaos]: http://www.vtourraine.net/blog/img/2015/critique-weir-the-martian/hellas-chaos.jpg +[Cover]: /blog/img/2015/critique-weir-the-martian/the-martian.jpg +[Nili Fossae]: /blog/img/2015/critique-weir-the-martian/nili-fossae.jpg +[Hellas Chaos]: /blog/img/2015/critique-weir-the-martian/hellas-chaos.jpg diff --git a/articles/2015/dotswift-swift.md b/articles/2015/dotswift-swift.md index c6e310f..5f75b4d 100644 --- a/articles/2015/dotswift-swift.md +++ b/articles/2015/dotswift-swift.md @@ -5,7 +5,7 @@ Date: February 8, 2015 Update: Keywords: Swift Summary: La première conférence dédiée à Swift s’est déroulée à Paris. Une dizaine d’interventions en une demi-journée, c’est à la fois peu pour un tel évènement, et beaucoup pour un langage qui existe seulement depuis moins d’un an. Bravo à l’équipe des dotConferences pour l’organisation, et aux speakers pour être venus partager leurs expériences. -Image: http://www.vtourraine.net/blog/img/2015/dotswift-swift/banner-dotswift.jpg +Image: https://www.vtourraine.net/blog/img/2015/dotswift-swift/banner-dotswift.jpg Language: fr @@ -34,7 +34,7 @@ C’est d’ailleurs amusant de constater la forte présence de la communauté C C’est peut-être le bon moment pour se lancer. La transition sera longue, et Objective-C est encore loin de disparaître. Mais la machine est bien lancée. -[banner dotSwift]: http://www.vtourraine.net/blog/img/2015/dotswift-swift/banner-dotswift.jpg +[banner dotSwift]: /blog/img/2015/dotswift-swift/banner-dotswift.jpg [dotSwift]: http://www.dotswift.io [blog Sinclair]: http://blog.jaredsinclair.com/post/98402624705/beyond-objective-c-beyond-swift diff --git a/articles/2015/google-ex-machina.md b/articles/2015/google-ex-machina.md index 424837f..d7c5954 100644 --- a/articles/2015/google-ex-machina.md +++ b/articles/2015/google-ex-machina.md @@ -5,7 +5,7 @@ Date: June 7, 2015 Update: Keywords: Google, film, Sci-Fi, AI Summary: On pourrait presque l’oublier, mais au commencent, Google était un simple moteur de recherche. Un journaliste tech (dont le nom m’échappe, évidemment) racontait récemment qu’à l’époque, l’entreprise laissait sceptique. Le Page Rank était une invention formidable, mais le site ne semblait pas à la hauteur, comme une opportunité manquée. Ledit journaliste s’était alors tourné vers Larry Page ou Sergey Brin (là encore, ma fichue mémoire), pour leur demander comment ils voyaient l’avenir de Google. -Image: http://www.vtourraine.net/blog/img/2015/google-ex-machina/ex-machina.jpg +Image: https://www.vtourraine.net/blog/img/2015/google-ex-machina/ex-machina.jpg Language: fr On pourrait presque l’oublier, mais au commencent, Google était un simple moteur de recherche. @@ -23,4 +23,4 @@ Avec cette réflexion en tête, je vous recommande d’aller voir _Ex Machina_, - [IMDb](http://www.imdb.com/title/tt0470752/) - [Wikipedia](http://en.wikipedia.org/wiki/Ex_Machina_(film)) -[Ex Machina]: http://www.vtourraine.net/blog/img/2015/google-ex-machina/ex-machina.jpg +[Ex Machina]: /blog/img/2015/google-ex-machina/ex-machina.jpg diff --git a/articles/2015/hugo-awards-sf.md b/articles/2015/hugo-awards-sf.md index 0571094..f23be68 100644 --- a/articles/2015/hugo-awards-sf.md +++ b/articles/2015/hugo-awards-sf.md @@ -5,8 +5,8 @@ Date: August 29, 2015 Update: Keywords: Sci-Fi, livre Summary: Si vous vous intéressez à la science-fiction et à la fantasy, vous avez probablement déjà entendu parler des « Hugo Awards ». Depuis 1953, ils récompensent les meilleures publications, célébrant des auteurs tels que Philip K. Dick, Frank Herbert, ou encore Isaac Asimov. On peut raisonnablement estimer qu’il s’agit du trophée le plus prestigieux du monde de la SF. Les choses ont changé, cette année, lorsqu’un groupe d’auteurs déçus ont choisi de manipuler le processus de vote pour transformer les Hugos en tribune politique et idéologique. -Image: http://www.vtourraine.net/blog/img/2015/hugo-awards-sf/john-cmar-award.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/hugo-awards-sf/thumbnail-john-cmar-award.jpg +Image: https://www.vtourraine.net/blog/img/2015/hugo-awards-sf/john-cmar-award.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/hugo-awards-sf/thumbnail-john-cmar-award.jpg Language: fr @@ -51,8 +51,8 @@ Pour en savoir plus : [_Who Won Science Fiction’s Hugo Awards, and Why It Mat [wired who won]: http://www.wired.com/2015/08/won-science-fictions-hugo-awards-matters/ [martin broken]: http://grrm.livejournal.com/417125.html [winners]: http://www.thehugoawards.org/2015/08/2014-hugo-award-winners-announced/ -[blog martian]: http://www.vtourraine.net/blog/2015/critique-weir-the-martian -[blog gibson]: http://www.vtourraine.net/blog/tags/william-gibson +[blog martian]: /blog/2015/critique-weir-the-martian +[blog gibson]: /blog/tags/william-gibson -[john cmar award]: http://www.vtourraine.net/blog/img/2015/hugo-awards-sf/john-cmar-award.jpg -[johno winners]: http://www.vtourraine.net/blog/img/2015/hugo-awards-sf/johno-winners.jpg \ No newline at end of file +[john cmar award]: /blog/img/2015/hugo-awards-sf/john-cmar-award.jpg +[johno winners]: /blog/img/2015/hugo-awards-sf/johno-winners.jpg diff --git a/articles/2015/impressions-wwdc-2015.md b/articles/2015/impressions-wwdc-2015.md index b85fe13..fb347d6 100644 --- a/articles/2015/impressions-wwdc-2015.md +++ b/articles/2015/impressions-wwdc-2015.md @@ -5,7 +5,7 @@ Date: June 17, 2015 Update: Keywords: WWDC, iOS, OS X, watchOS, dev Summary: On peut dire que la WWDC est vraiment devenue « worldwide » depuis qu’Apple diffuse les vidéos des sessions pendant le courant de la semaine, allant cette année jusqu’à proposer plusieurs retransmissions en direct. Bref, San Francisco ou pas, tout le monde peut bénéficier de cette avalanche d’informations. Nouvelles versions des OS, nouvelles API, il y a forcément beaucoup de choses à dire, je ne vais donc pas me priver d’y ajouter mon commentaire. -Image: http://www.vtourraine.net/blog/img/2015/impressions-wwdc-2015/wwdc-15.png +Image: https://www.vtourraine.net/blog/img/2015/impressions-wwdc-2015/wwdc-15.png Language: fr @@ -13,7 +13,7 @@ On peut dire que la WWDC est vraiment devenue « worldwide » depuis qu’Appl Nouvelles versions des OS, nouvelles API, il y a forcément beaucoup de choses à dire, je ne vais donc pas me priver d’y ajouter mon commentaire. -![WWDC 2015, image Apple](http://www.vtourraine.net/blog/img/2015/impressions-wwdc-2015/wwdc-15.png) +![WWDC 2015, image Apple](/blog/img/2015/impressions-wwdc-2015/wwdc-15.png) ## « Multitasking » iPad @@ -63,7 +63,7 @@ Des nouveautés qui confirment l’importance des Extensions pour l’avenir d ## watchOS 2 -Les complications sont arrivées. [J’attends](http://www.vtourraine.net/blog/2015/watchkit-version-1) toujours les cadrans tiers. Ceci dit, pour une première année, je reconnais qu’on a déjà de quoi bien s’amuser. +Les complications sont arrivées. [J’attends](/blog/2015/watchkit-version-1) toujours les cadrans tiers. Ceci dit, pour une première année, je reconnais qu’on a déjà de quoi bien s’amuser. ## Swift 2 diff --git a/articles/2015/interview-pouclet-ios-integration.md b/articles/2015/interview-pouclet-ios-integration.md index ff07c09..d30cc8a 100644 --- a/articles/2015/interview-pouclet-ios-integration.md +++ b/articles/2015/interview-pouclet-ios-integration.md @@ -5,8 +5,8 @@ Date: January 18, 2015 Update: Keywords: interview, livre, iOS, CI Summary: Avant même le lancement du premier SDK en 2008, les développeurs iPhone OS/iOS ont toujours eu un temps d’avance sur Apple. L’intégration continue fait partie de ces sujets trop longtemps ignorés, et reste encore aujourd’hui bien discrète lors des WWDC. -Image: http://www.vtourraine.net/blog/img/interview-pouclet-ios-integration/pouclet-ios-integration.jpg -Thumbnail: http://www.vtourraine.net/blog/img/interview-pouclet-ios-integration/pouclet-ios-integration-thumbnail.jpg +Image: https://www.vtourraine.net/blog/img/interview-pouclet-ios-integration/pouclet-ios-integration.jpg +Thumbnail: https://www.vtourraine.net/blog/img/interview-pouclet-ios-integration/pouclet-ios-integration-thumbnail.jpg Language: fr @@ -67,5 +67,5 @@ _Je remercie Romain pour avoir pris le temps de répondre à mes questions, mais ![Romain Pouclet (à droite), photo Romain Pouclet, DR][Avatar] -[Cover]: http://www.vtourraine.net/blog/img/interview-pouclet-ios-integration/pouclet-ios-integration.jpg -[Avatar]: http://www.vtourraine.net/blog/img/interview-pouclet-ios-integration/pouclet-github-avatar.jpg +[Cover]: /blog/img/interview-pouclet-ios-integration/pouclet-ios-integration.jpg +[Avatar]: /blog/img/interview-pouclet-ios-integration/pouclet-github-avatar.jpg diff --git a/articles/2015/intro-dev-mac-os-x.md b/articles/2015/intro-dev-mac-os-x.md index a6a0d0f..ed875a6 100644 --- a/articles/2015/intro-dev-mac-os-x.md +++ b/articles/2015/intro-dev-mac-os-x.md @@ -5,7 +5,7 @@ Date: February 15, 2015 Update: Keywords: dev, Cocoa, OS X Summary: Coincé entre la déferlante iOS et la montée en puissance des web apps, le développement OS X n’est pas franchement au centre des attentions. Il s’agit pourtant d’une plateforme toujours intéressante, pour plusieurs raisons. -Image: http://www.vtourraine.net/blog/img/2015/intro-dev-mac-os-x/start-dev-mac-apps.png +Image: https://www.vtourraine.net/blog/img/2015/intro-dev-mac-os-x/start-dev-mac-apps.png Language: fr Coincé entre la déferlante iOS et la montée en puissance des web apps, le développement OS X n’est pas franchement au centre des attentions. Il s’agit pourtant d’une plateforme toujours intéressante, pour plusieurs raisons. @@ -86,4 +86,4 @@ Tout ceci ne représente bien-sûr qu’une brève introduction. Je vous laisse Si vous êtes intéressés par une présentation plus approfondie de la plateforme, n’hésitez-pas à me faire signe, il reste encore bien des billets de blog à écrire sur le sujet. -[Start dev Mac apps]: http://www.vtourraine.net/blog/img/2015/intro-dev-mac-os-x/start-dev-mac-apps.png +[Start dev Mac apps]: /blog/img/2015/intro-dev-mac-os-x/start-dev-mac-apps.png diff --git a/articles/2015/ios-9-indexer-spotlight.md b/articles/2015/ios-9-indexer-spotlight.md index 4aa9088..7e90939 100644 --- a/articles/2015/ios-9-indexer-spotlight.md +++ b/articles/2015/ios-9-indexer-spotlight.md @@ -5,8 +5,8 @@ Date: September 12, 2015 Update: Keywords: iOS, dev Summary: Une nouvelle API à la fois simple d’utilisation et intéressante pour la plupart des apps : une combinaison comme on les aime. Avec iOS 9, on peut donc indexer le contenu d’une application, afin de rendre des données accessibles à tout moment depuis le champs de recherche système (a.k.a. « Spotlight »). Une opportunité plutôt rare dans un OS où chaque app est soigneusement sandboxée. Il faudra encore attendre pour une éventuelle API Siri, mais cette nouveauté constitue déjà une amélioration importante. -Image: http://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/search-result-wake.png -Thumbnail: http://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/thumbnail-search.jpg +Image: https://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/search-result-wake.png +Thumbnail: https://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/thumbnail-search.jpg Language: fr Une nouvelle API à la fois simple d’utilisation et intéressante pour la plupart des apps : une combinaison comme on les aime. @@ -151,7 +151,7 @@ Le code présenté dans cet article permet déjà une prise en charge à la fois - [_Core Spotlight Framework Reference: CSSearchableItem Class Reference_, Apple](https://developer.apple.com/library/prerelease/ios/documentation/CoreSpotlight/Reference/CSSearchableItem_Class/index.html#//apple_ref/occ/cl/CSSearchableItem) - [_Core Spotlight Framework Reference: CSSearchableItemAttributeSet Class Reference_, Apple](https://developer.apple.com/library/prerelease/ios/documentation/CoreSpotlight/Reference/CSSearchableItemAttributeSet_Class/index.html#//apple_ref/occ/cl/CSSearchableItemAttributeSet) -[ios 9 icon]: http://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/ios-9.png -[search result cell]: http://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/search-result-cell.png -[search results]: http://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/search-result-wake.png -[target spotlight]: http://www.vtourraine.net/blog/img/2015/ios-9-indexer-spotlight/target-spotlight.png \ No newline at end of file +[ios 9 icon]: /blog/img/2015/ios-9-indexer-spotlight/ios-9.png +[search result cell]: /blog/img/2015/ios-9-indexer-spotlight/search-result-cell.png +[search results]: /blog/img/2015/ios-9-indexer-spotlight/search-result-wake.png +[target spotlight]: /blog/img/2015/ios-9-indexer-spotlight/target-spotlight.png diff --git a/articles/2015/ios-9-peek-pop.md b/articles/2015/ios-9-peek-pop.md index f50136b..4e9d59c 100644 --- a/articles/2015/ios-9-peek-pop.md +++ b/articles/2015/ios-9-peek-pop.md @@ -5,8 +5,8 @@ Date: October 3, 2015 Update: Keywords: iOS, UIKit, dev Summary: Tous les ans c’est la même chose, Apple garde quelques API en surprise pour la sortie d’iOS au mois de septembre. Avec iOS 9 et les écrans 3D Touch des nouveaux iPhones, voici donc « Peek » et « Pop », qui remportent conjointement le prix de l’API au nom le plus ridicule à porter. Du côté du code, par contre, il est question de « view controller previewing » et de « commit » du preview, le tout restant associé à Force Touch. -Image: http://www.vtourraine.net/blog/img/2015/ios-9-peek-pop/3d-touch-video.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/ios-9-peek-pop/thumbnail-3d-touch-video.jpg +Image: https://www.vtourraine.net/blog/img/2015/ios-9-peek-pop/3d-touch-video.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/ios-9-peek-pop/thumbnail-3d-touch-video.jpg Language: fr @@ -127,8 +127,8 @@ Ces actions sont associées au view controller présenté, indifféremment de ce J’avais envie de tester cette API sur un projet relativement simple, et [l’application Mix-IT](https://itunes.apple.com/app/mix-it/id982003173?ls=1&mt=8) publiée cette année convenait parfaitement (un table view controller, et un view controller pour le détail). Comme le projet est par ailleurs open source, vous pouvez voir ce que ça donne, dans son ensemble, [sur GitHub](https://github.com/vtourraine/mixit/blob/master/mixit/Classes/AMGTalksViewController.m). @@ -145,5 +145,5 @@ La seule difficulté consistait à prendre en compte le search display controlle ![3D Touch, image [apple.com](http://apple.com)][3D Touch hero] -[3D Touch hero]: http://www.vtourraine.net/blog/img/2015/ios-9-peek-pop/3d-touch-hero.jpg -[3D Touch video]: http://www.vtourraine.net/blog/img/2015/ios-9-peek-pop/3d-touch-video.jpg +[3D Touch hero]: /blog/img/2015/ios-9-peek-pop/3d-touch-hero.jpg +[3D Touch video]: /blog/img/2015/ios-9-peek-pop/3d-touch-video.jpg diff --git a/articles/2015/leak-spoiler-star-wars.md b/articles/2015/leak-spoiler-star-wars.md index 916a3d2..62934ca 100644 --- a/articles/2015/leak-spoiler-star-wars.md +++ b/articles/2015/leak-spoiler-star-wars.md @@ -5,8 +5,8 @@ Date: September 19, 2015 Update: Keywords: Sci-Fi, film Summary: « The Force Awakens » arrive dans quelques mois. Je sais que beaucoup évitent scrupuleusement toute info non-officielle, afin de garder un maximum de surprises pour la sortie du film. Une approche tout à fait respectable. Moi ? Je me jette sur toutes les leaks que j’arrive à trouver. -Image: http://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/kylo-ren-poster.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/thumbnail-stormtroopers.jpg +Image: https://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/kylo-ren-poster.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/thumbnail-stormtroopers.jpg Language: fr @@ -82,7 +82,7 @@ En attendant le film, bien sûr (et tous les autres qui suivront). ![Poster Kylo Ren, image Lucasfilm][kylo ren poster] -[star wars slate]: http://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/star-wars-slate.jpg -[kylo ren swu concept]: http://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/kylo-ren-swu-concept.jpg -[kylo ren ir concept]: http://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/kylo-ren-ir-concept.jpg -[kylo ren poster]: http://www.vtourraine.net/blog/img/2015/leak-spoiler-star-wars/kylo-ren-poster.jpg +[star wars slate]: /blog/img/2015/leak-spoiler-star-wars/star-wars-slate.jpg +[kylo ren swu concept]: /blog/img/2015/leak-spoiler-star-wars/kylo-ren-swu-concept.jpg +[kylo ren ir concept]: /blog/img/2015/leak-spoiler-star-wars/kylo-ren-ir-concept.jpg +[kylo ren poster]: /blog/img/2015/leak-spoiler-star-wars/kylo-ren-poster.jpg diff --git a/articles/2015/objective-c-generics.md b/articles/2015/objective-c-generics.md index 8da2ec0..e878102 100644 --- a/articles/2015/objective-c-generics.md +++ b/articles/2015/objective-c-generics.md @@ -5,11 +5,11 @@ Date: November 27, 2015 Update: Keywords: Objective-C, Xcode, dev Summary: Après les « nullability annotations » d’Xcode 6.3, voici les « generics » d’Xcode 7. L’intention est la même : faire évoluer Objective-C pour faciliter son interopérabilité avec Swift. Avec, au passage, l’occasion d’améliorer la qualité du code Objective-C pour lui-même, en permettant à Xcode de détecter toute une nouvelle catégorie de bugs. -Image: http://www.vtourraine.net/blog/img/2015/objective-c-generics/xcode-warnings.png +Image: https://www.vtourraine.net/blog/img/2015/objective-c-generics/xcode-warnings.png Language: fr -Après les [_nullability annotations_](http://www.vtourraine.net/blog/2015/objective-c-nullability) d’Xcode 6.3, voici les _generics_ d’Xcode 7. +Après les [_nullability annotations_](/blog/2015/objective-c-nullability) d’Xcode 6.3, voici les _generics_ d’Xcode 7. L’intention est la même : faire évoluer Objective-C pour faciliter son interopérabilité avec Swift. Avec, au passage, l’occasion d’améliorer la qualité du code Objective-C pour lui-même, en permettant à Xcode de détecter toute une nouvelle catégorie de bugs. @@ -78,4 +78,4 @@ Ces annotations sont importantes pour interagir avec un code tiers, venant d’A - [_What’s New in Xcode: New Features in Xcode 7_, Apple](https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_7_0.html) - [_Using Swift with Cocoa and Objective-C: Interacting with Objective-C APIs_, Apple](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-ID35) -[Xcode warning]: http://www.vtourraine.net/blog/img/2015/objective-c-generics/xcode-warnings.png +[Xcode warning]: /blog/img/2015/objective-c-generics/xcode-warnings.png diff --git a/articles/2015/objective-c-nullability-initialisation.md b/articles/2015/objective-c-nullability-initialisation.md index 79e1055..f497edd 100644 --- a/articles/2015/objective-c-nullability-initialisation.md +++ b/articles/2015/objective-c-nullability-initialisation.md @@ -5,11 +5,11 @@ Date: August 11, 2015 Update: Keywords: Objective-C, Xcode, dev Summary: Mon dernier billet de blog présentait les « nullability annotations », en essayant d’expliquer comment elles contribuent à améliorer un code Objective-C. Avec un peu de recul, et après davantage de temps passé à les mettre en pratique, ces annotations me posent un problème. Un cas particulier, peut-être, mais absolument incontournable, puisqu’il s’agit de l’initialisation des objets. -Image: http://www.vtourraine.net/blog/img/2015/objective-c-nullability/xcode-icon.png +Image: https://www.vtourraine.net/blog/img/2015/objective-c-nullability/xcode-icon.png Language: fr -Mon dernier billet de blog présentait les [_nullability annotations_](http://www.vtourraine.net/blog/2015/objective-c-nullability), en essayant d’expliquer comment elles contribuent à améliorer un code Objective-C. Avec un peu de recul, et après davantage de temps passé à les mettre en pratique, ces annotations me posent _un_ problème. Un cas particulier, peut-être, mais absolument incontournable, puisqu’il s’agit de l’initialisation des objets. +Mon dernier billet de blog présentait les [_nullability annotations_](/blog/2015/objective-c-nullability), en essayant d’expliquer comment elles contribuent à améliorer un code Objective-C. Avec un peu de recul, et après davantage de temps passé à les mettre en pratique, ces annotations me posent _un_ problème. Un cas particulier, peut-être, mais absolument incontournable, puisqu’il s’agit de l’initialisation des objets. ## if (self) diff --git a/articles/2015/objective-c-nullability.md b/articles/2015/objective-c-nullability.md index 6e4e6ac..f3de625 100644 --- a/articles/2015/objective-c-nullability.md +++ b/articles/2015/objective-c-nullability.md @@ -5,7 +5,7 @@ Date: July 26, 2015 Update: November 29, 2015 Keywords: Objective-C, Xcode, dev Summary: J’adore quand Xcode trouve des bugs dans mon code. C’est un peu comme si une IA passait mon travail en revue pour m’aider à l’améliorer. Le pair-programming du futur, sans doute. -Image: http://www.vtourraine.net/blog/img/2015/objective-c-nullability/xcode-icon.png +Image: https://www.vtourraine.net/blog/img/2015/objective-c-nullability/xcode-icon.png Language: fr J’adore quand Xcode trouve des bugs dans mon code. C’est un peu comme si une IA passait mon travail en revue pour m’aider à l’améliorer. Le pair-programming du futur, sans doute. @@ -92,7 +92,7 @@ Je ne vais pas prétendre que les _nullability annotations_ vont résoudre tous [Blog]: https://developer.apple.com/swift/blog/?id=25 [Xcode 7]: https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_7_0.html -[generics]: http://www.vtourraine.net/blog/2015/objective-c-generics +[generics]: /blog/2015/objective-c-generics -[Xcode icon]: http://www.vtourraine.net/blog/img/2015/objective-c-nullability/xcode-icon.png -[Xcode nullability warning]: http://www.vtourraine.net/blog/img/2015/objective-c-nullability/xcode-nullability-warning.png \ No newline at end of file +[Xcode icon]: /blog/img/2015/objective-c-nullability/xcode-icon.png +[Xcode nullability warning]: /blog/img/2015/objective-c-nullability/xcode-nullability-warning.png diff --git a/articles/2015/podcast-incomparable-star-wars.md b/articles/2015/podcast-incomparable-star-wars.md index 3d4678e..56e0e2a 100644 --- a/articles/2015/podcast-incomparable-star-wars.md +++ b/articles/2015/podcast-incomparable-star-wars.md @@ -5,7 +5,7 @@ Date: December 4, 2015 Update: Keywords: Sci-Fi, film, podcast Summary: Décembre 2015, impossible de passer à côté de la sortie du nouvel épisode de Star Wars. Pour patienter encore quelques jours, je vous conseille d’écouter cette sélection du podcast « The Incomparable », qui revisite les 6 premiers films, pour le meilleur et pour le pire. -Image: http://www.vtourraine.net/blog/img/2015/podcast-incomparable-star-wars/logo-incomparable-star-wars.jpg +Image: https://www.vtourraine.net/blog/img/2015/podcast-incomparable-star-wars/logo-incomparable-star-wars.jpg Language: fr @@ -13,7 +13,7 @@ Décembre 2015, impossible de passer à côté de la sortie du nouvel épisode d Pour patienter encore quelques jours, je vous conseille d’écouter cette sélection du podcast _The Incomparable_, qui revisite les 6 premiers films, pour le meilleur et pour le pire. -![Logo Star Wars/The Incomparable, image The Incomparable](http://www.vtourraine.net/blog/img/2015/podcast-incomparable-star-wars/logo-incomparable-star-wars.jpg) +![Logo Star Wars/The Incomparable, image The Incomparable](/blog/img/2015/podcast-incomparable-star-wars/logo-incomparable-star-wars.jpg) En particulier, je vous suggère d’écouter les podcasts consacrés la prélogie. Ça peut paraître contre-intuitif de s’étendre sur des films largement considérés comme médiocres, mais ils permettent — à leur manière — d’apprécier encore davantage l’arrivée de _The Force Awakens_ (et sont bien plus amusants à commenter). diff --git a/articles/2015/premiere-app-swift.md b/articles/2015/premiere-app-swift.md index ac069a4..9630f51 100644 --- a/articles/2015/premiere-app-swift.md +++ b/articles/2015/premiere-app-swift.md @@ -5,11 +5,11 @@ Date: March 29, 2015 Update: Keywords: Swift, dev Summary: Je ne me suis pas franchement jeté sur Swift après l’annonce de la WWDC 2014, mais dotSwift est passé par là, et voici maintenant ma première application Swift disponible sur l’App Store (pour être précis, l’application principale est en Swift, l’extension du clavier est encore en Objective-C). À défaut d’être original, je pense que c’est le bon moment pour un premier bilan de ma courte expérience avec ce nouveau langage qui s’annonce, rappelons-le, comme l’avenir du développement pour les plateformes Apple. -Image: http://www.vtourraine.net/blog/img/2015/premiere-app-swift/swift-icon.png +Image: https://www.vtourraine.net/blog/img/2015/premiere-app-swift/swift-icon.png Language: fr -Je ne me suis pas franchement jeté sur Swift après l’annonce de la WWDC 2014, mais [dotSwift](http://www.vtourraine.net/blog/2015/dotswift-swift) est passé par là, et voici maintenant ma première application Swift [disponible sur l’App Store](https://itunes.apple.com/app/scikey-scientific-keyboard/id927863083?mt=8) (pour être précis, l’application principale est en Swift, l’extension du clavier est encore en Objective-C). +Je ne me suis pas franchement jeté sur Swift après l’annonce de la WWDC 2014, mais [dotSwift](/blog/2015/dotswift-swift) est passé par là, et voici maintenant ma première application Swift [disponible sur l’App Store](https://itunes.apple.com/app/scikey-scientific-keyboard/id927863083?mt=8) (pour être précis, l’application principale est en Swift, l’extension du clavier est encore en Objective-C). ![Icône Swift, image Apple][Icon Swift] @@ -88,4 +88,4 @@ Il y a sûrement un risque, avec ces fonctions comme avec la plupart des concept On savait qu’Apple pouvait convaincre beaucoup de monde de l’intérêt d’acheter une montre en 2015, on sait maintenant qu’ils peuvent aussi convaincre de nombreux développeurs d’essayer un nouveau langage de programmation. -[Icon Swift]: http://www.vtourraine.net/blog/img/2015/premiere-app-swift/swift-icon.png +[Icon Swift]: /blog/img/2015/premiere-app-swift/swift-icon.png diff --git a/articles/2015/reblog.md b/articles/2015/reblog.md index 86e6253..c7f4a8c 100644 --- a/articles/2015/reblog.md +++ b/articles/2015/reblog.md @@ -5,15 +5,15 @@ Date: December 14, 2015 Update: Keywords: général Summary: Je viens d’ajouter une nouvelle section à mon site personnel : Reblog. Vous y trouverez une liste de liens qui me paraissent intéressants, ce qu’on appelle parfois un « link blog ». -Image: http://www.vtourraine.net/blog/img/2015/reblog/reblog-screenshot-decembre.png +Image: https://www.vtourraine.net/blog/img/2015/reblog/reblog-screenshot-decembre.png Language: fr -Je viens d’ajouter une nouvelle section à mon site personnel : [Reblog](http://www.vtourraine.net/reblog). +Je viens d’ajouter une nouvelle section à mon site personnel : [Reblog](/reblog). Vous y trouverez une liste de liens qui me paraissent intéressants, ce qu’on appelle parfois un « link blog ». Sans le moindre commentaire de ma part, ce site contient uniquement le titre des pages concernées, un résumé ou un extrait, éventuellement un aperçu en image, et bien sûr le lien. -![](http://www.vtourraine.net/blog/img/2015/reblog/reblog-screenshot-decembre-shadow.png) +![](/blog/img/2015/reblog/reblog-screenshot-decembre-shadow.png) À l’image de ce blog, pas de thème bien défini, mais il y sera souvent question de développement, et des plateformes d’Apple en particulier. Ne soyez pas surpris d’y trouver régulièrement du [iOS Dev Weekly](https://iosdevweekly.com), [Daring Fireball](http://daringfireball.net), avec une dose de [Benedict Evans](http://ben-evans.com/#blog). @@ -30,4 +30,4 @@ Je trouve d’ailleurs amusant que Pocket ait tout récemment intégré [une fon J’ai beaucoup hésité à intégrer ces liens directement dans ce blog, au milieu de mes propres articles. Pour l’instant, je vais les garder à l’écart, mais il est probable que je les regroupe en fin de compte. Je trouve déjà formidable que des lecteurs (c’est vous) soient intéressés pour suivre une page, vous demander d’en consulter une deuxième me paraît légèrement présomptueux. Disons que je préfère commencer par tester cette nouvelle rubrique de façon limitée, pour ensuite l’améliorer progressivement, comme tout autre projet. -Vous pouvez donc consulter [vtourraine.net/reblog](http://www.vtourraine.net/reblog) pour avoir une liste des liens organisés par mois (date du reblog, pas de la publication de l’article en question). Il existe également un [flux RSS](http://www.vtourraine.net/reblog/feed.xml) pour suivre les nouveautés depuis votre lecteur préféré. +Vous pouvez donc consulter [vtourraine.net/reblog](/reblog) pour avoir une liste des liens organisés par mois (date du reblog, pas de la publication de l’article en question). Il existe également un [flux RSS](/reblog/feed.xml) pour suivre les nouveautés depuis votre lecteur préféré. diff --git a/articles/2015/recuperer-espace-time-machine.md b/articles/2015/recuperer-espace-time-machine.md index 54bd2be..50788f1 100644 --- a/articles/2015/recuperer-espace-time-machine.md +++ b/articles/2015/recuperer-espace-time-machine.md @@ -5,7 +5,7 @@ Date: January 31, 2015 Update: Keywords: Mac, OS X Summary: C’est une banalité sur laquelle il convient d’insister : tout le monde devrait utiliser un système de sauvegarde et restauration de données (« backup software »). -Image: http://www.vtourraine.net/blog/img/2015/recuperer-espace-time-machine/time-machine.jpg +Image: https://www.vtourraine.net/blog/img/2015/recuperer-espace-time-machine/time-machine.jpg Language: fr @@ -58,4 +58,4 @@ Pour éviter ce genre d’acrobaties, il serait préférable d’établir des pa *Note : ce billet est directement adapté des informations trouvées sur [Reclaiming a TimeMachine Volume’s Disk Space](http://blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/) (en anglais).* -[Time Machine]: http://www.vtourraine.net/blog/img/2015/recuperer-espace-time-machine/time-machine.jpg +[Time Machine]: /blog/img/2015/recuperer-espace-time-machine/time-machine.jpg diff --git a/articles/2015/safari-inspect-ios-webview.md b/articles/2015/safari-inspect-ios-webview.md index 61a41e7..4269fdc 100644 --- a/articles/2015/safari-inspect-ios-webview.md +++ b/articles/2015/safari-inspect-ios-webview.md @@ -5,7 +5,7 @@ Date: June 28, 2015 Update: Keywords: iOS, web, dev Summary: Safari n’est pas exactement le navigateur favori des développeurs web. Il dispose cependant d’une fonctionnalité, un peu cachée et donc relativement méconnue, qui vaut vraiment le détour lorsqu’il s’agit de concevoir un site (ou une app) mobile. Je n’ai probablement pas à vous convaincre de l’intérêt du Web Inspector. Depuis Firebug jusqu’aux _DevTools_ de Chrome, la possibilité d’explorer le DOM avec une interface graphique est devenue incontournable. Mais comment faire pour un smartphone ou une tablette, quand le navigateur mobile ne dispose pas d’une telle fonctionnalité ? Dans le cas d’iOS, Safari s’en occupe très bien, encore faut-il savoir l’activer. -Image: http://www.vtourraine.net/blog/img/2015/safari-inspect-ios-webview/safari-develop-menu.png +Image: https://www.vtourraine.net/blog/img/2015/safari-inspect-ios-webview/safari-develop-menu.png Language: fr @@ -25,7 +25,7 @@ Dans le cas d’iOS, Safari s’en occupe très bien. Encore faut-il savoir l’ 3. `Advanced` 4. `Web Inspector` -![iOS Settings](http://www.vtourraine.net/blog/img/2015/safari-inspect-ios-webview/ios-safari-settings.png) +![iOS Settings](/blog/img/2015/safari-inspect-ios-webview/ios-safari-settings.png) **Activez le menu développeur dans Safari sur Mac :** @@ -33,11 +33,11 @@ Dans le cas d’iOS, Safari s’en occupe très bien. Encore faut-il savoir l’ 2. `Advanced` 3. `Show Develop menu in menu bar` -![Safari Settings](http://www.vtourraine.net/blog/img/2015/safari-inspect-ios-webview/osx-safari-preferences.png) +![Safari Settings](/blog/img/2015/safari-inspect-ios-webview/osx-safari-preferences.png) Vous pouvez maintenant ouvrir ce menu `Develop` sur votre ordinateur, et vous y trouverez une liste de tous les appareils branchés ayant activé cette fonctionnalité. Si Safari est ouvert sur iOS, il y apparaîtra, et il ne vous restera plus qu’à inspecter la page mobile, directement depuis votre Mac. -![Safari Develop menu](http://www.vtourraine.net/blog/img/2015/safari-inspect-ios-webview/safari-develop-menu.png) +![Safari Develop menu](/blog/img/2015/safari-inspect-ios-webview/safari-develop-menu.png) ## Bonus : inspecter une web view à l’intérieur d’une app diff --git a/articles/2015/selection-cocoapods.md b/articles/2015/selection-cocoapods.md index 29a61c8..b22f068 100644 --- a/articles/2015/selection-cocoapods.md +++ b/articles/2015/selection-cocoapods.md @@ -5,7 +5,7 @@ Date: March 19, 2015 Update: Keywords: CocoaPods, dev Summary: La première fois qu’on me l’a présenté, CocoaPods m’avait laissé sceptique. Gérer ses dépendances et configurer un workspace Xcode était déjà assez compliqué comme ça, pas besoin de rajouter un outil tiers par dessus tout le reste. Bien sûr, c’est pourtant exactement pour cela que CocoaPods est si intéressant, parce qu’aucun développeur Objective-C ne devrait avoir à configurer un workspace pour une quelconque dépendance, ou mettre à jour un code tiers en téléchargeant une archive zip sur GitHub pour ensuite déplacer manuellement un ensemble de fichiers. -Image: http://www.vtourraine.net/blog/img/2015/selection-cocoapods/colours.jpg +Image: https://www.vtourraine.net/blog/img/2015/selection-cocoapods/colours.jpg Language: fr @@ -86,8 +86,8 @@ Avec iOS 7 et OS X 10.9, Apple a ajouté un nouvel ensemble d’API autour de À cet égard, ce n’est pas seulement un pod, c’est un reflet de la communauté des développeurs iOS et OS X. Il suit et parfois devance les évolutions des plateformes et des outils fournis par Apple. Vivement le biopic. -[Colours]: http://www.vtourraine.net/blog/img//2015/selection-cocoapods/colours.jpg -[PBWebViewController]: http://www.vtourraine.net/blog/img//2015/selection-cocoapods/pbwebviewcontroller.jpg -[iRate]: http://www.vtourraine.net/blog/img//2015/selection-cocoapods/irate.jpg -[SVProgressHUD]: http://www.vtourraine.net/blog/img//2015/selection-cocoapods/svprogresshud.gif -[AFNetworking]: http://www.vtourraine.net/blog/img//2015/selection-cocoapods/afnetworking.jpg \ No newline at end of file +[Colours]: /blog/img//2015/selection-cocoapods/colours.jpg +[PBWebViewController]: /blog/img//2015/selection-cocoapods/pbwebviewcontroller.jpg +[iRate]: /blog/img//2015/selection-cocoapods/irate.jpg +[SVProgressHUD]: /blog/img//2015/selection-cocoapods/svprogresshud.gif +[AFNetworking]: /blog/img//2015/selection-cocoapods/afnetworking.jpg diff --git a/articles/2015/trackup-editor.md b/articles/2015/trackup-editor.md index 71fc255..a481f42 100644 --- a/articles/2015/trackup-editor.md +++ b/articles/2015/trackup-editor.md @@ -5,7 +5,7 @@ Date: February 26, 2015 Update: Keywords: trackup Summary: Je cherchais un moyen simple pour gérer à la fois l’historique et la roadmap d’un projet. C’est comme ça que s’est formé « Trackup », un format à base de Markdown que j’utilise maintenant depuis plusieurs mois pour toutes mes applications iOS. Bien sûr, le format fonctionne parfaitement avec un simple éditeur de texte. Mais pour proposer des choses plus intéressantes, il me fallait une application spécialisée. -Image: http://www.vtourraine.net/blog/img/2015/trackup-editor/trackup-editor-icon.jpg +Image: https://www.vtourraine.net/blog/img/2015/trackup-editor/trackup-editor-icon.jpg Language: fr Je cherchais un moyen simple pour gérer à la fois l’historique et la roadmap d’un projet. C’est comme ça que s’est formé « [Trackup][Blog Trackup] », un format à base de Markdown que j’utilise maintenant depuis plusieurs mois pour toutes mes applications iOS. @@ -34,9 +34,9 @@ Trivial, on est d’accord. Mais le résultat me plaît bien. Vous pouvez voir c Le plus pragmatique serait sans doute de proposer une version équivalente en ligne de commande, qui permettrait ainsi d’automatiser la génération des Release Notes, voire même leur mise en ligne. Pour l’écriture des billets de blog à leur sujet, ça restera en mode manuel. -[Trackup Editor Icon]: http://www.vtourraine.net/blog/img/2015/trackup-editor/trackup-editor-icon.jpg -[Trackup Editor Screenshot]: http://www.vtourraine.net/blog/img/2015/trackup-editor/trackup-editor-screenshot.jpg +[Trackup Editor Icon]: /blog/img/2015/trackup-editor/trackup-editor-icon.jpg +[Trackup Editor Screenshot]: /blog/img/2015/trackup-editor/trackup-editor-screenshot.jpg -[Blog Trackup]: http://www.vtourraine.net/blog/2013/markdown-trackup-format +[Blog Trackup]: /blog/2013/markdown-trackup-format [GitHub]: https://github.com/vtourraine/trackup -[Travis]: https://travis-ci.org/vtourraine/trackup \ No newline at end of file +[Travis]: https://travis-ci.org/vtourraine/trackup diff --git a/articles/2015/watchkit-version-1.md b/articles/2015/watchkit-version-1.md index a89e93e..e787746 100644 --- a/articles/2015/watchkit-version-1.md +++ b/articles/2015/watchkit-version-1.md @@ -5,8 +5,8 @@ Date: April 26, 2015 Update: Keywords: Apple Watch, WatchKit, dev Summary: Comment développer des applications sans jamais avoir utilisé l’OS concerné, ni même la classe de produit en question ? C’est le casse-tête posé par Apple aux développeurs tiers depuis quelques mois avec WatchKit, le SDK de l’Apple Watch. Le grand jour est arrivé, la montre est enfin disponible (pour les pré-commandes les plus rapides), et l’App Store Apple Watch contient environ 3000 apps. Ce nombre est comparable aux apps iPad pour le lancement de la tablette, alors que l’iPhone n’avait de 500 apps pour l’ouverture de l’App Store en 2008. Dernier chiffre pour mettre tout ça en perspective, on trouve environ 1,4 million d’apps iPhone aujourd’hui. -Image: http://www.vtourraine.net/blog/img/2015/watchkit-version-1/apple-watch-1.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2015/watchkit-version-1/thumbnail-apple-watch.jpg +Image: https://www.vtourraine.net/blog/img/2015/watchkit-version-1/apple-watch-1.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2015/watchkit-version-1/thumbnail-apple-watch.jpg Language: fr @@ -43,8 +43,7 @@ Les supposées appréhensions formelles de l’équipe de Jony Ive et les limita _Images Wired/Apple : [iPhone Killer: The Secret History of the Apple Watch](http://www.wired.com/2015/04/the-apple-watch/)._ -[WatchKit apps]: http://www.vtourraine.net/blog/img/2015/watchkit-version-1/watchkit-apps.jpg -[Watch Face 1]: http://www.vtourraine.net/blog/img/2015/watchkit-version-1/apple-watch-1.jpg -[Watch Face 2]: http://www.vtourraine.net/blog/img/2015/watchkit-version-1/apple-watch-2.jpg -[Watch Face 3]: http://www.vtourraine.net/blog/img/2015/watchkit-version-1/apple-watch-3.jpg - +[WatchKit apps]: /blog/img/2015/watchkit-version-1/watchkit-apps.jpg +[Watch Face 1]: /blog/img/2015/watchkit-version-1/apple-watch-1.jpg +[Watch Face 2]: /blog/img/2015/watchkit-version-1/apple-watch-2.jpg +[Watch Face 3]: /blog/img/2015/watchkit-version-1/apple-watch-3.jpg diff --git a/articles/2016/2015-bilan.md b/articles/2016/2015-bilan.md index 11e4920..4d23491 100644 --- a/articles/2016/2015-bilan.md +++ b/articles/2016/2015-bilan.md @@ -16,13 +16,13 @@ Au revoir, 2015. Tu étais bien chargée, mais je vais essayer de résumer tout ## Blog -Commençons dans le meta-meta, en parlant de ce blog, justement. Le CMS a été [entièrement revu](http://www.vtourraine.net/blog/2014/blog-nouvelle-version-cms) il y a un an. Un changement bénéfique en termes de quantité d’articles publiés, comme en atteste ce joli graphe : +Commençons dans le meta-meta, en parlant de ce blog, justement. Le CMS a été [entièrement revu](/blog/2014/blog-nouvelle-version-cms) il y a un an. Un changement bénéfique en termes de quantité d’articles publiés, comme en atteste ce joli graphe : -![Évolution du nombre de billets de blog publiés par années](http://www.vtourraine.net/blog/img/2016/2015-bilan/blog-nombre-billets.png) +![Évolution du nombre de billets de blog publiés par années](/blog/img/2016/2015-bilan/blog-nombre-billets.png) Évidemment, c’est une fréquence de publication encore très faible, mais ce rythme me convient mieux. En dessous, l’écriture d’un billet devient quasi exceptionnelle, donc laborieuse. -Concernant les sujets abordés, j’ai essayé de varier davantage avec notamment plusieurs [critiques de livres](http://www.vtourraine.net/blog/tags/livre). Le tutoriel iOS est une valeur sûre, mais le champion reste le « Comment faire X », taillé pour les recherches Google. À en juger par les statistiques de consultation (tout le monde adore les stats), l’article de 2015 le plus lu est donc [_Comment récupérer de l’espace disque occupé par Time Machine ?_](http://www.vtourraine.net/blog/2015/recuperer-espace-time-machine), suivi par [_Bilan de ma première application Swift_](http://www.vtourraine.net/blog/2015/premiere-app-swift). +Concernant les sujets abordés, j’ai essayé de varier davantage avec notamment plusieurs [critiques de livres](/blog/tags/livre). Le tutoriel iOS est une valeur sûre, mais le champion reste le « Comment faire X », taillé pour les recherches Google. À en juger par les statistiques de consultation (tout le monde adore les stats), l’article de 2015 le plus lu est donc [_Comment récupérer de l’espace disque occupé par Time Machine ?_](/blog/2015/recuperer-espace-time-machine), suivi par [_Bilan de ma première application Swift_](/2015/premiere-app-swift). ## Plateformes Apple @@ -53,7 +53,7 @@ Mais on oublie que cette sortie a été préparée par l’arrivée six mois plu Par ailleurs, ResearchKit s’aligne remarquablement avec les domaines de compétences de Shazino. Dès que les premières informations étaient disponibles, nous avons donc longuement étudié ce projet. En avril, j’ai par exemple publié un article de blog [_How to create a new ResearchKit “Active Task”_](http://blog.shazino.com/articles/dev/researchkit-new-active-task/). Par la suite, nous avons proposé plusieurs nouveautés et améliorations, en envoyant des pull-requests au repo principal. Résultat : notre travail est même apparu durant une session de la WWDC 2015, avec l’exemple de la « Tone Audiometry Active Task » (je vous avais prévenu, c’est plutôt spécifique). -![Copie d’écran WWDC 2015 « Building Apps with ResearchKit », image Apple](http://www.vtourraine.net/blog/img/2016/2015-bilan/wwdc-researchkit.png) +![Copie d’écran WWDC 2015 « Building Apps with ResearchKit », image Apple](/blog/img/2016/2015-bilan/wwdc-researchkit.png) Encore une preuve que chaque année réserve son lot de surprises. diff --git a/articles/2016/bluray-netflix.md b/articles/2016/bluray-netflix.md index b853d52..f8fc0c8 100644 --- a/articles/2016/bluray-netflix.md +++ b/articles/2016/bluray-netflix.md @@ -5,7 +5,7 @@ Date: May 3, 2016 Update: Keywords: Blu-ray Summary: Cette année encore, j’achète mes films en Blu-ray. C’est un peu embarrassant, accumuler ces rondelles plastiques à l’heure des plateformes de streaming, mais je trouve que c’est encore la meilleure solution disponible. -Image: http://www.vtourraine.net/blog/img/2016/bluray-netflix/bluray-disc-opaque.png +Image: https://www.vtourraine.net/blog/img/2016/bluray-netflix/bluray-disc-opaque.png Language: fr @@ -23,4 +23,4 @@ Le seul argument qui sauve en partie l’iTunes Store à mes yeux concerne la lo Le plus simple est peut-être encore d’aller dans une salle de cinéma (je plaisante). -![Disque Blu-ray, image Wikimedia Commons (public domain) par [Cdnomad](https://commons.wikimedia.org/wiki/File%3ABluRayDiscBack.png)](http://www.vtourraine.net/blog/img/2016/bluray-netflix/bluray-disc.png) +![Disque Blu-ray, image Wikimedia Commons (public domain) par [Cdnomad](https://commons.wikimedia.org/wiki/File%3ABluRayDiscBack.png)](/blog/img/2016/bluray-netflix/bluray-disc.png) diff --git a/articles/2016/caracteres-speciaux-utf8.md b/articles/2016/caracteres-speciaux-utf8.md index 153afca..6df7921 100644 --- a/articles/2016/caracteres-speciaux-utf8.md +++ b/articles/2016/caracteres-speciaux-utf8.md @@ -5,8 +5,8 @@ Date: February 21, 2016 Update: Keywords: général Summary: Quand on passe ses journées à saisir des caractères avec un clavier (physique ou virtuel), on néglige trop souvent la diversité mise à notre disposition par l’écriture numérique. La préhistoire ASCII est derrière nous, il est grand temps de profiter des richesses d’UTF-8. -Image: http://www.vtourraine.net/blog/img/2016/caracteres-speciaux-utf8/espace-guillemets.png -Thumbnail: http://www.vtourraine.net/blog/img/2016/caracteres-speciaux-utf8/thumbnail-espace-guillemets.png +Image: https://www.vtourraine.net/blog/img/2016/caracteres-speciaux-utf8/espace-guillemets.png +Thumbnail: https://www.vtourraine.net/blog/img/2016/caracteres-speciaux-utf8/thumbnail-espace-guillemets.png Language: fr @@ -21,11 +21,11 @@ Je vais commencer par mon préféré : [l’espace insécable](https://fr.wikip La barre d’espace prend beaucoup de place sur un clavier, mais elle ne suffit pas vraiment à couvrir tous les espaces possibles. Oui, il existe plusieurs types d’espaces. Je ne les maîtrise pas tous, ma passion pour les caractères spéciaux a des limites. Mais l’espace insécable est vraiment un cas intéressant. Je l’utilise tous les jours, avec deux cas d’utilisation. -![_OS… X_, extrait du blog [swift.org](https://swift.org/blog/swift-ci/)](http://www.vtourraine.net/blog/img/2016/caracteres-speciaux-utf8/espace-os-x.png) +![_OS… X_, extrait du blog [swift.org](https://swift.org/blog/swift-ci/)](/blog/img/2016/caracteres-speciaux-utf8/espace-os-x.png) Pour certains mots, et en particulier certaines marques, il convient d’utiliser un espace insécable. Les exemples autour d’Apple ne manquent pas (OS X, iPad Air, App Store, etc), mais ça peut évidemment servir dans bien d’autres domaines. -![_« … guerrier »_, extrait app [La Matinale du Monde](https://itunes.apple.com/app/la-matinale-du-monde/id973857028?mt=8)](http://www.vtourraine.net/blog/img/2016/caracteres-speciaux-utf8/espace-guillemets.png) +![_« … guerrier »_, extrait app [La Matinale du Monde](https://itunes.apple.com/app/la-matinale-du-monde/id973857028?mt=8)](/blog/img/2016/caracteres-speciaux-utf8/espace-guillemets.png) Le deuxième cas, encore plus fréquent, concerne les signes de ponctuation en français. Avant les points-virgules, les points d’interrogation, les points d’exclamation et les deux-points, ou encore à l’intérieur des guillemets doubles. Petit rappel au passage : en anglais on ne place aucun espace devant les signes de ponctuation doubles (astuce pour repérer les français qui écrivent en anglais sur internet : cherchez les espaces). Pour être vraiment précis, il faudrait en fait utiliser une espace *fine* insécable dans la plupart des cas, mais l’espace classique insécable permet déjà d’éviter les cassures indésirables. diff --git a/articles/2016/critique-gibson-archangel-1.md b/articles/2016/critique-gibson-archangel-1.md index 2792089..7da748c 100644 --- a/articles/2016/critique-gibson-archangel-1.md +++ b/articles/2016/critique-gibson-archangel-1.md @@ -5,24 +5,24 @@ Date: May 22, 2016 Update: Oct 12, 2016; May 4, 2017; September 18, 2017 Keywords: critique, Sci-Fi, livre, comic book, William Gibson Summary: « Archangel » est une nouvelle série de comic books. Très attendue, car écrite par William Gibson, célèbre auteur de romans de science-fiction (déjà évoqué sur ce blog). Le premier des 5 chapitres vient de sortir, je prévois d’en accompagner la publication avec une série de billets de blogs. -Image: http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/archangel-1-010-B.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/thumbnail-archangel-1.png +Image: https://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/archangel-1-010-B.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/thumbnail-archangel-1.png Language: fr -_Archangel_ est une nouvelle série de comic books. Très attendue, car écrite par William Gibson, célèbre auteur de romans de science-fiction (déjà évoqué [sur ce blog](http://www.vtourraine.net/blog/tags/william-gibson)). Le premier des 5 chapitres vient de sortir, je prévois d’en accompagner la publication avec une série de billets de blogs. +_Archangel_ est une nouvelle série de comic books. Très attendue, car écrite par William Gibson, célèbre auteur de romans de science-fiction (déjà évoqué [sur ce blog](/blog/tags/william-gibson)). Le premier des 5 chapitres vient de sortir, je prévois d’en accompagner la publication avec une série de billets de blogs. -![Couverture Archangel #1, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/archangel-1-001.jpg) +![Couverture Archangel #1, image IDW](/blog/img/2016/critique-gibson-archangel-1/archangel-1-001.jpg) _**SPOILER ALERT** : cet article dévoile certains éléments de l’intrigue d’Archangel #1._ ## // -![Extrait Archangel #1, page 3, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/archangel-1-003-A.jpg) +![Extrait Archangel #1, page 3, image IDW](/blog/img/2016/critique-gibson-archangel-1/archangel-1-003-A.jpg) Tout commence en 2016, dans un présent qui n’est pas le nôtre. Une réalité parallèle post-apocalyptique, avec ses villes en ruines. Aucune explication donnée. Guerre nucléaire ? Désastre écologique ? Mais la bonne nouvelle, c’est que la chirurgie esthétique se porte bien, avec le vice-président Henderson qui subit des opérations pour ressembler… à son grand-père. Avec le sourire de celui qui s’apprête à faire un mauvais coup, pas d’ambiguïté le concernant, on a affaire au principal antagoniste de l’histoire. -![Extrait Archangel #1, page 5, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/archangel-1-005-A.jpg) +![Extrait Archangel #1, page 5, image IDW](/blog/img/2016/critique-gibson-archangel-1/archangel-1-005-A.jpg) Étape suivante : le « splitter », c’est-à-dire la machine à voyager dans le temps. On y découvre le major Torres, qui prépare le « transfert quantique » du vice-président et du commando qui l’accompagne. Les voilà arrivés en 1945 au Pentagon, au bureau d’un certain Henderson. La rencontre entre le petit-fils et le grand-père tourne court avec l’assassinat de l’aïeul par sa progéniture. L’acte est habilement suggéré par la teinte rouge sur la dernière case de la page. Cet évènement est doublement intéressant, puisqu’en plus d’exposer une partie du plan (forcément machiavélique) d’Henderson junior, il tranche un des principaux clichés du voyage dans le temps : [le paradoxe du grand-père](https://en.wikipedia.org/wiki/Grandfather_paradox). @@ -36,7 +36,7 @@ Ce n’est pas un style que j’apprécie en général, mais c’était sans dou ## // -![Extrait Archangel #1, page 10, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-1/archangel-1-010-B.jpg) +![Extrait Archangel #1, page 10, image IDW](/blog/img/2016/critique-gibson-archangel-1/archangel-1-010-B.jpg) > _« Naomi reads Astounding, so she believes in the Future and has a flexible, imaginative mindset. »_ > William Gibson [(@GreatDismal)](https://twitter.com/GreatDismal/status/733373648036233216) @@ -55,7 +55,7 @@ Ce premier chapitre remplit parfaitement sa mission. On se familiarise avec les ### Série - Archangel #1 -- [Archangel #2](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-2) -- [Archangel #3](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-3) -- [Archangel #4](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-4) -- [Archangel #5](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-5) +- [Archangel #2](/blog/2016/critique-gibson-archangel-2) +- [Archangel #3](/blog/2016/critique-gibson-archangel-3) +- [Archangel #4](/blog/2017/critique-gibson-archangel-4) +- [Archangel #5](/blog/2017/critique-gibson-archangel-5) diff --git a/articles/2016/critique-gibson-archangel-2.md b/articles/2016/critique-gibson-archangel-2.md index 3041b70..7623ba5 100644 --- a/articles/2016/critique-gibson-archangel-2.md +++ b/articles/2016/critique-gibson-archangel-2.md @@ -5,27 +5,27 @@ Date: Jul 17, 2016 Update: Oct 12, 2016; May 4, 2017; September 18, 2017 Keywords: critique, Sci-Fi, livre, comic book, William Gibson Summary: Un rythme de publication exceptionnellement lent, pour une série exceptionnelle. Presque deux mois après le premier numéro, voici le deuxième chapitre d’Archangel, le comic book écrit par William Gibson et illustré par Butch Guice. -Image: http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/archangel-2-005-A.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/thumbnail-archangel-2.png +Image: https://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/archangel-2-005-A.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/thumbnail-archangel-2.png Language: fr -Un rythme de publication exceptionnellement lent, pour une série exceptionnelle. Presque deux mois après [le premier numéro](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-1), voici le deuxième chapitre d’Archangel, le comic book écrit par William Gibson et illustré par Butch Guice. +Un rythme de publication exceptionnellement lent, pour une série exceptionnelle. Presque deux mois après [le premier numéro](/blog/2016/critique-gibson-archangel-1), voici le deuxième chapitre d’Archangel, le comic book écrit par William Gibson et illustré par Butch Guice. _**SPOILER ALERT** : cet article dévoile certains éléments de l’intrigue d’Archangel #2._ -![Couverture Archangel #2, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/archangel-2-001.jpg) +![Couverture Archangel #2, image IDW](/blog/img/2016/critique-gibson-archangel-2/archangel-2-001.jpg) ## // On retrouve le pilote survivant, qui va devoir trouver un moyen pour échapper aux américains avant qu’Henderson ne passe aux choses sérieuses. La bonne nouvelle, c’est que le Splitter permet visiblement de communiquer entre le passé et son pseudo-futur. Voici donc à quoi sert la mouche/drone aperçue dans le premier chapitre. C’est discret, mais suffisamment puissant pour libérer le prisonnier de ses menottes. Deux grosses ficelles pour une première page. On ne vient pas pour le réalisme, certes, mais ça paraît un peu facile. -![Extrait Archangel #2, page 5, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/archangel-2-005-A.jpg) +![Extrait Archangel #2, page 5, image IDW](/blog/img/2016/critique-gibson-archangel-2/archangel-2-005-A.jpg) La suite est plus intéressante, à mes yeux. Le pilote se fait livrer un pistolet et une « creepsuit ». Le problème, c’est que la livraison par Splitter n’est visiblement pas d’une précision infaillible, et le pistolet se matérialise en travers d’une table. Tout paraît plus crédible quand on voit une technologie mal fonctionner. Heureusement la creepsuit, elle, est intacte. Utiliser ce terme pour décrire une combinaison d’invisibilité est un parfait exemple de la SF de Gibson. Plutôt que de donner un nom bêtement descriptif, ou un terme technique bidon, il trouve un mot ambigu à souhait (« to creep », se faufiler, « creepy », terrifiant). En y réfléchissant deux secondes, c’est le nom parfait pour décrire cette technologie telle qu’on imagine son utilisation. -![Extrait Archangel #2, page 9, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/archangel-2-009-A.jpg) +![Extrait Archangel #2, page 9, image IDW](/blog/img/2016/critique-gibson-archangel-2/archangel-2-009-A.jpg) À partir de là, l’histoire se remet en marche. Henderson découvre que le prisonnier s’est échappé, et la seule piste concerne la visite de la base le jour même par Naomi Givens. @@ -37,7 +37,7 @@ Au passage, on retrouve Torres qui suit les opérations depuis son triste futur, En 1945, la rencontre au labo tourne mal, et les regards se tournent vers le dernier protagoniste à découvrir, le mystérieux « Mr. Baby ». Un récit feuilletonné se doit de teaser continuellement la suite. -![Extrait Archangel #2, page 18, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-2/archangel-2-018-A.jpg) +![Extrait Archangel #2, page 18, image IDW](/blog/img/2016/critique-gibson-archangel-2/archangel-2-018-A.jpg) Le contenu additionnel pour ce chapitre est nettement plus restreint, il s’agit d’une unique double-page avec un texte assez touchant de Gibson sur sa découverte de la Seconde Guerre mondiale, « The Weird War ». @@ -53,8 +53,8 @@ Globalement, on aimerait voir l’histoire prendre davantage son temps, pour év ### Série -- [Archangel #1](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-1) +- [Archangel #1](/blog/2016/critique-gibson-archangel-1) - Archangel #2 -- [Archangel #3](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-3) -- [Archangel #4](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-4) -- [Archangel #5](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-5) +- [Archangel #3](/blog/2016/critique-gibson-archangel-3) +- [Archangel #4](/blog/2017/critique-gibson-archangel-4) +- [Archangel #5](/blog/2017/critique-gibson-archangel-5) diff --git a/articles/2016/critique-gibson-archangel-3.md b/articles/2016/critique-gibson-archangel-3.md index 2d43934..503726d 100644 --- a/articles/2016/critique-gibson-archangel-3.md +++ b/articles/2016/critique-gibson-archangel-3.md @@ -5,13 +5,13 @@ Date: Oct 12, 2016 Update: May 4, 2017; September 18, 2017 Keywords: critique, Sci-Fi, livre, comic book, William Gibson Summary: Le nouveau chapitre d’Archangel vient tout juste d’être publié, après une longue attente. Il y a toujours une certaine frustration à suivre des chapitres séparés de plusieurs mois, mais on se console en se disant que les auteurs bénéficient du temps nécessaire pour préparer la suite. -Image: http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/archangel-3-008-A.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/thumbnail-archangel-3.jpg +Image: https://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/archangel-3-008-A.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/thumbnail-archangel-3.jpg Language: fr Le nouveau chapitre d’Archangel vient tout juste d’être publié, après une longue attente. Il y a toujours une certaine frustration à suivre des chapitres séparés de plusieurs mois, mais on se console en se disant que les auteurs bénéficient du temps nécessaire pour préparer la suite. -![Couverture Archangel #3, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/archangel-3-001.jpg) +![Couverture Archangel #3, image IDW](/blog/img/2016/critique-gibson-archangel-3/archangel-3-001.jpg) _**SPOILER ALERT** : cet article dévoile certains éléments de l’intrigue d’Archangel #3._ @@ -21,7 +21,7 @@ Tous les personnages principaux se retrouvent dans le club de Herr Säugling, al Toujours plus d’action, avec fusillades et explosion au bazooka. On retrouve les clichés du genre, mélangés avec toujours autant d’affection. Le Berlin d’apres-guerre continue de fonctionner comme le décor idéal pour ce mélange d’intrigues politiques, militaires et technologiques. Certains détails apportent une dose bienvenue de subtilité. La répartition de l’action sur plusieurs étages fait joliment écho à la structure du récit lui même, entre les plaisirs faciles de surface et les machinations souterraines plus obscures. -![Extrait Archangel #3, page 8, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/archangel-3-008-A.jpg) +![Extrait Archangel #3, page 8, image IDW](/blog/img/2016/critique-gibson-archangel-3/archangel-3-008-A.jpg) Mais encore une fois, l’histoire paraît trop précipitée. On ne sait toujours rien sur les motivations précises de Junior, et l’intérêt de Givens pour les visiteurs du futur. Ces mystères sont visiblement cultivés consciemment par Gibson, comme par exemple lorsqu’une potentielle révélation du pilote ("You’re following me. No shit. I need—") est interrompue par l’arrivée des antagonistes. Mais l’impression reste la même. J’aimerais que les personnages respirent davantage, et je pense que la trame globale serait plus convaincante si elle était moins condensée. @@ -29,7 +29,7 @@ Mais encore une fois, l’histoire paraît trop précipitée. On ne sait toujour Pour un premier comic book, Gibson et IDW ont sûrement raison de garder les choses courtes. Mieux vaut frustrer par le manque, qu’ennuyer par l’excès. Mais c’est un peu dommage de voir autant de bonnes idées survolées si rapidement. Il est facile d’imaginer comment cette même histoire pourrait exister sous la forme d’une série télévisée. C’était le format originellement prévu pour ce projet, et on sait maintenant que ce sera peut être sa prochaine incarnation. Gibson a en effet [révélé](https://twitter.com/GreatDismal/status/761813928158429184) lors de Comic-Con San Diego 2016 que les droits d’adaptation pour la télévision ont été acquis par un acheteur non précisé. -![Extrait Archangel #3, page 24, image IDW](http://www.vtourraine.net/blog/img/2016/critique-gibson-archangel-3/archangel-3-024-B.jpg) +![Extrait Archangel #3, page 24, image IDW](/blog/img/2016/critique-gibson-archangel-3/archangel-3-024-B.jpg) ### Liens @@ -39,8 +39,8 @@ Pour un premier comic book, Gibson et IDW ont sûrement raison de garder les cho ### Série -- [Archangel #1](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-1) -- [Archangel #2](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-2) +- [Archangel #1](/blog/2016/critique-gibson-archangel-1) +- [Archangel #2](/blog/2016/critique-gibson-archangel-2) - Archangel #3 -- [Archangel #4](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-4) -- [Archangel #5](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-5) +- [Archangel #4](/blog/2017/critique-gibson-archangel-4) +- [Archangel #5](/blog/2017/critique-gibson-archangel-5) diff --git a/articles/2016/decoupage-methodes-fonctions.md b/articles/2016/decoupage-methodes-fonctions.md index 7c66bc4..9badb20 100644 --- a/articles/2016/decoupage-methodes-fonctions.md +++ b/articles/2016/decoupage-methodes-fonctions.md @@ -25,4 +25,4 @@ Voici donc quelques recommandations : - Limiter les fonctions à un seul niveau d’abstraction - Pas de copier-coller -Tout cela peut paraître évident, ou horriblement contraignant. On trouve souvent ce genre de consignes pour des exercices de programmation, lors des [code retreats](http://coderetreat.org) par exemple. Je trouve utile de garder ces recommandations en tête, pour les appliquer autant que possible. \ No newline at end of file +Tout cela peut paraître évident, ou horriblement contraignant. On trouve souvent ce genre de consignes pour des exercices de programmation, lors des [code retreats](http://coderetreat.org) par exemple. Je trouve utile de garder ces recommandations en tête, pour les appliquer autant que possible. diff --git a/articles/2016/dotswift-2.md b/articles/2016/dotswift-2.md index e51f32e..036c699 100644 --- a/articles/2016/dotswift-2.md +++ b/articles/2016/dotswift-2.md @@ -5,15 +5,15 @@ Date: January 31, 2016 Update: Keywords: Swift Summary: La deuxième édition de dotSwift se déroulait vendredi à Paris. Elle garde le même format, c’est à dire un après-midi avec des interventions de vingt minutes, chacune suivie d’une courte session questions-réponses avec le conférencier, et accompagnées de lightning talks. -Image: http://www.vtourraine.net/blog/img/2016/dotswift-2/dotswift-header.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2016/dotswift-2/thumbnail-dotswift.png +Image: https://www.vtourraine.net/blog/img/2016/dotswift-2/dotswift-header.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2016/dotswift-2/thumbnail-dotswift.png Language: fr La deuxième édition de [dotSwift](http://www.dotswift.io) se déroulait vendredi à Paris. Elle garde le même format, c’est à dire un après-midi avec des interventions de vingt minutes, chacune suivie d’une courte session questions-réponses avec le conférencier, et accompagnées de lightning talks. -![dotSwift, image dotswift.io](http://www.vtourraine.net/blog/img/2016/dotswift-2/dotswift-header.jpg) +![dotSwift, image dotswift.io](/blog/img/2016/dotswift-2/dotswift-header.jpg) -La grande différence avec [l’édition précédente](http://www.vtourraine.net/blog/2015/dotswift-swift), c’est le recul (évidemment tout relatif) vis-à-vis du langage. Pour les speakers comme pour le public, l’année passée a fait de la différence. Les optionals, par exemple, étaient le sujet d’une présentation l’année dernière, alors qu’ils font maintenant partie des acquis supposés. Pas de retour d’expérience général sur la transition vers Swift, cette année il s’agit d’aborder des sujets plus pointus et/ou plus concrets. Au programme : des notions de langage _protocol oriented_, du code asynchrone, et des conseils pour participer à la communauté open-source. +La grande différence avec [l’édition précédente](/blog/2015/dotswift-swift), c’est le recul (évidemment tout relatif) vis-à-vis du langage. Pour les speakers comme pour le public, l’année passée a fait de la différence. Les optionals, par exemple, étaient le sujet d’une présentation l’année dernière, alors qu’ils font maintenant partie des acquis supposés. Pas de retour d’expérience général sur la transition vers Swift, cette année il s’agit d’aborder des sujets plus pointus et/ou plus concrets. Au programme : des notions de langage _protocol oriented_, du code asynchrone, et des conseils pour participer à la communauté open-source. Ça pourrait même sembler déjà trop avancé pour un langage que la plupart des développeurs iOS commencent à peine à mettre en pratique, mais ce genre de conférences ne se prête pas vraiment à des introductions trop générales non plus. Le problème, à l’inverse, vient peut-être du format des présentations. En seulement vingt minutes, difficile d’entrer dans le vif d’un sujet pointu. Ce n’est pas par hasard si les sessions de la WWDC durent jusqu’à une heure. La brièveté imposée a bien sûr ses avantages, mais certains talks auraient sûrement mérité plus d’approfondissement. J’ai l’impression qu’on pourrait combiner des formats courts avec des formats plus longs, idéalement autour d’un thème commun. C’est sans doute trop demander pour une conférence qui dure une demi-journée. @@ -21,6 +21,6 @@ Par ailleurs, cette seconde édition bénéficie grandement de la présence de D Mon reproche principal concerne en fait la salle qui accueille dotSwift cette année encore (comme l’intégralité des dotConferences, me semble-t-il). Le lieu est magnifique, c’est évident, et je comprends bien l’attrait promotionnel d’un tel choix. Mais les sièges sont plutôt étroits (au point de devoir le mentionner dans les mails de préparation), et la salle de réception est trop petite pour échanger confortablement durant les pauses. Rien d’insupportable, mais j’apprécierais un endroit plus confortable. -![Daniel Steinberg à dotSwift 2016, photo [Nicolas Ravelli, CC BY-SA 2.0](https://www.flickr.com/photos/97226415@N08/24659867391/in/album-72157664007173042/)](http://www.vtourraine.net/blog/img/2016/dotswift-2/dotswift-ravelli.jpg) +![Daniel Steinberg à dotSwift 2016, photo [Nicolas Ravelli, CC BY-SA 2.0](https://www.flickr.com/photos/97226415@N08/24659867391/in/album-72157664007173042/)](/blog/img/2016/dotswift-2/dotswift-ravelli.jpg) Dans l’ensemble, pas de doute, dotSwift 2 est une réussite. Avec le projet Swift tout juste open-sourcé par Apple, on ne devrait pas s’ennuyer en attendant la prochaine édition. \ No newline at end of file diff --git a/articles/2016/elsevier-hivebench.md b/articles/2016/elsevier-hivebench.md index 824f7aa..26868fc 100644 --- a/articles/2016/elsevier-hivebench.md +++ b/articles/2016/elsevier-hivebench.md @@ -9,7 +9,7 @@ Image: Language: fr -Voilà maintenant presque cinq ans que je travaille chez [Shazino](http://www.vtourraine.net/blog/2011/rejoins-equipe-shazino). Notre principale application, [Hivebench](https://www.hivebench.com), vient d’être rachetée. C’est l’occasion pour moi de rejoindre Elsevier, son nouveau propriétaire, afin de poursuivre mon travail sur les applications iOS et OS X. +Voilà maintenant presque cinq ans que je travaille chez [Shazino](/blog/2011/rejoins-equipe-shazino). Notre principale application, [Hivebench](https://www.hivebench.com), vient d’être rachetée. C’est l’occasion pour moi de rejoindre Elsevier, son nouveau propriétaire, afin de poursuivre mon travail sur les applications iOS et OS X. Côté développement, tout continue à peu près comme avant. Pour le reste, il s’agit de passer d’une petite start-up française à un grand groupe international employant environ 30000 personnes, incontournable dans le domaine de la recherche, et l’objet de nombreuses critiques. Autant dire que certaines choses seront vraisemblablement différentes. diff --git a/articles/2016/games-keeper-2-0.md b/articles/2016/games-keeper-2-0.md index 140e188..27c099a 100644 --- a/articles/2016/games-keeper-2-0.md +++ b/articles/2016/games-keeper-2-0.md @@ -5,8 +5,8 @@ Date: February 28, 2016 Update: Keywords: iOS, app, making-of Summary: J’ai publié cette semaine la version 2.0 de Games Keeper, une app iOS qui remplace les feuilles de scores de jeux de société. Mise à jour autoproclamée majeure, qui me donne donc l’occasion de parler un peu de ce projet qui évolue doucement mais sûrement depuis sa première version de septembre 2013. -Image: http://www.vtourraine.net/blog/img/2016/games-keeper-2-0/games-keeper-iphones.png -Thumbnail: http://www.vtourraine.net/blog/img/2016/games-keeper-2-0/thumbnail-icone-games-keeper.png +Image: https://www.vtourraine.net/blog/img/2016/games-keeper-2-0/games-keeper-iphones.png +Thumbnail: https://www.vtourraine.net/blog/img/2016/games-keeper-2-0/thumbnail-icone-games-keeper.png Language: fr @@ -17,7 +17,7 @@ J’ai publié cette semaine la version 2.0 de [Games Keeper](http://www.studioa Commençons par le point le plus important : l’icône. -![Icône : alpha, v1.0, v2.0](http://www.vtourraine.net/blog/img/2016/games-keeper-2-0/games-keeper-icons.png) +![Icône : alpha, v1.0, v2.0](/blog/img/2016/games-keeper-2-0/games-keeper-icons.png) Pour rappel, je suis développeur avant d’être concepteur d’icône ou artiste graphique. L’application est sortie en même temps qu’iOS 7, la tendance était donc clairement à la simplicité des formes et des couleurs, et les choses n’ont pas vraiment changé depuis. @@ -28,7 +28,7 @@ L’aspect qui me paraît peut-être le plus délicat concerne le choix des dég Parlons un peu des couleurs justement. -![Interface principale : v1.0, v1.5, v2.0](http://www.vtourraine.net/blog/img/2016/games-keeper-2-0/games-keeper-iphones.png) +![Interface principale : v1.0, v1.5, v2.0](/blog/img/2016/games-keeper-2-0/games-keeper-iphones.png) La version d’origine utilisait uniquement le violet. Plus tard, j’ai commencé à ajouter du orange pour mieux identifier certains boutons (le fameux problème de la visibilité des boutons sans bordures d’iOS 7). @@ -41,7 +41,7 @@ Un autre défi constant dans la conception des interfaces : l’équilibre entr Plusieurs utilisateurs m’avaient demandé d’ajouter telle ou telle fonction. Avec cette version 2.0, j’ai donc ajouté de nouvelles options, mais en revoyant l’interface les concernant. À présent, un utilisateur qui veut commencer une nouvelle partie ne voit que la liste des joueurs ; il lui faudra appuyer sur un bouton pour afficher davantage d’options. Cette approche permet d’offrir plus de flexibilité, tout en simplifiant l’écran principal. -![Interface nouvelle partie, affichage des options](http://www.vtourraine.net/blog/img/2016/games-keeper-2-0/games-options.png) +![Interface nouvelle partie, affichage des options](/blog/img/2016/games-keeper-2-0/games-options.png) ## App diff --git a/articles/2016/games-keeper-watch.md b/articles/2016/games-keeper-watch.md index 1e5462d..7309b03 100644 --- a/articles/2016/games-keeper-watch.md +++ b/articles/2016/games-keeper-watch.md @@ -5,21 +5,21 @@ Date: March 14, 2016 Update: Keywords: WatchKit, app, making-of Summary: Après avoir parlé de WatchKit, puis de la publication de Games Keeper 2.0, il ne me restait qu’une chose à faire : développer Games Keeper pour Apple Watch. C’est maintenant chose faite. -Image: http://www.vtourraine.net/blog/img/2016/games-keeper-watch/games-keeper-watch-photo.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2016/games-keeper-watch/thumbnail-games-keeper-watch.jpg +Image: https://www.vtourraine.net/blog/img/2016/games-keeper-watch/games-keeper-watch-photo.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2016/games-keeper-watch/thumbnail-games-keeper-watch.jpg Language: fr -Après avoir parlé de [WatchKit](http://www.vtourraine.net/blog/2016/watchos-2-transition), puis de la publication de [Games Keeper 2.0](http://www.vtourraine.net/blog/2016/games-keeper-2-0), il ne me restait qu’une chose à faire : développer Games Keeper pour Apple Watch. C’est maintenant [chose faite](https://itunes.apple.com/app/games-keeper/id674138310?mt=8). +Après avoir parlé de [WatchKit](/blog/2016/watchos-2-transition), puis de la publication de [Games Keeper 2.0](/blog/2016/games-keeper-2-0), il ne me restait qu’une chose à faire : développer Games Keeper pour Apple Watch. C’est maintenant [chose faite](https://itunes.apple.com/app/games-keeper/id674138310?mt=8). -![Games Keeper pour Apple Watch](http://www.vtourraine.net/blog/img/2016/games-keeper-watch/games-keeper-watch-photo.jpg) +![Games Keeper pour Apple Watch](/blog/img/2016/games-keeper-watch/games-keeper-watch-photo.jpg) J’aime bien construire une app en commençant par le plus simple possible, pour ensuite envisager d’éventuelles évolutions. J’ai donc fait très simple. L’app propose un unique compteur de score, qu’on peut incrémenter, décrémenter, et remettre à zéro. Tellement basique que ça ressemble plus à un code d’exemple qu’à un projet abouti. Une excellente occasion pour partager le projet dans son intégralité, et commenter le développement avec Swift/WatchKit. ## Storyboard -![Storyboard Games Keeper pour Apple Watch](http://www.vtourraine.net/blog/img/2016/games-keeper-watch/games-keeper-watch-storyboard.png) +![Storyboard Games Keeper pour Apple Watch](/blog/img/2016/games-keeper-watch/games-keeper-watch-storyboard.png) Rien d’extraordinaire pour le Storyboard : un seul controller, avec un label, deux boutons, et un menu. @@ -93,7 +93,7 @@ Lorsqu’on crée un `IBOutlet` avec l’assistant Interface Builder pour une cl Xcode nous empêche d’ailleur de créer une property `IBOutlet` non-optionnelle, ce qui est plutôt logique. -![Xcode : IBOutlet avec Swift](http://www.vtourraine.net/blog/img/2016/games-keeper-watch/xcode-swift-iboutlet.png) +![Xcode : IBOutlet avec Swift](/blog/img/2016/games-keeper-watch/xcode-swift-iboutlet.png) Mais la solution proposée par défaut me semble peu recommandable. Le « ! » en déclaration permet évidemment d’économiser du dépaquetage dans la suite du programme, mais masque complètement la nature instable de tous les appels à la property. Bien-sûr, dans le cas le plus simple (comme ici d’ailleurs), les IBOutlets resteront accessibles pour toute la durée de vie du controller, puisque retenus par l’arborescence des vues. Mais ces property peuvent très bien être mises à `nil`, ce qui ferait crasher l’app avec la déclaration par défaut. diff --git a/articles/2016/mega-moji-imessage.md b/articles/2016/mega-moji-imessage.md index 93483b8..eb9b2ae 100644 --- a/articles/2016/mega-moji-imessage.md +++ b/articles/2016/mega-moji-imessage.md @@ -5,7 +5,7 @@ Date: November 8, 2016 Update: Keywords: iOS, dev Summary: Tous les ans c’est la même chose. Une nouvelle version d’iOS arrive, avec son SDK et ses API, et autant de nouvelles opportunités. Je voulais donc en profiter pour construire une nouvelle app, et essayer d’être présent dès le premier jour de disponibilité de l’OS. -Image: http://www.vtourraine.net/blog/img/2016/mega-moji-imessage/mega-moji-app-store.png +Image: https://www.vtourraine.net/blog/img/2016/mega-moji-imessage/mega-moji-app-store.png Language: fr @@ -27,7 +27,7 @@ Il ne reste donc plus qu’à fournir les stickers eux-mêmes. Autrement dit, il Afin de ne pas surcharger une interface aussi basique avec des centaines d’emojis, j’en retiens simplement une dizaine parmi les plus populaires (cf [source 1](http://fivethirtyeight.com/datalab/the-100-most-used-emojis/), [source 2](https://twitter.com/twitterdata/status/673905956909133824)). Et voici le résultat : -![Mega Moji v0](http://www.vtourraine.net/blog/img/2016/mega-moji-imessage/screen-v0.png) +![Mega Moji v0](/blog/img/2016/mega-moji-imessage/screen-v0.png) On note au passage que les emojis système ne sont pas vectoriels, ils produisent donc des images pixelisées sur des grandes dimensions. Ce n’est clairement pas idéal, mais je ne comptais pas gagner un Apple Design Award de toute façon. @@ -41,7 +41,7 @@ Ma petite app était donc prête pour la sortie d’iOS 10. Seul problème : l Pour résoudre ce problème, j’ai modifié l’app pour utiliser des emojis alternatifs. Le site [EmojiOne](http://emojione.com) propose des images sous licence Creative Commons (CC-BY 4.0), il me suffit de faire correspondre les emojis déjà sélectionnés avec les fichiers `.png` correspondants. Et voilà le résultat : -![Mega Moji v1](http://www.vtourraine.net/blog/img/2016/mega-moji-imessage/screen-v1.png) +![Mega Moji v1](/blog/img/2016/mega-moji-imessage/screen-v1.png) C’est dommage parce que je reviens à un concept d’app qui pourrait fonctionner sans la moindre ligne de code (même si je continue à la construire programmatiquement), et parce que l’utilisation d’emojis ostensiblement différents dévalue l’idée de base. Apple prend des précautions pour qu’une app ne trompe pas l’utilisateur (pour lutter contre le phishing, notamment), c’est une bonne chose. Mais combler une fonctionnalité manquante au système, en restant clairement dans le rôle d’app tierce, ne devrait pas poser problème. @@ -52,10 +52,10 @@ Bref, j’espère que cette règle évoluera un jour, pour permettre à Mega Moj Finalement, [Mega Moji](https://itunes.apple.com/app/mega-moji-emoji-stickers/id1152321201?ls=1&app=messages) était bien disponible pour la sortie d’iOS 10. -![Mega Moji sur l’App Store](http://www.vtourraine.net/blog/img/2016/mega-moji-imessage/mega-moji-app-store.png) +![Mega Moji sur l’App Store](/blog/img/2016/mega-moji-imessage/mega-moji-app-store.png) Je n’étais pas le seul à avoir cette idée, puisqu’on peut trouver d’autres apps iMessage proposant la même chose, parfois avec exactement les mêmes emojis. Deux mois plus tard, l’app a été listée environ 50,000 fois, pour un peu plus de 1,000 installations. Le plus intéressant concerne sans doute la distribution géographique. Le Japon arrive largement en tête, malgré une page App Store entièrement en anglais. Les États-Unis suivent, avec la Suède, la Chine et le Danemark. Je vais peut-être profiter d’une prochaine version pour localiser le nom de l’app. **メガ・モジ!** -![Statistiques iTunes Connect pour Mega Moji](http://www.vtourraine.net/blog/img/2016/mega-moji-imessage/mega-moji-stats.png) +![Statistiques iTunes Connect pour Mega Moji](/blog/img/2016/mega-moji-imessage/mega-moji-stats.png) diff --git a/articles/2016/mixit-2016.md b/articles/2016/mixit-2016.md index a934520..cd1e10a 100644 --- a/articles/2016/mixit-2016.md +++ b/articles/2016/mixit-2016.md @@ -5,18 +5,18 @@ Date: April 17, 2016 Update: May 24, 2016 Keywords: Mix-IT, iOS, app, dev Summary: La nouvelle édition de Mix-IT se déroulera la semaine prochaine, c’était donc le bon moment pour mettre à jour mon app iOS permettant d’en consulter le programme, initialement publiée l’année dernière. -Image: http://www.vtourraine.net/blog/img/2016/mixit-2016/screenshot-session.png +Image: https://www.vtourraine.net/blog/img/2016/mixit-2016/screenshot-session.png Language: fr -La nouvelle édition de Mix-IT se déroulera la semaine prochaine, c’était donc le bon moment pour mettre à jour [mon app iOS](https://itunes.apple.com/app/mix-it/id982003173?mt=8) permettant d’en consulter le programme, initialement publiée [l’année dernière](http://www.vtourraine.net/blog/2015/app-mixit). Le projet est toujours [disponible sur GitHub](https://github.com/vtourraine/mixit), pour les plus curieux. +La nouvelle édition de Mix-IT se déroulera la semaine prochaine, c’était donc le bon moment pour mettre à jour [mon app iOS](https://itunes.apple.com/app/mix-it/id982003173?mt=8) permettant d’en consulter le programme, initialement publiée [l’année dernière](/blog/2015/app-mixit). Le projet est toujours [disponible sur GitHub](https://github.com/vtourraine/mixit), pour les plus curieux. ## Mise à niveau Premier objectif, mettre à jour le connecteur pour l’API de Mix-IT, puisque celle-ci a évolué depuis la dernière édition. Pas de grands changements, il suffit globalement d’actualiser les URLs et de modifier certaines clés dans les réponses du serveur. [Une page de documentation interactive](https://www.mix-it.fr/swagger-ui.html) (Swagger) est maintenant proposée, parfaite pour s’y retrouver rapidement. -![Session Mix-IT](http://www.vtourraine.net/blog/img/2016/mixit-2016/screenshot-session.png) +![Session Mix-IT](/blog/img/2016/mixit-2016/screenshot-session.png) L’autre mise à jour concerne les dates de la conférence, telles qu’affichées dans l’écran d’information. Impossible de récupérer cette information automatiquement, ce sera donc stocké directement dans le code. @@ -27,7 +27,7 @@ La première version proposait une carte (`MKMapView`) indiquant CPE (l’école Cette année, j’ai ajouté les plans de l’intérieur du bâtiment permettant de retrouver les différentes salles. Pas d’API magique, pas de géolocalisation, juste quelques images issues du site web de Mix-IT. On peut les consulter depuis l’écran d’informations, ou en tapant sur le nom d’une salle sur l’écran de détails d’une session. -![Plans Mix-IT](http://www.vtourraine.net/blog/img/2016/mixit-2016/screenshot-plans.png) +![Plans Mix-IT](/blog/img/2016/mixit-2016/screenshot-plans.png) Idéalement, il faudrait pouvoir mettre en valeur la salle en question sur le plan, mais cela demanderait davantage d’images, ou une API dédiée. Pour l’instant, ces quelques images feront l’affaire. @@ -36,7 +36,7 @@ Idéalement, il faudrait pouvoir mettre en valeur la salle en question sur le pl Quand une API propose une fonctionnalité, ça devient tentant de la mettre en pratique côté client. La ressource pour obtenir la liste des sessions accepte un unique paramètre (facultatif) : l’année concernée. Par défaut, on obtient l’édition courante, mais on peut ainsi obtenir les sessions de toutes les éditions depuis 2012. -![About Mix-IT](http://www.vtourraine.net/blog/img/2016/mixit-2016/screenshot-about.png) ![Mix-IT 2012](http://www.vtourraine.net/blog/img/2016/mixit-2016/screenshot-2012.png) +![About Mix-IT](/blog/img/2016/mixit-2016/screenshot-about.png) ![Mix-IT 2012](/blog/img/2016/mixit-2016/screenshot-2012.png) Ça ne sert pas à grand chose pour une app comme la mienne, mais la simplicité à intégrer ces données supplémentaires était trop tentante. Un paramètre à synchroniser en plus pour les sessions, un paramètre à gérer en plus pour le view controller, et le tour est joué. Première session listée pour 2012 : _Create mobile application with PhoneGap_. Je trouve ça amusant. @@ -54,5 +54,5 @@ Ceci étant dit, j’espère que l’app pourra être utile pour les heureux dé > > À l’heure du bilan, je compte 54 téléchargements de l’app cette année, pour 600 participants. C’est-à-dire le même nombre de téléchargements qu’en 2015, pour une augmentation de 20% des participants à Mix-IT. On en déduit logiquement que les 100 participants supplémentaires cette année étaient tous des utilisateurs Android. > -> ![Nombres de téléchargements de l’application](http://www.vtourraine.net/blog/img/2016/mixit-2016/downloads-chart.png) +> ![Nombres de téléchargements de l’application](/blog/img/2016/mixit-2016/downloads-chart.png) diff --git a/articles/2016/nouveaux-macbook-pro.md b/articles/2016/nouveaux-macbook-pro.md index 97c16e4..f00e1cc 100644 --- a/articles/2016/nouveaux-macbook-pro.md +++ b/articles/2016/nouveaux-macbook-pro.md @@ -5,7 +5,7 @@ Date: October 28, 2016 Update: Keywords: hardware Summary: Mon ordinateur personnel est un MacBook Pro 13” « Mid 2010 ». -Image: http://www.vtourraine.net/blog/img/2016/nouveaux-macbook-pro/about-my-mac.png +Image: https://www.vtourraine.net/blog/img/2016/nouveaux-macbook-pro/about-my-mac.png Language: fr @@ -13,7 +13,7 @@ Mon ordinateur personnel est un _MacBook Pro 13” « Mid 2010 »_. Acheté il y a six ans, donc, pour 1.032 €. Si ma mémoire est bonne, il s’agissait d’une configuration de base avec disque dur augmenté à 500 Go, bénéficiant de la remise pour les étudiants. Originellement avec 4 Go de mémoire vive, maintenant doublée via un fournisseur tiers. Le tout propulsé par un magnifique Core 2 Duo à 2,4 GHz. -![« About This Mac »](http://www.vtourraine.net/blog/img/2016/nouveaux-macbook-pro/about-my-mac.png) +![« About This Mac »](/blog/img/2016/nouveaux-macbook-pro/about-my-mac.png) Globalement, une machine de moyenne gamme à l’époque (pour un Mac), à un prix raisonnable. Vous imaginez bien que tout n’y est pas très rapide aujourd’hui. On est loin des performances possibles avec un SSD et un processeur plus récent. diff --git a/articles/2016/star-trek-50-ans.md b/articles/2016/star-trek-50-ans.md index 63f7bd8..7791a0b 100644 --- a/articles/2016/star-trek-50-ans.md +++ b/articles/2016/star-trek-50-ans.md @@ -5,8 +5,8 @@ Date: Septembre 8, 2016 Update: Keywords: Sci-Fi, série, Star Trek Summary: Le premier épisode de « Star Trek » a été diffusé en septembre 1966. La série d’origine n’aura tenu que 3 saisons, mais la franchise continue encore aujourd’hui, adorée par des générations de fans. Avec plus de 700 épisodes et une douzaine de films, tout le monde connaît « Star Trek ». -Image: http://www.vtourraine.net/blog/img/2016/star-trek-50-ans/acosta-breadandcircuses.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2016/star-trek-50-ans/thumbnail-star-trek.jpg +Image: https://www.vtourraine.net/blog/img/2016/star-trek-50-ans/acosta-breadandcircuses.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2016/star-trek-50-ans/thumbnail-star-trek.jpg Language: fr Le premier épisode de _Star Trek_ a été diffusé en septembre 1966. [La série d’origine](https://en.wikipedia.org/wiki/Star_Trek:_The_Original_Series) n’aura tenu que 3 saisons, mais la franchise continue encore aujourd’hui, adorée par des générations de fans. Avec plus de 700 épisodes et une douzaine de films, tout le monde connaît _Star Trek_. @@ -17,13 +17,13 @@ Mais avez-vous déjà regardé un épisode de la série originale ? Ces épisodes ont 50 ans, et c’est le moment idéal pour un binge-watching de rattrapage. Netflix France vient tout juste de publier l’[intégralité de la série](https://www.netflix.com/title/70136140) : si vous êtes abonné c’est parfait, autrement c’est une excellente raison pour essayer le service. -![Star Trek in Cinerama Widescreen, par [Nick Acosta](http://cargocollective.com/nickacosta/Star-Trek-in-Cinerama)](http://www.vtourraine.net/blog/img/2016/star-trek-50-ans/acosta-breadandcircuses.jpg) +![Star Trek in Cinerama Widescreen, par [Nick Acosta](http://cargocollective.com/nickacosta/Star-Trek-in-Cinerama)](/blog/img/2016/star-trek-50-ans/acosta-breadandcircuses.jpg) La série est un formidable mélange d’éléments affreusement datés (les scènes de combat sont surréalistes, pour ne donner qu’un exemple), et de toutes ces choses magnifiquement intemporelles. L’équipage principal est formidable, avec en particulier le trio Kirk–Spock–McCoy. De nombreuses intrigues constituent les fondations de la science-fiction moderne, ce qui donne l’impression en découvrant ces épisodes de les avoir toujours connus. Beaucoup de superlatifs, je sais, mais la série est vraiment à la hauteur. Tout en incluant des épisodes ridiculement mauvais, mais ça n’enlève rien. -![Star Trek in Cinerama Widescreen, par [Nick Acosta](http://cargocollective.com/nickacosta/Star-Trek-in-Cinerama)](http://www.vtourraine.net/blog/img/2016/star-trek-50-ans/acosta-metamorphosis.jpg) +![Star Trek in Cinerama Widescreen, par [Nick Acosta](http://cargocollective.com/nickacosta/Star-Trek-in-Cinerama)](/blog/img/2016/star-trek-50-ans/acosta-metamorphosis.jpg) Il suffisait de voir les nombreux témoignages qui ont suivi le décès de Leonard Nimoy (interprète de Spock) l’année dernière, pour comprendre l’importance de la série. Les astronautes [tweetant](https://en.wikipedia.org/wiki/File:ISS-42_Samantha_Cristoforetti_Leonard_Nimoy_tribute.jpg) le salut vulcain depuis la Station spatiale internationale illustraient superbement la force de cette série, capable d’inspirer celles et ceux qui participent aujourd’hui à l’exploration spatiale. @@ -34,4 +34,4 @@ Il suffisait de voir les nombreux témoignages qui ont suivi le décès de Leona > > _To boldly go where no man has gone before. »_ -![Leonard Nimoy (Mr. Spock) et William Shatner (Captain Kirk), image [NBC Television](https://commons.wikimedia.org/w/index.php?curid=17205358)](http://www.vtourraine.net/blog/img/2016/star-trek-50-ans/nimoy-shatner.jpg) +![Leonard Nimoy (Mr. Spock) et William Shatner (Captain Kirk), image [NBC Television](https://commons.wikimedia.org/w/index.php?curid=17205358)](/blog/img/2016/star-trek-50-ans/nimoy-shatner.jpg) diff --git a/articles/2016/third-party-mailer.md b/articles/2016/third-party-mailer.md index bebf973..49f49e0 100644 --- a/articles/2016/third-party-mailer.md +++ b/articles/2016/third-party-mailer.md @@ -5,7 +5,7 @@ Date: April 10, 2016 Update: Keywords: Swift, iOS, app, making-of Summary: J’ai publié cette semaine une nouvelle bibliothèque Swift pour iOS, qui permet d’interagir avec les clients mails tiers. On peut faire beaucoup de choses avec iOS en 2016, mais on ne peut toujours pas choisir son client mail. -Image: http://www.vtourraine.net/blog/img/2016/third-party-mailer/contacts-settings.png +Image: https://www.vtourraine.net/blog/img/2016/third-party-mailer/contacts-settings.png Language: fr J’ai publié cette semaine [une nouvelle bibliothèque Swift](https://github.com/vtourraine/ThirdPartyMailer) pour iOS, qui permet d’interagir avec les clients mails tiers. @@ -24,7 +24,7 @@ Ma bibliothèque, [ThirdPartyMailer](https://github.com/vtourraine/ThirdPartyMai J’utilise en fait ce code depuis plusieurs années, pour [mon app de carnet d’adresses](http://www.studioamanga.com/contacts/) qui permet donc de sélectionner un client mail par défaut. Au départ, il s’agissait uniquement de proposer Sparrow comme client alternatif. On peut maintenant utiliser Gmail, Dispatch, Spark et Airmail. -![Sélection du client mail pour Contact[s]](http://www.vtourraine.net/blog/img/2016/third-party-mailer/contacts-settings.png) +![Sélection du client mail pour Contact[s]](/blog/img/2016/third-party-mailer/contacts-settings.png) L’utilisateur peut ainsi initier la rédaction d’un mail avec le client de son choix, directement depuis ce carnet d’adresses. @@ -40,4 +40,4 @@ Je ne suis pas complètement satisfait de l’interface proposée par la bibliot Ce que j’espère surtout, c’est que cette bibliothèque sera rendue obsolète dans 6 mois par la sortie d’iOS 10. En attendant, et pour continuer à supporter les appareils avec une version d’iOS antérieure, ThirdPartyMailer peut rendre service. Tous les clients mails tiers ne proposent pas un URL scheme (Outlook ?), mais la situation peut toujours évoluer avec des mises à jour futures. À ce moment-là, il suffira de compléter ThirdPartyMailer pour supporter autant d’alternatives que possible. -ThirdPartyMailer est hébergé sur [GitHub](https://github.com/vtourraine/ThirdPartyMailer), disponible avec CocoaPods (`pod 'ThirdPartyMailer'`), et testé par [Travis CI](https://travis-ci.org/vtourraine/ThirdPartyMailer). \ No newline at end of file +ThirdPartyMailer est hébergé sur [GitHub](https://github.com/vtourraine/ThirdPartyMailer), disponible avec CocoaPods (`pod 'ThirdPartyMailer'`), et testé par [Travis CI](https://travis-ci.org/vtourraine/ThirdPartyMailer). diff --git a/articles/2016/watchos-2-transition.md b/articles/2016/watchos-2-transition.md index 7119bff..dd136c1 100644 --- a/articles/2016/watchos-2-transition.md +++ b/articles/2016/watchos-2-transition.md @@ -5,13 +5,13 @@ Date: February 12, 2016 Update: Keywords: dev, watchOS, WatchKit Summary: J’ai récemment eu l’occasion de mettre à jour une application pour watchOS 2. Un peu en retard, pour un OS disponible depuis septembre dernier. Mais ce passage n’est pas anodin, car le mode de fonctionnement des apps s’en trouve littéralement renversé. -Image: http://www.vtourraine.net/blog/img/2016/watchos-2-transition/dev-watchos-2.png +Image: https://www.vtourraine.net/blog/img/2016/watchos-2-transition/dev-watchos-2.png Language: fr J’ai récemment eu l’occasion de mettre à jour [une application][labtimer] pour watchOS 2. Un peu en retard, pour un OS disponible depuis septembre dernier. Mais ce passage n’est pas anodin, car le mode de fonctionnement des apps s’en trouve littéralement renversé. -![_Developing for watchOS 2_, image [developer.apple.com](https://developer.apple.com/watchos/)](http://www.vtourraine.net/blog/img/2016/watchos-2-transition/dev-watchos-2.png) +![_Developing for watchOS 2_, image [developer.apple.com](https://developer.apple.com/watchos/)](/blog/img/2016/watchos-2-transition/dev-watchos-2.png) Avec watchOS 1, les apps tierces pour Apple Watch étaient pilotées à distance, depuis une _App Extension_ se trouvant sur l’iPhone associé. Avec watchOS 2, cette Extension se trouve maintenant sur la montre elle-même, ce qui donne des apps « natives ». Il s’agit d’une amélioration significative, qui permet aux apps de s’exécuter beaucoup plus rapidement, et surtout d’être utilisables même lorsque l’iPhone n’est pas à portée. diff --git a/articles/2016/wwdc-2016-testing.md b/articles/2016/wwdc-2016-testing.md index 3d6796a..618beb1 100644 --- a/articles/2016/wwdc-2016-testing.md +++ b/articles/2016/wwdc-2016-testing.md @@ -5,8 +5,8 @@ Date: June 18, 2016 Update: Keywords: WWDC, unit test Summary: Dans le cadre de la WWDC 2016, voici un compte-rendu de la session « Advanced Testing and Continuous Integration ». Des informations trop renversantes pour être mentionnées lors du keynote, accrochez-vous bien. -Image: http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-1-summary.png -Thumbnail: http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/thumbnail-wwdc-2016-testing.jpg +Image: https://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-1-summary.png +Thumbnail: https://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/thumbnail-wwdc-2016-testing.jpg Language: fr @@ -19,7 +19,7 @@ Vous pouvez bien sûr retrouver la vidéo, les slides, et la documentation assoc On commence avec une longue introduction au test et à l’intégration continue avec Xcode. Pour une session qui se veut « advanced », c’est un peu surprenant ; mais comme il s’agit de l’unique session sur le sujet cette année, c’est sans doute une bonne idée. -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-1-summary.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-1-summary.png) L’occasion de (re)présenter Xcode Server avec Xcode Bot, la solution d’intégration continue présentée en 2015, qui s’exécute sur un Mac équipé de macOS Server, et se pilote depuis Xcode. On mentionne également UI Testing pour les tests d’interface, la nouveauté la plus marquante de l’année passée. @@ -32,25 +32,25 @@ Jusqu’ici, rien de nouveau, mais c’est toujours intéressant de résumer le Enfin une nouveauté : Xcode 8 prend mieux en charge les crash logs provenant du déroulement des tests. On peut maintenant les retrouver dans le rapport de test et dans le « Debug Navigator », pour les tests locaux et pour Xcode Bot. Une excellente nouvelle. -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-2-crash-logs.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-2-crash-logs.png) ## Xcode Server Quelques améliorations pour Xcode Server, avec des options supplémentaires concernant l’envoi des mails d’alerte. Le contenu des mails est également revu (supposément plus intelligent, pour identifier les personnes responsables au-delà d’un simple `blame`). -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-3-triggers.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-3-triggers.png) Plus intéressant, le rapport de test mettra maintenant en évidence les changements de configuration. Par exemple si vous modifiez le deployment target de votre projet, Xcode affichera clairement ce changement pour mieux contextualiser cette intégration. Encore une excellente idée. -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-4-upgrade.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-4-upgrade.png) ## Testing user Xcode Server a toujours exécuté les tests avec un compte utilisateur dédié. Jusque là, cet utilisateur était géré de façon automatique, et il était impossible d’intéragir avec. Nouveauté Xcode 8 : cet utilisateur est maintenant éditable, et peut également être utilisé comme n’importe quel compte. On peut donc se logger avec cet utilisateur, modifier n’importe quelle configuration, et avoir ces changements appliqués aux tests. -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-5-testing-user.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-5-testing-user.png) Apple a donné un exemple intéressant. On peut ainsi dupliquer le « device » du simulateur tvOS, et désactiver les services de localisation pour l’un des deux. De cette manière, on peut écrire deux suites de tests, une avec les services actifs, l’autre sans. @@ -63,11 +63,11 @@ Impossible de parler de test avec Xcode sans évoquer `xcodebuild`. Encore une f Avec `-only-testing`, il est possible de se limiter à un bundle, à une suite, ou à un test case particulier (ou une combinaison des trois). À l’inverse, `-skip-testing` permet d’omettre certains tests. -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-6-test-options.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-6-test-options.png) Toujours plus fort, il est maintenant possible de compiler pour les tests sans tester (`build-for-testing`), ou de tester sans compiler (`test-without-building`). La première opération génère un nouveau fichier `xctestrun`, qui transmet les paramètres de test pour la seconde. -![Extrait WWDC 2016 – session 409, image Apple](http://www.vtourraine.net/blog/img/2016/wwdc-2016-testing/409-7-xcodebuild.png) +![Extrait WWDC 2016 – session 409, image Apple](/blog/img/2016/wwdc-2016-testing/409-7-xcodebuild.png) Aucun doute, il s’agit bien là d’« advanced testing ». Ce genre de manipulation correspond à une utilisation très poussée d’Xcode. Pour la grande majorité des projets, le mode de fonctionnement standard d’Xcode Server est amplement suffisant. Mais on sait bien que l’intégration continue peut être mise en place dans des contextes très variés, et dans ces cas Xcode 8 apporte des améliorations significatives. diff --git a/articles/2017/2016-bilan.md b/articles/2017/2016-bilan.md index 3bb868c..bea3aee 100644 --- a/articles/2017/2016-bilan.md +++ b/articles/2017/2016-bilan.md @@ -11,11 +11,11 @@ Language: fr Le passage du 31 décembre au 1er janvier n’apporte aucun changement particulier, mais c’est toujours une bonne occasion pour prendre un peu de recul. S’arrêter quelques minutes et essayer de résumer sous la forme d’un billet de blog ce qui s’est passé en 2016. -Après 5 années chez Shazino, [me voici donc](http://www.vtourraine.net/blog/2016/elsevier-hivebench) chez Elsevier pour continuer à travailler sur le même projet. C’est assez fascinant de voir comment un projet se trouve transplanté d’une entreprise à une autre. L’équipe s’est agrandie considérablement, et la direction générale du projet évolue forcément. Il est encore un peu tôt pour en tirer des conclusions, mais je suis convaincu qu’il s’agit d’une excellente opportunité d’évolution, pour le projet comme pour moi. +Après 5 années chez Shazino, [me voici donc](/blog/2016/elsevier-hivebench) chez Elsevier pour continuer à travailler sur le même projet. C’est assez fascinant de voir comment un projet se trouve transplanté d’une entreprise à une autre. L’équipe s’est agrandie considérablement, et la direction générale du projet évolue forcément. Il est encore un peu tôt pour en tirer des conclusions, mais je suis convaincu qu’il s’agit d’une excellente opportunité d’évolution, pour le projet comme pour moi. Concernant le développement iOS à titre personnel, le problème consiste à trouver un équilibre entre la création de nouveaux projets et l’entretien des apps existantes. Avec une demi-douzaine de projets en cours, et compte-tenu des changements liés à iOS 10, ce n’est pas facile de trouver le temps libre pour tout réaliser. -J’ai tenu à publier une nouvelle application, pour le plaisir de lancer un nouveau projet de zéro. Comme expliqué dans [un billet précédent](http://www.vtourraine.net/blog/2016/mega-moji-imessage), j’ai donc profité des apps pour iMessage arrivées avec iOS 10 pour sortir Mega Moji. Il s’agit d’un pack de stickers particulièrement basique, mais pas complètement inutile pour autant. +J’ai tenu à publier une nouvelle application, pour le plaisir de lancer un nouveau projet de zéro. Comme expliqué dans [un billet précédent](/blog/2016/mega-moji-imessage), j’ai donc profité des apps pour iMessage arrivées avec iOS 10 pour sortir Mega Moji. Il s’agit d’un pack de stickers particulièrement basique, mais pas complètement inutile pour autant. Je pensais me contenter d’une seule nouvelle app pour 2016, mais une autre opportunité s’est présentée plus récemment. Avec les pics de pollution qui affectent fréquemment la région où j’habite, je voulais simplement suivre l’indice de qualité de l’air local, idéalement sous la forme d’un widget iOS. On arrive alors à une situation classique : ne trouvant pas d’application répondant à mon besoin, je me lance rapidement dans la conception de mon propre widget. Là aussi, le projet est extrêmement simple, mais cela suffit à répondre à un besoin. Et comme l’App Store facilite la distribution d’une telle application, il a suffit de quelques métadonnées [pour la publier](https://itunes.apple.com/app/air-grenoble/id1183533416?mt=8). Je ne sais pas comment ces projets vont évoluer, mais j’apprécie réellement de cultiver ces nouvelles pousses. diff --git a/articles/2017/code-commentaire-annee.md b/articles/2017/code-commentaire-annee.md index e252c02..8fa501c 100644 --- a/articles/2017/code-commentaire-annee.md +++ b/articles/2017/code-commentaire-annee.md @@ -5,19 +5,19 @@ Date: January 26, 2017 Update: Keywords: dev Summary: À la création d’un nouveau fichier, Xcode insère systématiquement un en-tête contenant des renseignements de base : nom du fichier et du projet, le créateur, la date de création, et le nom de l’organisation attachée au projet. -Image: http://www.vtourraine.net/blog/img/2017/code-commentaire-annee/comment-header.png +Image: https://www.vtourraine.net/blog/img/2017/code-commentaire-annee/comment-header.png Language: fr À la création d’un nouveau fichier, Xcode insère systématiquement un en-tête contenant des renseignements de base : nom du fichier et du projet, le créateur, la date de création, et le nom de l’organisation attachée au projet. -![Commentaire Xcode](http://www.vtourraine.net/blog/img/2017/code-commentaire-annee/comment-header.png) +![Commentaire Xcode](/blog/img/2017/code-commentaire-annee/comment-header.png) Vous avez alors trois options. **Ignorer** complètement cette partie du fichier, et la laisser telle quelle. La **supprimer**, tout simplement. Ou encore la **remplacer** avec un autre format spécifique à votre entreprise ou à votre projet. Le choix le plus raisonnable consiste probablement à se débarrasser de cet en-tête. Il ne remplit aucune fonction particulière, et ces métadonnées sont déjà systématiquement gérées par votre logiciel de gestion de versions (`git log/diff/blame`, etc). Un peu par paresse, j’ai tendance à laisser ce bloc dans mes codes sources. Mais je lui apporte une modification significative, une fois par an : j’actualise l’année du copyright. -![Commentaire Xcode mis à jour](http://www.vtourraine.net/blog/img/2017/code-commentaire-annee/comment-header-updated.png) +![Commentaire Xcode mis à jour](/blog/img/2017/code-commentaire-annee/comment-header-updated.png) De cette manière, à chaque fois que j’ouvre un fichier, je peux me faire une idée de son historique en un clin œil. Par exemple : « 2017 » ? Voilà une classe toute récente. « 2014 » ? Ça fait longtemps que je n’y ai pas touché, ça mérite peut-être une mise-à-jour de certaines APIs. « 2008-2016 » ? Woooow, ce fichier est probablement là depuis le début de ce projet, mais il est toujours d’actualité. Et donc, si j’édite un fichier pour la première fois cette année, je peux très simplement modifier l’en-tête pour suivre son évolution. diff --git a/articles/2017/critique-gibson-archangel-4.md b/articles/2017/critique-gibson-archangel-4.md index 8ac6132..0091b5a 100644 --- a/articles/2017/critique-gibson-archangel-4.md +++ b/articles/2017/critique-gibson-archangel-4.md @@ -5,27 +5,27 @@ Date: May 4, 2017 Update: September 18, 2017 Keywords: critique, Sci-Fi, livre, comic book, William Gibson Summary: Le nouveau chapitre d’Archangel est arrivé, avec encore davantage de retard que le précédent. La bonne nouvelle, c’est qu’on a maintenant une date de sortie pour la version hardcover qui rassemblera l’intégralité de ce comic book. Le cinquième et dernier chapitre devrait donc arriver (au plus tard) cet été. -Image: http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/archangel-4-018-B.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/thumbnail-archangel-4.png +Image: https://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/archangel-4-018-B.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/thumbnail-archangel-4.png Language: fr Le nouveau chapitre d’Archangel est arrivé, avec encore davantage de retard que le précédent. On constate que Butch Guice est maintenant accompagné au dessin par Alejandro Barrioneuvo. J’ignore s’il s’agit d’une raison ou d’une conséquence de cette publication tardive, mais ce partage du crayon laisse toujours une mauvaise impression, quand le style évolue d’une page à l’autre sans justification narrative ou formelle. La bonne nouvelle, c’est qu’on a maintenant une date de sortie pour la version [hardcover](https://www.amazon.com/dp/1631408755/) qui rassemblera l’intégralité de ce comic book. Le cinquième et dernier chapitre devrait donc arriver (au plus tard) cet été. _**SPOILER ALERT** : cet article dévoile certains éléments de l’intrigue d’Archangel #4._ -![Couverture Archangel #4, image IDW](http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/archangel-4-001.jpg) +![Couverture Archangel #4, image IDW](/blog/img/2017/critique-gibson-archangel-4/archangel-4-001.jpg) ## // Revenons-en à cet Archangel #4. On obtient enfin des réponses. On sait maintenant comment le futur a évolué en monde post-apocalyptique, et par la même occasion, comment le pilote compte corriger la situation. Beaucoup de dialogues, mais qui sont les bienvenus et nous préparent au dernier acte. -![Extrait Archangel #4, page 6, image IDW](http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/archangel-4-006-B.jpg) +![Extrait Archangel #4, page 6, image IDW](/blog/img/2017/critique-gibson-archangel-4/archangel-4-006-B.jpg) Concernant les motivations des différents personnages, une réplique en particulier a retenu mon attention. Quand le pilote confronte le tireur au sujet des intentions de Junior, le tireur répond que notre monde n’est pas pour Henderson, mais juste pour s’amuser (« this one’s for fun »). Je ne sais pas si le tireur parle de plaisir à titre personnel ou pour Henderson, mais dans les deux cas, c’est un retournement plutôt habile du cliché de l’antagoniste obsédé par la conquête du monde. Aucune raison particulière, ni stratagème ni désir de revanche, cette fois le méchant veut seulement s’amuser. Ça rappelle un des thèmes principaux de Westworld (film/série TV), et sa réflection sur le divertissement poussé à l’extrême, dans un contexte littéralement détaché de la réalité. Pour Archangel il ne s’agit que d’une réplique isolée, mais qui re-contextualise subtilement son histoire. -![Extrait Archangel #4, page 18, image IDW](http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-4/archangel-4-018-B.jpg) +![Extrait Archangel #4, page 18, image IDW](/blog/img/2017/critique-gibson-archangel-4/archangel-4-018-B.jpg) ## // @@ -41,8 +41,8 @@ J’ai souvent trouvé les conclusions des romans de Gibson décevantes, j’att ### Série -- [Archangel #1](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-1) -- [Archangel #2](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-2) -- [Archangel #3](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-3) +- [Archangel #1](/blog/2016/critique-gibson-archangel-1) +- [Archangel #2](/blog/2016/critique-gibson-archangel-2) +- [Archangel #3](/blog/2016/critique-gibson-archangel-3) - Archangel #4 -- [Archangel #5](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-5) +- [Archangel #5](/blog/2017/critique-gibson-archangel-5) diff --git a/articles/2017/critique-gibson-archangel-5.md b/articles/2017/critique-gibson-archangel-5.md index 219da29..24369ce 100644 --- a/articles/2017/critique-gibson-archangel-5.md +++ b/articles/2017/critique-gibson-archangel-5.md @@ -5,27 +5,27 @@ Date: September 18, 2017 Update: Keywords: critique, Sci-Fi, livre, comic book, William Gibson Summary: Le voici enfin, le cinquième et ultime chapitre. Le temps est venu de faire un bilan sur ce premier comic book de William Gibson, forcément très attendu. -Image: http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/archangel-5-008-B.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/thumbnail-archangel-5.png +Image: https://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/archangel-5-008-B.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/thumbnail-archangel-5.png Language: fr Le voici enfin, le cinquième et ultime chapitre. Le temps est venu de faire un bilan sur ce premier comic book de William Gibson, forcément très attendu. _**SPOILER ALERT** : cet article dévoile certains éléments de l’intrigue d’Archangel #5._ -![Couverture Archangel #5, image IDW](http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/archangel-5-001.jpg) +![Couverture Archangel #5, image IDW](/blog/img/2017/critique-gibson-archangel-5/archangel-5-001.jpg) ## // Pour ce dernier tome, le dessin est assuré par Wagner Reis (après trois tomes et demi par Butch Guice). Je suppose que ce changement est lié d’une façon ou d’une autre aux multiples retards de publication de la série. Quoi qu’il en soit, le résultat n’est pas heureux. Le ton graphique reste consistant, mais les personnages sont difficilement reconnaissables, et les séquences d’action virent au ridicule. Cette situation serait plus facilement excusée pour un tome intermédiaire, mais pour une conclusion, c’est vraiment regrettable. -![Extrait Archangel #5, page 8, image IDW](http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/archangel-5-008-B.jpg) +![Extrait Archangel #5, page 8, image IDW](/blog/img/2017/critique-gibson-archangel-5/archangel-5-008-B.jpg) ## // Côté écriture, on poursuit sur les bases solidement posées par les chapitres précédents. L’histoire arrive au climax attendu, avec de l’action pulp, et une dose de voyage dans le temps pour ajouter un peu de piment. Tout va un peu trop vite, mais cette légère précipitation participe à maintenir notre intérêt pour l’histoire. Rien de surprenant, un dernier acte très classique, mais il faut encore une fois saluer la maîtrise du rythme narratif propre aux comic books. Gibson a réussi à adapter son écriture au medium, et c’est peut-être la plus grande victoire de ce livre. -![Extrait Archangel #5, page 17, image IDW](http://www.vtourraine.net/blog/img/2017/critique-gibson-archangel-5/archangel-5-017-B.jpg) +![Extrait Archangel #5, page 17, image IDW](/blog/img/2017/critique-gibson-archangel-5/archangel-5-017-B.jpg) ## // @@ -41,8 +41,8 @@ William Gibson a déjà annonce que son prochain roman, [« Agency »](https:/ ### Série -- [Archangel #1](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-1) -- [Archangel #2](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-2) -- [Archangel #3](http://www.vtourraine.net/blog/2016/critique-gibson-archangel-3) -- [Archangel #4](http://www.vtourraine.net/blog/2017/critique-gibson-archangel-4) +- [Archangel #1](/blog/2016/critique-gibson-archangel-1) +- [Archangel #2](/blog/2016/critique-gibson-archangel-2) +- [Archangel #3](/blog/2016/critique-gibson-archangel-3) +- [Archangel #4](/blog/2017/critique-gibson-archangel-4) - Archangel #5 diff --git a/articles/2017/dotswift-3.md b/articles/2017/dotswift-3.md index 18519a7..a44a43d 100644 --- a/articles/2017/dotswift-3.md +++ b/articles/2017/dotswift-3.md @@ -5,13 +5,13 @@ Date: February 3, 2017 Update: Keywords: Swift Summary: Cela fait maintenant trois ans qu’Apple a présenté Swift, et le langage continue d’évoluer à grande vitesse. La troisième édition de dotSwift s’est déroulée à Paris le mois dernier, reflétant ces évolutions avec une communauté toujours aussi active. -Image: http://www.vtourraine.net/blog/img/2017/dotswift-3/dotSwift-2017-steinberg-ravelli.jpg +Image: https://www.vtourraine.net/blog/img/2017/dotswift-3/dotSwift-2017-steinberg-ravelli.jpg Language: fr Cela fait maintenant trois ans qu’Apple a présenté Swift, et le langage continue d’évoluer à grande vitesse. La troisième édition de [dotSwift](https://www.dotswift.io) s’est déroulée à Paris le mois dernier, reflétant ces évolutions avec une communauté toujours aussi active. -![Daniel Steinberg à dotSwift 2017, [photo Nicolas Ravelli](https://www.flickr.com/photos/97226415@N08/32512442512), CC BY-NC-SA 2.0](http://www.vtourraine.net/blog/img/2017/dotswift-3/dotSwift-2017-steinberg-ravelli.jpg) +![Daniel Steinberg à dotSwift 2017, [photo Nicolas Ravelli](https://www.flickr.com/photos/97226415@N08/32512442512), CC BY-NC-SA 2.0](/blog/img/2017/dotswift-3/dotSwift-2017-steinberg-ravelli.jpg) Le format de dotSwift reste le même. Un après-midi, des sessions de vingt minutes accompagnées de quelques lightning talks, l’ensemble animé par le toujours excellent Daniel Steinberg. Il pilote par ailleurs les deux journées de formation à Swift accompagnant la conférence. J’apprécie vraiment d’avoir une conférence dense et rapide, concentrée sur une demi-journée. J’ai toujours une réserve sur la durée des sessions. Elles sont trop courtes pour aborder un sujet avec un minimum de complexité, mais elles sont trop longues pour certains sujets qui fonctionneraient mieux sous la forme d’un lightning talk. Dans l’ensemble ça reste un bon compromis, mais je serais intéressé par un format plus flexible. @@ -24,5 +24,5 @@ Un an après l’ouverture open-source du projet par Apple, j’aurais égalemen ## Éditions précédentes -- [dotSwift 2015](http://www.vtourraine.net/blog/2015/dotswift-swift) -- [dotSwift 2016](http://www.vtourraine.net/blog/2016/dotswift-2) +- [dotSwift 2015](/blog/2015/dotswift-swift) +- [dotSwift 2016](/blog/2016/dotswift-2) diff --git a/articles/2017/ghost-in-the-shell-intro.md b/articles/2017/ghost-in-the-shell-intro.md index fdc28ac..1075205 100644 --- a/articles/2017/ghost-in-the-shell-intro.md +++ b/articles/2017/ghost-in-the-shell-intro.md @@ -5,8 +5,8 @@ Date: March 7, 2017 Update: Keywords: Sci-Fi, livre, manga, film, série Summary: « Ghost in the Shell » est une des franchises les plus reconnues de l’animation japonaise. L’adaptation cinéma américaine qui arrive ce mois-ci, produite comme un des grands blockbusters de l’année, sera l’occasion pour un très large public de découvrir cette œuvre. Avec les nombreux mangas, livres, films, et séries animées sortis depuis 1989, cela mérite bien une introduction. -Image: http://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/gits-1989.jpg -Thumbnail: http://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/thumbnail-gits.jpg +Image: https://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/gits-1989.jpg +Thumbnail: https://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/thumbnail-gits.jpg Language: fr @@ -20,7 +20,7 @@ Dans toutes ses itérations, _Ghost in the Shell_ est centré sur la « Section _Ghost in the Shell_ est avant-tout un manga, écrit et dessiné par Masamune Shirow entre 1989 et 1996. On y retrouve déjà tous les thèmes et les personnages de la franchise, mais avec une tonalité oscillant entre le sérieux d’une œuvre de science-fiction dure, et un certain comique qui sera très largement effacé des futures adaptations. Ce manga est publié en trois parties : _The Ghost in the Shell_, _2: Man-Machine Interface_ et _1.5: Human Error Processor_. -![The Ghost in the Shell (1989), image Kodansha](http://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/gits-1989.jpg) +![The Ghost in the Shell (1989), image Kodansha](/blog/img/2017/ghost-in-the-shell-intro/gits-1989.jpg) On peut remarquer au passage que la franchise s’intitule _攻殻機動隊_ au Japon, ce qui se traduit plus ou moins en « policiers anti-émeute en carapaces offensives ». Mais l’auteur a toujours préféré le titre anglais, une référence au livre _The Ghost in the Machine_ d’Arthur Koestler. @@ -30,7 +30,7 @@ En 1995 sort la première adaptation sous la forme d’un long métrage d’anim PS : il existe une réédition du film intitulée _Ghost in the Shell 2.0_, contenant notamment de nouveaux plans en 3D. L’immense majorité des fans s’accorde à dire que cette version est à proscrire. -![Ghost in the Shell (1995), image Production I.G](http://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/gits-1995.jpg) +![Ghost in the Shell (1995), image Production I.G](/blog/img/2017/ghost-in-the-shell-intro/gits-1995.jpg) Après un tel succès, une suite était inévitable. En 2004 sort _Innocence_, a.k.a. _Ghost in the Shell 2_. Le film est notamment présenté en compétition au festival de Cannes, un signe de reconnaissance rare pour l’animation japonaise. Cette fois-ci, Oshii s’occupe de l’écriture en plus de la réalisation. _Innocence_ conserve l’excellence esthétique et thématique du premier film, mais sous une forme plus contemplative. Plus cérébral, moins viscéral. C’est un film très intéressant, mais avec un ressenti bien différent du premier. @@ -38,7 +38,7 @@ Après un tel succès, une suite était inévitable. En 2004 sort _Innocence_, a Entre 2002 et 2005 arrive à la télévision japonaise une série animée de 52 épisodes en deux saisons. _Ghost in the Shell: Stand Alone Complex_ suit les mêmes personnages, cette fois-ci avec un format d’enquêtes policières. Chaque épisode ressemble à une histoire courte de science-fiction, explorant les questions liées aux relations homme-machine, pour la société et pour chaque individu. Le résultat est tout à fait fascinant. Le format policier permet à _Ghost in the Shell_ de retrouver un équivalent au rythme qui avait fait le succès du film original, et la nature épisodique de la série permet de couvrir ces thèmes sous des angles toujours renouvelés. L’animation n’a pas la richesse des longs métrages, faute de moyens, mais tire le meilleur de ces contraintes. -![Ghost in the Shell: S.A.C. 2nd GIG, image Production I.G](http://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/gits-sac-2nd-gig.jpg) +![Ghost in the Shell: S.A.C. 2nd GIG, image Production I.G](/blog/img/2017/ghost-in-the-shell-intro/gits-sac-2nd-gig.jpg) _Stand Alone Complex_ a également été adapté sous la forme de livres, mangas et jeux vidéo. Mais il faudra attendre presque une dizaine année pour voir la franchise revenir. @@ -46,7 +46,7 @@ _Stand Alone Complex_ a également été adapté sous la forme de livres, mangas _Ghost in the Shell: Arise_ est un ensemble de cinq moyens métrages animés, sortis entre 2013 et 2015. Ils sont généralement présentés comme des _prequels_ aux films et à la série d’origine. Plus exactement, il s’agit d’une nouvelle interprétation des personnages habituels, avec des évènements se déroulant à la formation de la Section 9. -![Ghost in the Shell: Arise, image Production I.G](http://www.vtourraine.net/blog/img/2017/ghost-in-the-shell-intro/gits-arise.jpg) +![Ghost in the Shell: Arise, image Production I.G](/blog/img/2017/ghost-in-the-shell-intro/gits-arise.jpg) Il existe également un long métrage de 2015 qui donne suite aux évènements de _Arise_. Attention, attention, ce film s’appelle _Ghost in the Shell: The New Movie_. À en croire les critiques sur Amazon, de nombreux acheteurs font la confusion en souhaitant acheter l’original. diff --git a/articles/2017/meilleur-calendrier.md b/articles/2017/meilleur-calendrier.md index 41f7b83..c831ad2 100644 --- a/articles/2017/meilleur-calendrier.md +++ b/articles/2017/meilleur-calendrier.md @@ -5,7 +5,7 @@ Date: September 5, 2017 Update: Keywords: app Summary: Avec la dernière mise à jour de Fantastical, John Gruber faisait remarquer que l’application offre maintenant toutes les fonctionnalités qu’il en attend. -Image: http://www.vtourraine.net/blog/img/2017/meilleur-calendrier/fantastical-week-view.png +Image: https://www.vtourraine.net/blog/img/2017/meilleur-calendrier/fantastical-week-view.png Language: fr @@ -13,7 +13,7 @@ Avec la dernière mise à jour de [Fantastical](http://flexibits.com/fantastical > « It really is a great update. I’m not even sure what to ask for at this point. No app is ever “done”, but at this point Fantastical feels feature complete. » -![Fantastical 2, image Flexibits](http://www.vtourraine.net/blog/img/2017/meilleur-calendrier/fantastical-week-view.png) +![Fantastical 2, image Flexibits](/blog/img/2017/meilleur-calendrier/fantastical-week-view.png) J’utilise Fantastical, et l’application est absolument remarquable. Mais ce billet m’a donné envie d’imaginer quelles pourraient être ses prochaines fonctionnalités. Autrement dit, comment améliorer une app de calendrier pour (me) rendre encore davantage service. diff --git a/articles/2017/native-app-store-review-request.md b/articles/2017/native-app-store-review-request.md index e6427a4..0f5c784 100644 --- a/articles/2017/native-app-store-review-request.md +++ b/articles/2017/native-app-store-review-request.md @@ -5,7 +5,7 @@ Date: June 28, 2017 Update: Keywords: dev, iOS Summary: L’importance des notations sur l’App Store a généralisé le concept du « Please rate this app ». Ces alertes encouragent, de façon plus ou moins insistante, l’utilisateur à laisser un avis sur l’App Store. Tout ça pour obtenir le plus de ★★★★★. -Image: http://www.vtourraine.net/blog/img/2017/native-app-store-review-request/requestreview.png +Image: https://www.vtourraine.net/blog/img/2017/native-app-store-review-request/requestreview.png Language: fr @@ -13,7 +13,7 @@ L’importance des notations sur l’App Store a généralisé le concept du _« Voilà pourquoi Apple fournit depuis iOS 10.3 une API pour standardiser cette démarche, et a très récemment modifié les règles de validation pour interdire les alertes non-officielles. -![Demande d’avis (requestReview) avec iOS 10.3](http://www.vtourraine.net/blog/img/2017/native-app-store-review-request/requestreview.png) +![Demande d’avis (requestReview) avec iOS 10.3](/blog/img/2017/native-app-store-review-request/requestreview.png) > **1.1.7 App Store Reviews:** > Use the provided API to prompt users to review your app; this functionality allows customers to provide an App Store rating and review without the inconvenience of leaving your app, and we will disallow custom review prompts. diff --git a/articles/2017/tester-ios-buddybuild.md b/articles/2017/tester-ios-buddybuild.md index 4b5664c..3358726 100644 --- a/articles/2017/tester-ios-buddybuild.md +++ b/articles/2017/tester-ios-buddybuild.md @@ -5,7 +5,7 @@ Date: May 30, 2017 Update: Keywords: iOS, Xcode, dev Summary: Dès qu’une nouvelle version d’iOS arrive, on aimerait pouvoir abandonner les précédentes. D’une part, pour bénéficier des dernières APIs, mais aussi pour simplifier les conditions d’exécution du code. Or, avec un peu de pragmatisme, il convient généralement de supporter une ou deux versions antérieures afin de ne pas exclure une partie des utilisateurs potentiels. -Image: http://www.vtourraine.net/blog/img/2017/tester-ios-buddybuild/buddybuild-configuration-1.png +Image: https://www.vtourraine.net/blog/img/2017/tester-ios-buddybuild/buddybuild-configuration-1.png Language: fr @@ -26,9 +26,9 @@ Hélas, la gestion d’un serveur d’intégration continue (a.k.a. le _CI serve 5. Une fois la première intégration terminée, allez dans les réglages de l’app (« App Settings »). Dans « Test settings », activez les tests (« Run Tests », « Only run Tests »). 6. Enfin, cliquez sur « Configure » en face de « Run Tests » pour sélectionner les appareils et les versions d’iOS à tester. Sélectionnez au moins un appareil pour chaque version majeure d’iOS supportée par votre application. -![Test settings, buddybuild](http://www.vtourraine.net/blog/img/2017/tester-ios-buddybuild/buddybuild-configuration-1.png) +![Test settings, buddybuild](/blog/img/2017/tester-ios-buddybuild/buddybuild-configuration-1.png) -![Device selection, buddybuild](http://www.vtourraine.net/blog/img/2017/tester-ios-buddybuild/buddybuild-configuration-2.png) +![Device selection, buddybuild](/blog/img/2017/tester-ios-buddybuild/buddybuild-configuration-2.png) Je sais, je sais. Dis comme ça, ça paraît assez compliqué. Mais cette configuration est en fait plutôt rapide, et surtout, devrait vous faire gagner beaucoup de temps à l’avenir. À chaque fois que vous pousserez un nouveau commit, buddybuild se chargera d’exécuter votre test sur toutes les configurations sélectionnées. En cas d’échec, vous recevrez un mail. Le reste du temps, vous pourrez continuer à travailler sans trop vous soucier des anciennes versions d’iOS. diff --git a/articles/2017/things-3.md b/articles/2017/things-3.md index ec4b165..a3810c2 100644 --- a/articles/2017/things-3.md +++ b/articles/2017/things-3.md @@ -5,13 +5,13 @@ Date: September 7, 2017 Update: Keywords: app, iOS, macOS Summary: J’utilise Things 3 depuis sa sortie il y a quelques mois. C’est d’ailleurs une des rares applications que j’utilise quotidiennement aussi bien sur mobile que sur desktop, avec des cas d’utilisation souvent complémentaires. Cette nouvelle version me paraît familière à present, et je pense pouvoir en tirer un premier bilan. -Image: http://www.vtourraine.net/blog/img/2017/things-3/things-3-macos.png +Image: https://www.vtourraine.net/blog/img/2017/things-3/things-3-macos.png Language: fr J’utilise [Things 3](https://culturedcode.com/things/) depuis sa sortie il y a quelques mois. C’est d’ailleurs une des rares applications que j’utilise quotidiennement aussi bien sur mobile que sur desktop, avec des cas d’utilisation souvent complémentaires. Cette nouvelle version me paraît familière à present, et je pense pouvoir en tirer un premier bilan. -![Things 3 macOS, image Cultured Code](http://www.vtourraine.net/blog/img/2017/things-3/things-3-macos.png) +![Things 3 macOS, image Cultured Code](/blog/img/2017/things-3/things-3-macos.png) Pour faire court, c’est une réussite. Things 3 garde les qualités de ses prédécesseurs, apporte certaines améliorations, et en profite pour rafraîchir son interface. Si vous appréciez Things 2, cette nouvelle version vous plaira (et mérite à mon avis son prix). Mais l’évolution est relativement mineure. Son mode de fonctionnement reste fondamentalement le même, et si l’application ne vous convenait pas auparavant, cette nouvelle version n’y changera probablement rien. @@ -49,7 +49,7 @@ J’imagine que les concepteurs de l’application redoutent la complexité tech ## Pas de collaboratif Autre grand absent de Things : le collaboratif. Les données de l’application restent exclusivement personnelles. À vrai dire, je n’en ressens pas le besoin, cette limitation me convient donc parfaitement (en tout cas, tel que j’utilise l’application aujourd’hui). Mais je conçois aussi que ce manque puisse disqualifier Things pour de nombreux utilisateurs. -![Things 3 iOS, image Cultured Code](http://www.vtourraine.net/blog/img/2017/things-3/things-3-ios.png) +![Things 3 iOS, image Cultured Code](/blog/img/2017/things-3/things-3-ios.png) ## Conclusion Je me souviens avoir acheté la license pour Things 2 avec le tarif étudiant, il y a bien, bien longtemps. Depuis, j’ai essayé de nombreuses alternatives. J’en ai même développé une, mais je reviens toujours à Things. diff --git a/lib/constants.rb b/lib/constants.rb index 9185ca7..57a7ad8 100644 --- a/lib/constants.rb +++ b/lib/constants.rb @@ -7,6 +7,6 @@ STYLES_DIRECTORY = "styles/" RENDERED_DIRECTORY = "rendered/" -BLOG_ROOT_URL = "http://www.vtourraine.net/blog/" +BLOG_ROOT_URL = "https://www.vtourraine.net/blog/" MONTHS_FR = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'] diff --git a/styles/default.css.scss b/styles/default.css.scss index 6732ba4..36003c2 100644 --- a/styles/default.css.scss +++ b/styles/default.css.scss @@ -52,7 +52,7 @@ body > header { #main { font-size: 40pt; - background: url('http://www.vtourraine.net/blog/img/notepad.svg'); + background: url('/blog/img/notepad.svg'); background-repeat: no-repeat; background-position: $margin 4px; diff --git a/templates/article.html.haml b/templates/article.html.haml index 0a7f9dd..9c78716 100644 --- a/templates/article.html.haml +++ b/templates/article.html.haml @@ -3,20 +3,20 @@ %head %meta{:charset => "utf-8"} %title #{title} - %link{:rel => "stylesheet", :type => "text/css", :href => "#{blog_url}styles/default.css?upper"} + %link{:rel => "stylesheet", :type => "text/css", :href => "/blog/styles/default.css?abs"} -# %link{:rel => "stylesheet", :type => "text/css", :href => "../styles/default.css"} - %link{:rel => "stylesheet", :type => "text/css", :href => "http://fonts.googleapis.com/css?family=Nunito:300,700"} + %link{:rel => "stylesheet", :type => "text/css", :href => "https://fonts.googleapis.com/css?family=Nunito:300,700"} %link{:rel => "canonical", :href => "#{web_url}"} - %link{:rel => "shortcut icon", :href => "http://www.vtourraine.net/img/vt-16.png"} - %link{:rel => "apple-touch-icon-precomposed", :href => "http://www.vtourraine.net/img/vt-114.png"} - %link{:rel => "apple-touch-icon-precomposed", :href => "http://www.vtourraine.net/img/vt-72.png", :sizes => "72x72"} - %link{:rel => "alternate", :type => "application/atom+xml", :href => "#{blog_url}feed.xml", :title => "Blog (Atom)"} + %link{:rel => "shortcut icon", :href => "/img/vt-16.png"} + %link{:rel => "apple-touch-icon-precomposed", :href => "/img/vt-114.png"} + %link{:rel => "apple-touch-icon-precomposed", :href => "/img/vt-72.png", :sizes => "72x72"} + %link{:rel => "alternate", :type => "application/atom+xml", :href => "/blog/feed.xml", :title => "Blog (Atom)"} %link{:rel => "author", :href => "http://plus.google.com/117326560329576507699", :title => "Vincent Tourraine on Google+"} - %link{:rel => "stylesheet", :href => "#{blog_url}highlight/styles/default.css"} + %link{:rel => "stylesheet", :href => "/blog/highlight/styles/default.css"} - %script{:src => "#{blog_url}highlight/highlight.pack.js"} + %script{:src => "/blog/highlight/highlight.pack.js"} %script hljs.initHighlightingOnLoad(); %meta{:name => "viewport", :content => "width=device-width, user-scalable=no"} @@ -51,9 +51,9 @@ %body.post %header #headline - %a{:href => "http://www.vtourraine.net/"} Vincent Tourraine + %a{:href => "/"} Vincent Tourraine #main - %a{:href => "#{blog_url}"} Blog + %a{:href => "/blog"} Blog %article.post %h1{:itemprop => "name"} @@ -75,25 +75,25 @@ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); %noscript - Please enable JavaScript to view the comments powered by Disqus. - %a{:href => "http://disqus.com", :class => "dsq-brlink"} + Please enable JavaScript to view the comments powered by Disqus. + %a{:href => "https://disqus.com", :class => "dsq-brlink"} blog comments powered by %span.logo-disqus Disqus %footer %nav - %a{:href => "http://www.vtourraine.net"} Vincent Tourraine + %a{:href => "/"} Vincent Tourraine \/ - %a{:href => "http://www.vtourraine.net/projects/"} Projets + %a{:href => "/projects/"} Projets \/ %span Blog \/ - %a{:href => "http://www.vtourraine.net/reblog/"} Reblog + %a{:href => "/reblog/"} Reblog #mail Contact : diff --git a/templates/feed.xml.haml b/templates/feed.xml.haml index e76a849..5d3d9d7 100644 --- a/templates/feed.xml.haml +++ b/templates/feed.xml.haml @@ -2,8 +2,8 @@ %feed{:"xml:lang" => "fr-FR", :xmlns => "http://www.w3.org/2005/Atom"} %title Blog de Vincent Tourraine %subtitle Un blog sur le développement, et tout le reste. - - + + %updated #{last_update}T00:00:00Z %author %name Vincent Tourraine diff --git a/templates/index-custom.html.haml b/templates/index-custom.html.haml index 54f225a..0f47553 100644 --- a/templates/index-custom.html.haml +++ b/templates/index-custom.html.haml @@ -5,11 +5,11 @@ %title Vincent Tourraine - Blog #{title} %link{:rel => "stylesheet", :type => "text/css", :href => "#{blog_url}styles/default.css?nav"} / %link{:rel => "stylesheet", :type => "text/css", :href => "styles/default.css"} - %link{:rel => "stylesheet", :type => "text/css", :href => "http://fonts.googleapis.com/css?family=Nunito:300,700"} + %link{:rel => "stylesheet", :type => "text/css", :href => "https://fonts.googleapis.com/css?family=Nunito:300,700"} - %link{:rel => "shortcut icon", :href => "http://www.vtourraine.net/img/vt-16.png"} - %link{:rel => "apple-touch-icon-precomposed", :href => "http://www.vtourraine.net/img/vt-114.png"} - %link{:rel => "apple-touch-icon-precomposed", :href => "http://www.vtourraine.net/img/vt-72.png", :sizes => "72x72"} + %link{:rel => "shortcut icon", :href => "/img/vt-16.png"} + %link{:rel => "apple-touch-icon-precomposed", :href => "/img/vt-114.png"} + %link{:rel => "apple-touch-icon-precomposed", :href => "/img/vt-72.png", :sizes => "72x72"} %link{:rel => "alternate", :type => "application/atom+xml", :href => "#{blog_url}feed.xml", :title => "Blog (Atom)"} %meta{:name => "viewport", :content => "width=device-width, user-scalable=no"} @@ -28,7 +28,7 @@ %body.blog %header #headline - %a{:href => "http://www.vtourraine.net/"} Vincent Tourraine + %a{:href => "/"} Vincent Tourraine #main %a{:href => "#{blog_url}"} Blog @@ -71,13 +71,13 @@ %footer %nav - %a{:href => "http://www.vtourraine.net"} Vincent Tourraine + %a{:href => "/"} Vincent Tourraine \/ - %a{:href => "http://www.vtourraine.net/projects/"} Projets + %a{:href => "/projects/"} Projets \/ %span Blog \/ - %a{:href => "http://www.vtourraine.net/reblog/"} Reblog + %a{:href => "/reblog/"} Reblog #mail Contact : diff --git a/templates/index.html.haml b/templates/index.html.haml index 271027f..6df0419 100644 --- a/templates/index.html.haml +++ b/templates/index.html.haml @@ -5,11 +5,11 @@ %title Vincent Tourraine - Blog %link{:rel => "stylesheet", :type => "text/css", :href => "#{blog_url}styles/default.css?upper"} / %link{:rel => "stylesheet", :type => "text/css", :href => "styles/default.css"} - %link{:rel => "stylesheet", :type => "text/css", :href => "http://fonts.googleapis.com/css?family=Nunito:300,700"} + %link{:rel => "stylesheet", :type => "text/css", :href => "https://fonts.googleapis.com/css?family=Nunito:300,700"} - %link{:rel => "shortcut icon", :href => "http://www.vtourraine.net/img/vt-16.png"} - %link{:rel => "apple-touch-icon-precomposed", :href => "http://www.vtourraine.net/img/vt-114.png"} - %link{:rel => "apple-touch-icon-precomposed", :href => "http://www.vtourraine.net/img/vt-72.png", :sizes => "72x72"} + %link{:rel => "shortcut icon", :href => "/img/vt-16.png"} + %link{:rel => "apple-touch-icon-precomposed", :href => "/img/vt-114.png"} + %link{:rel => "apple-touch-icon-precomposed", :href => "/img/vt-72.png", :sizes => "72x72"} %link{:rel => "alternate", :type => "application/atom+xml", :href => "#{blog_url}feed.xml", :title => "Blog (Atom)"} %meta{:name => "viewport", :content => "width=device-width, user-scalable=no"} @@ -28,7 +28,7 @@ %body.blog %header #headline - %a{:href => "http://www.vtourraine.net/"} Vincent Tourraine + %a{:href => "/"} Vincent Tourraine #main %a{:href => "#{blog_url}"} Blog @@ -71,13 +71,13 @@ %footer %nav - %a{:href => "http://www.vtourraine.net"} Vincent Tourraine + %a{:href => "/"} Vincent Tourraine \/ - %a{:href => "http://www.vtourraine.net/projects/"} Projets + %a{:href => "/projects/"} Projets \/ %span Blog \/ - %a{:href => "http://www.vtourraine.net/reblog/"} Reblog + %a{:href => "/reblog/"} Reblog #mail Contact :