diff --git a/project/showcase_site/factory.py b/project/showcase_site/factory.py
index 121e6dc5963f346599c8c4ba745054775ff3ec80..c58be2aac63d887e312fa3bfe026bda17073b567 100644
--- a/project/showcase_site/factory.py
+++ b/project/showcase_site/factory.py
@@ -20,7 +20,6 @@ class ArticleFactory(factory.DjangoModelFactory):
     title = factory.Faker('sentence', locale='fr')
     content = factory.Faker('text', max_nb_chars=2000, locale='fr')
     introduction = factory.Faker('text', max_nb_chars=200, locale='fr')
-    published = factory.Faker('date')
     pinned = factory.Iterator((True, False, False, False))
 
 
diff --git a/project/showcase_site/migrations/0002_auto_20180512_1643.py b/project/showcase_site/migrations/0002_auto_20180512_1643.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f59d5fc7fd7f541c5534866979642ade4ee2b01
--- /dev/null
+++ b/project/showcase_site/migrations/0002_auto_20180512_1643.py
@@ -0,0 +1,24 @@
+# Generated by Django 2.0.5 on 2018-05-12 14:43
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('showcase_site', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='article',
+            name='published',
+            field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='publié le'),
+        ),
+        migrations.AlterField(
+            model_name='partner',
+            name='start_date',
+            field=models.DateField(blank=True, help_text='Laisser vide si inconnu. (Cette information est stockée pour historique uniquement.)', null=True, verbose_name='début du partenariat'),
+        ),
+    ]
diff --git a/project/showcase_site/models.py b/project/showcase_site/models.py
index 1db8bdd5c09b38d721081c3ed41d0a39a1739bf1..27827640b8bcd97ed35fc013507d152384a9a3dc 100644
--- a/project/showcase_site/models.py
+++ b/project/showcase_site/models.py
@@ -1,11 +1,9 @@
 """Showcase site models."""
 
-from datetime import timedelta
 from django.db import models
 from django.shortcuts import reverse
 from django.utils.text import slugify
 from django.utils.timezone import now
-from dry_rest_permissions.generics import authenticated_users
 
 from markdownx.models import MarkdownxField
 
@@ -32,24 +30,7 @@ class Category(models.Model):
 
 
 class Article(models.Model):
-    """Represents a piece of news.
-
-    Fields
-    ------
-    title : str
-        Title of the news.
-    slug : str
-        A brief label identifying the article.
-        It is generated from the title on creation.
-        However, it is not used for the article's API URL.
-    content : str
-        Full content of the news.
-    published : date
-        Date the article was published. Today's date by default.
-    image : Image
-        An image to illustrate the article.
-    pinned : bool
-    """
+    """Represents a piece of news."""
 
     title = models.CharField('titre', max_length=300,
                              help_text="Titre de l'article")
@@ -68,7 +49,7 @@ class Article(models.Model):
     content = MarkdownxField(
         'contenu',
         help_text="Contenu complet de l'article (Markdown est supporté).")
-    published = models.DateTimeField('publié le', auto_now_add=True)
+    published = models.DateTimeField('publié le', default=now)
     modified = models.DateTimeField(
         'modifié le', auto_now=True)
     image = models.ImageField('illustration', blank=True, null=True,
@@ -112,12 +93,6 @@ class Article(models.Model):
         """Return the article's absolute url."""
         return reverse('api:article-detail', args=[str(self.slug)])
 
-    @property
-    def was_modified(self):
-        """Return whether the article has been modified at least once."""
-        return self.modified - self.published > timedelta(seconds=1)
-    was_modified.fget.short_description = 'Modifié'
-
     # Permissions
 
     @staticmethod
@@ -265,7 +240,7 @@ class Partner(models.Model):
         )
     )
     start_date = models.DateField(
-        'début du partenariat', default=now, blank=True, null=True,
+        'début du partenariat', blank=True, null=True,
         help_text=(
             "Laisser vide si inconnu. "
             "(Cette information est stockée pour historique uniquement.)"
diff --git a/project/showcase_site/serializers.py b/project/showcase_site/serializers.py
index dbf2e6f4fbd4d72ab60d110cc9fc93cfd0e60d91..7bfd0ffe38cb9eb0591ef44844c68c8cc8f81a2c 100644
--- a/project/showcase_site/serializers.py
+++ b/project/showcase_site/serializers.py
@@ -48,11 +48,6 @@ class ArticleSerializer(serializers.HyperlinkedModelSerializer):
 
     content = MarkdownField()
     categories = CategoryField(many=True, required=False)
-    modified = serializers.SerializerMethodField()
-
-    def get_modified(self, obj: Article):
-        """Only expose modified if article has already been modified."""
-        return obj.was_modified and obj.modified or None
 
     class Meta:  # noqa
         model = Article
diff --git a/project/tests/test_showcase_site/test_article.py b/project/tests/test_showcase_site/test_article.py
index 7be08db1ef8592635ec004fe6e6fa0db7bd0fabc..d77151fd8622a265c31105716d3cf9f6a5d8a595 100644
--- a/project/tests/test_showcase_site/test_article.py
+++ b/project/tests/test_showcase_site/test_article.py
@@ -84,12 +84,6 @@ class ArticleTest(ModelTestCase):
         ArticleFactory.create(title='first article')
         ArticleFactory.create(title='second article')
 
-    def test_was_modified(self):
-        self.assertFalse(self.obj.was_modified)
-        sleep(1)
-        self.obj.save()
-        self.assertTrue(self.obj.was_modified)
-
 
 class CleanCategoriesTest(TestCase):
     """Test the clean_categories pre_delete signal on Article."""
diff --git a/project/tests/test_showcase_site/test_article_api.py b/project/tests/test_showcase_site/test_article_api.py
index ffcef749fdaeff88001a1f14cda27b9fbad7e008..0f459638ff54496f3065c1d419ff1fa33f20fd4d 100644
--- a/project/tests/test_showcase_site/test_article_api.py
+++ b/project/tests/test_showcase_site/test_article_api.py
@@ -66,11 +66,3 @@ class TestArticleSerializer(SerializerTestCaseMixin, TestCase):
         expected = set(self.serializer.data['categories'])
         actual = set(c.title for c in self.obj.categories.all())
         self.assertEqual(actual, expected)
-
-    def test_modified_only_contained_if_was_modified(self):
-        obj = self.get_object()
-        self.assertIsNone(self.serializer.data['modified'])
-        sleep(1)
-        obj.save()
-        serializer = self.get_serializer(obj)
-        self.assertIsNotNone(serializer.data['modified'])
diff --git a/project/tests/test_showcase_site/test_partner.py b/project/tests/test_showcase_site/test_partner.py
index 1f0cea191efb17b307efb4354c7d80bb4a81b606..1064401ee62100885e04bf406addca7e27542a14 100644
--- a/project/tests/test_showcase_site/test_partner.py
+++ b/project/tests/test_showcase_site/test_partner.py
@@ -1,7 +1,5 @@
 """Partner model tests."""
 
-from django.utils.timezone import now
-
 from showcase_site.factory import PartnerFactory
 from showcase_site.models import Partner
 from tests.utils import ModelTestCase
@@ -33,7 +31,6 @@ class PartnerTest(ModelTestCase):
         },
         'start_date': {
             'verbose_name': 'début du partenariat',
-            'default': now,
         }
     }
     model_tests = {