J'aime les fichiers.

Quand j'étais enfant, j'apprenais juste à utiliser l'ordinateur, j'organisais tous mes fichiers dans des dossiers par type : mes dessins [Kid Pix](https://en.wikipedia.org/wiki/Kid_Pix) dans un, mes villes [SimCity](https://en.wikipedia.org/wiki/SimCity_(1989_video_game)) dans une autre, etc.

J'ai encore des souvenirs distincts de la réflexion sur les meilleures façons d'organiser mes fichiers afin que tout ce qui est important pour moi soit bien rangé et facile à retrouver quand je le voulais. C’était peut-être un signe précoce d’être un maniaque du clean (ou, plus joliment, un minimaliste), mais l’organisation des fichiers m’a aidé à maintenir une tranquillité d’esprit dans un monde informatique par ailleurs désorientant et dispersé. Cela m’a fourni une sorte de sanctuaire dans un domaine d’aventure plus large.

Je me souviens [lorsque Dropbox est sorti en 2009](https://techcrunch.com/2008/03/11/dropbox-the-online-storage-solution-weve-been-waiting-for/) que j'ai immédiatement réalisé comment ce sanctuaire numérique pouvait être étendu au cloud en transformant sa collection de fichiers strictement « locale » en une collection synchronisée avec un stockage « à distance » sur Internet, accessible où que l'on aille et avec n'importe quel appareil que l'on possède. main. La puissance de Dropbox résidait dans le fait que je pouvais simplement y glisser tous mes fichiers organisés et qu'ils seraient instantanément transformés d'une base de données numérique isolée en une base omniprésente, liée et pourtant indépendante de la réalité physique de tout appareil personnel.

Entre-temps, cependant, j'ai construit une carrière dans le développement de sites Web et d'applications qui s'appuient sur toutes sortes de *bases de données*, et non sur les soi-disant *fichiers plats* que j'aime dans ma vie personnelle – ceux que tout être humain normal pourrait ouvrir et lire sans logiciel spécial. Les bases de données présentent de nombreux avantages en facilitant l'interrogation et la mise en relation des données, mais fondamentalement, elles sont insuffisantes en termes de transparence, de transport et de transformation par rapport aux fichiers. Il est tout simplement plus facile de voir le contenu, de le déplacer ailleurs ou de le modifier lorsque ce contenu est stocké dans des fichiers normaux plutôt que dans des bases de données.

Le contenu que nous produisons chacun en tant qu'individu est de plus en plus important pour le monde dans lequel nous vivons, et pour la nature d'Internet en particulier. Chacun de nous est une petite maison d’édition et producteur de contenu, et chaque année nous constatons le pouvoir croissant du rôle que nous jouons dans le domaine public. Mais nous sommes de terribles *gestionnaires* et *artisans*, avec nos données publiques ou privées. 

Nous avons tendance à diffuser notre contenu vers n'importe quel point de distribution qui permet de le présenter le plus facilement à d'autres personnes, mais ce contenu finit sous forme de lignes dans des bases de données que nous contrôlons à peine et affiché sur des sites Web que nous concevons à peine. Même si vous hébergez votre propre blog sur votre propre domaine, il est probable que le contenu soit stocké dans une base de données et sur un serveur dont vous ne vous souvenez plus du mot de passe. Bien sûr, il existe *quelque part*, mais il serait beaucoup plus puissant de tout mettre sous le contrôle immédiat du bout des doigts, tout comme vous contrôlez les fichiers sur votre ordinateur portable à l'aide de [un large éventail de techniques apprises](https://www.youtube.com/watch?v=YtdWHFwmd2o).

Il y a environ un an, j'ai commencé à tenter une convergence de mes deux mondes numériques – mon sanctuaire de fichiers privés et ma multitude de contenus publics (ou semi-publics) en ligne mal gérés – en publiant une nouvelle version de [mon site Web](http://markmhendrickson.com), alimentée par un logiciel open source personnalisé que j'ai créé sous la tente plus large de [Neotoma](http://github.com/neotoma). Le site Web est entièrement alimenté par des fichiers plats que je modifie directement sur mon MacBook, iMac ou iPhone. Ces fichiers sont chargés par la partie [serveur](http://github.com/neotoma/personal-server) du logiciel afin que la partie [site Web](http://github.com/neotoma/personal-web) puisse charger les données qu'il doit afficher sans impliquer aucune sorte de base de données. Par exemple, si vous demandez directement au serveur le contenu qui compose [ce message](http://api.markmhendrickson.com/posts/), vous verrez qu'il fournit exactement le même contenu stocké sous forme de fichier sur mon ordinateur :

![Capture d'écran de la réponse API du serveur personnel Neotoma]()

Until this week, however, any of these files saved to my Dropbox that I wanted to publish to my website had to be copied manually to my website's server using [a script](https://github.com/neotoma/personal-server/blob/fefbdd6eb565958cafb79f94a973a3f6e9438d13/Gruntfile.js#L46), making the convergence I was looking for hardly seamless. My goal has been to hit the save button on my computer's text editor and immediately have any changes go live on my website, without any other extra step required. That way, there's never a question of my content being out of sync between my private and published worlds. I simply have to make the choice as to what content I want private versus public, and that decision is made simply by the organization of files into different folders on my computer. The rest is magic.

I met that goal this week after noticing that Dropbox has [a handy Linux version](https://www.dropbox.com/install-linux) of their sync application that I could install on my website's server and configure to [selectively sync](https://www.dropbox.com/help/desktop-web/linux-commands) just the folders I want to make public. After setting the app up, I now just need to save any file into Dropbox that I want published and wait momentarily for my computer's Dropbox sync application to upload the changes to Dropbox then download them to my server where they'll be published instantly.

I'm hardly the first person to think of this as a technique for personal website publishing. However, I hope to push the principle a lot further by automatically copying my content from a variety of database-driven, corporate services (such as Facebook, Twitter, and Foursquare) to my Dropbox in addition to my independently created content.

That copied content will then get automatically synced not only to my “local” devices (e.g. laptop) for backup as files but also to my website for republishing any way I choose. Aggregated republishing onto one's own website is one of the main use cases for the Neotoma sync service, and I've decided recently that I want to focus on developing the sync service primarily for this use case, dogfooding it on my own website and setting the system up for friends who want to self-publish in the same way as well.

Copying data from a wide range of services into this system will take time and lots of work, so I'm looking to release support for them iteratively, starting with Foursquare since it's an app I use intensively. I'm currently focused on setting up Neotoma to sync my check-ins from Foursquare to my Dropbox and subsequently to my website where I can list them in reverse chronological order, creating a timeline of my life (with photos and other content related to my daily travels).

Then I plan to sync my tips content from Foursquare as well to create custom-designed city guides on my website. These guides will automatically incorporate both the tips and check-ins data I generate on an ongoing basis to display the most up-to-date information about my favorite places in a way that's beautifully packaged, easy to use, and won't go stale.

If you're interested in setting up your personal website in a similar way, I'd be happy to chat about your needs and how my efforts here may help you as well. And if you're a developer interested in helping with any of the software involved, let's talk about Neotoma and where you could make an impact.