prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Derniers sujets sur la Home : la date sur mobile n'est pas optimisée 
  Sur mobile on à en général pas beaucoup de place. Et il faudrait éviter d'afficher la date literralle pour optimiser la place. Cf screen (paysage).
  
  ![13 mai 2015 181424 gmt 0200](https://cloud.githubusercontent.com/assets/6066015/7615213/59898462-f99c-11e4-866d-a136e7446c5b.jpg)
  
  
  </issue>
  <code>
  [start of zds/featured/forms.py]
  1 # coding: utf-8
  2 from crispy_forms.bootstrap import StrictButton
  3 from crispy_forms.helper import FormHelper
  4 from crispy_forms.layout import Layout, Field, ButtonHolder
  5 from django import forms
  6 from django.core.urlresolvers import reverse
  7 from django.utils.translation import ugettext_lazy as _
  8 
  9 from zds.featured.models import FeaturedResource, FeaturedMessage
  10 
  11 
  12 class FeaturedResourceForm(forms.ModelForm):
  13     class Meta:
  14         model = FeaturedResource
  15 
  16         fields = ['title', 'type', 'authors', 'image_url', 'url']
  17 
  18     title = forms.CharField(
  19         label=_(u'Titre'),
  20         max_length=FeaturedResource._meta.get_field('title').max_length,
  21         widget=forms.TextInput(
  22             attrs={
  23                 'required': 'required',
  24             }
  25         )
  26     )
  27 
  28     type = forms.CharField(
  29         label=_(u'Type'),
  30         max_length=FeaturedResource._meta.get_field('type').max_length,
  31         widget=forms.TextInput(
  32             attrs={
  33                 'placeholder': _(u'ex: Un projet, un article, un tutoriel...'),
  34                 'required': 'required',
  35             }
  36         )
  37     )
  38 
  39     authors = forms.CharField(
  40         label=_('Auteurs'),
  41         widget=forms.TextInput(
  42             attrs={
  43                 'placeholder': _(u'Les auteurs doivent être séparés par une virgule.'),
  44                 'required': 'required',
  45                 'data-autocomplete': '{ "type": "multiple" }'
  46             }
  47         )
  48     )
  49 
  50     image_url = forms.CharField(
  51         label='Image URL',
  52         max_length=FeaturedResource._meta.get_field('image_url').max_length,
  53         widget=forms.TextInput(
  54             attrs={
  55                 'placeholder': _(u'Lien vers l\'url de l\'image de la une.')
  56             }
  57         )
  58     )
  59 
  60     url = forms.CharField(
  61         label='URL',
  62         max_length=FeaturedResource._meta.get_field('url').max_length,
  63         widget=forms.TextInput(
  64             attrs={
  65                 'placeholder': _(u'Lien vers l\'url de la ressource.')
  66             }
  67         )
  68     )
  69 
  70     def __init__(self, *args, **kwargs):
  71         super(FeaturedResourceForm, self).__init__(*args, **kwargs)
  72         self.helper = FormHelper()
  73         self.helper.form_class = 'content-wrapper'
  74         self.helper.form_method = 'post'
  75         self.helper.form_action = reverse('featured-resource-create')
  76 
  77         self.helper.layout = Layout(
  78             Field('title'),
  79             Field('type'),
  80             Field('authors'),
  81             Field('image_url'),
  82             Field('url'),
  83             ButtonHolder(
  84                 StrictButton(_(u'Enregistrer'), type='submit'),
  85             ),
  86         )
  87 
  88 
  89 class FeaturedMessageForm(forms.ModelForm):
  90     class Meta:
  91         model = FeaturedMessage
  92 
  93         fields = ['message', 'url']
  94 
  95     message = forms.CharField(
  96         label=_(u'Message'),
  97         max_length=FeaturedMessage._meta.get_field('message').max_length,
  98         widget=forms.TextInput(
  99             attrs={
  100                 'required': 'required',
  101             }
  102         )
  103     )
  104 
  105     url = forms.CharField(
  106         label=_(u'URL'),
  107         max_length=FeaturedMessage._meta.get_field('url').max_length,
  108         widget=forms.TextInput(
  109             attrs={
  110                 'placeholder': _(u'Lien vers l\'url du message.'),
  111                 'required': 'required',
  112             }
  113         )
  114     )
  115 
  116     def __init__(self, *args, **kwargs):
  117         super(FeaturedMessageForm, self).__init__(*args, **kwargs)
  118         self.helper = FormHelper()
  119         self.helper.form_class = 'content-wrapper'
  120         self.helper.form_method = 'post'
  121         self.helper.form_action = reverse('featured-message-create')
  122 
  123         self.helper.layout = Layout(
  124             Field('message'),
  125             Field('url'),
  126             ButtonHolder(
  127                 StrictButton(_(u'Enregistrer'), type='submit'),
  128             ),
  129         )
  130
  [end of zds/featured/forms.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/zds/featured/forms.py b/zds/featured/forms.py
  --- a/zds/featured/forms.py
  +++ b/zds/featured/forms.py
  @@ -52,7 +52,7 @@
           max_length=FeaturedResource._meta.get_field('image_url').max_length,
           widget=forms.TextInput(
               attrs={
  -                'placeholder': _(u'Lien vers l\'url de l\'image de la une.')
  +                'placeholder': _(u'Lien vers l\'url de l\'image de la une (dimensions: 228x228).')
               }
           )
       )
  
verification_info: {"golden_diff": "diff --git a/zds/featured/forms.py b/zds/featured/forms.py\n--- a/zds/featured/forms.py\n+++ b/zds/featured/forms.py\n@@ -52,7 +52,7 @@\n         max_length=FeaturedResource._meta.get_field('image_url').max_length,\n         widget=forms.TextInput(\n             attrs={\n-                'placeholder': _(u'Lien vers l\\'url de l\\'image de la une.')\n+                'placeholder': _(u'Lien vers l\\'url de l\\'image de la une (dimensions: 228x228).')\n             }\n         )\n     )\n", "issue": "Derniers sujets sur la Home : la date sur mobile n'est pas optimis\u00e9e \nSur mobile on \u00e0 en g\u00e9n\u00e9ral pas beaucoup de place. Et il faudrait \u00e9viter d'afficher la date literralle pour optimiser la place. Cf screen (paysage).\n\n![13 mai 2015 181424 gmt 0200](https://cloud.githubusercontent.com/assets/6066015/7615213/59898462-f99c-11e4-866d-a136e7446c5b.jpg)\n\n", "before_files": [{"content": "# coding: utf-8\nfrom crispy_forms.bootstrap import StrictButton\nfrom crispy_forms.helper import FormHelper\nfrom crispy_forms.layout import Layout, Field, ButtonHolder\nfrom django import forms\nfrom django.core.urlresolvers import reverse\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom zds.featured.models import FeaturedResource, FeaturedMessage\n\n\nclass FeaturedResourceForm(forms.ModelForm):\n    class Meta:\n        model = FeaturedResource\n\n        fields = ['title', 'type', 'authors', 'image_url', 'url']\n\n    title = forms.CharField(\n        label=_(u'Titre'),\n        max_length=FeaturedResource._meta.get_field('title').max_length,\n        widget=forms.TextInput(\n            attrs={\n                'required': 'required',\n            }\n        )\n    )\n\n    type = forms.CharField(\n        label=_(u'Type'),\n        max_length=FeaturedResource._meta.get_field('type').max_length,\n        widget=forms.TextInput(\n            attrs={\n                'placeholder': _(u'ex: Un projet, un article, un tutoriel...'),\n                'required': 'required',\n            }\n        )\n    )\n\n    authors = forms.CharField(\n        label=_('Auteurs'),\n        widget=forms.TextInput(\n            attrs={\n                'placeholder': _(u'Les auteurs doivent \u00eatre s\u00e9par\u00e9s par une virgule.'),\n                'required': 'required',\n                'data-autocomplete': '{ \"type\": \"multiple\" }'\n            }\n        )\n    )\n\n    image_url = forms.CharField(\n        label='Image URL',\n        max_length=FeaturedResource._meta.get_field('image_url').max_length,\n        widget=forms.TextInput(\n            attrs={\n                'placeholder': _(u'Lien vers l\\'url de l\\'image de la une.')\n            }\n        )\n    )\n\n    url = forms.CharField(\n        label='URL',\n        max_length=FeaturedResource._meta.get_field('url').max_length,\n        widget=forms.TextInput(\n            attrs={\n                'placeholder': _(u'Lien vers l\\'url de la ressource.')\n            }\n        )\n    )\n\n    def __init__(self, *args, **kwargs):\n        super(FeaturedResourceForm, self).__init__(*args, **kwargs)\n        self.helper = FormHelper()\n        self.helper.form_class = 'content-wrapper'\n        self.helper.form_method = 'post'\n        self.helper.form_action = reverse('featured-resource-create')\n\n        self.helper.layout = Layout(\n            Field('title'),\n            Field('type'),\n            Field('authors'),\n            Field('image_url'),\n            Field('url'),\n            ButtonHolder(\n                StrictButton(_(u'Enregistrer'), type='submit'),\n            ),\n        )\n\n\nclass FeaturedMessageForm(forms.ModelForm):\n    class Meta:\n        model = FeaturedMessage\n\n        fields = ['message', 'url']\n\n    message = forms.CharField(\n        label=_(u'Message'),\n        max_length=FeaturedMessage._meta.get_field('message').max_length,\n        widget=forms.TextInput(\n            attrs={\n                'required': 'required',\n            }\n        )\n    )\n\n    url = forms.CharField(\n        label=_(u'URL'),\n        max_length=FeaturedMessage._meta.get_field('url').max_length,\n        widget=forms.TextInput(\n            attrs={\n                'placeholder': _(u'Lien vers l\\'url du message.'),\n                'required': 'required',\n            }\n        )\n    )\n\n    def __init__(self, *args, **kwargs):\n        super(FeaturedMessageForm, self).__init__(*args, **kwargs)\n        self.helper = FormHelper()\n        self.helper.form_class = 'content-wrapper'\n        self.helper.form_method = 'post'\n        self.helper.form_action = reverse('featured-message-create')\n\n        self.helper.layout = Layout(\n            Field('message'),\n            Field('url'),\n            ButtonHolder(\n                StrictButton(_(u'Enregistrer'), type='submit'),\n            ),\n        )\n", "path": "zds/featured/forms.py"}]}