diff --git a/CHANGELOG.md b/CHANGELOG.md
index a8cfe92cab3bdbd316b4f70380c8c20175ea11fd..0ff3c1da0e63b31cdc6efc0bc2c6890708173d0b 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@ title: "Changements intervenus sur OSE"
 author: Laurent Lécluse - DSI - Unicaen
 ---
 
-# OSE 8.1.1 (à venir)
+# OSE 8.1.1
 
 ## Corrections de bugs
 
@@ -14,6 +14,7 @@ author: Laurent Lécluse - DSI - Unicaen
 ## Nouveautés
 
 * Possibilité de récupérer des attributs multivalués pour faire la correspondance d'identifiant entre le LDAP et le code utilisateur indiqué dans la fiche Intervenant
+* Possibilité de modifier les données liées aux charges d'enseignement sur des éléments pédagogiques qui ne sont plus synchronisés avec Apogée.
 
 ## Notes de mise à jour
 
diff --git a/module/Application/src/Application/Assertion/OffreDeFormationAssertion.php b/module/Application/src/Application/Assertion/OffreDeFormationAssertion.php
index 0cfcc6d3fbf096f1966e1759a68a0160e40469b1..5c1e0d9aa428ea9baf847ded7592b100fad07140 100755
--- a/module/Application/src/Application/Assertion/OffreDeFormationAssertion.php
+++ b/module/Application/src/Application/Assertion/OffreDeFormationAssertion.php
@@ -2,6 +2,7 @@
 
 namespace Application\Assertion;
 
+use Application\Entity\Db\Annee;
 use Application\Entity\Db\TypeIntervention;
 use Application\Entity\Db\VolumeHoraireEns;
 use Application\Provider\Privilege\Privileges;
@@ -9,6 +10,7 @@ use Application\Entity\Db\CentreCoutEp;
 use Application\Entity\Db\ElementModulateur;
 use Application\Entity\Db\ElementPedagogique;
 use Application\Entity\Db\Etape;
+use Application\Service\Traits\ContextServiceAwareTrait;
 use UnicaenImport\Entity\Db\Source;
 use Application\Entity\Db\Structure;
 use UnicaenAuth\Assertion\AbstractAssertion;
@@ -23,6 +25,8 @@ use Zend\Permissions\Acl\Resource\ResourceInterface;
  */
 class OffreDeFormationAssertion extends AbstractAssertion
 {
+    use ContextServiceAwareTrait;
+
     protected function assertEntity(ResourceInterface $entity = null, $privilege = null)
     {
         $role = $this->getRole();
@@ -108,7 +112,7 @@ class OffreDeFormationAssertion extends AbstractAssertion
     {
         return $this->asserts([
             $this->assertStructureSaisie($role, $elementPedagogique->getStructure()),
-            $this->assertSourceSaisie($elementPedagogique->getSource()),
+            $this->assertSourceSaisie($elementPedagogique->getSource(), $elementPedagogique->getAnnee()),
         ]);
     }
 
@@ -117,7 +121,7 @@ class OffreDeFormationAssertion extends AbstractAssertion
     protected function assertEtapeSaisie(Role $role, Etape $etape)
     {
         return $this->assertStructureSaisie($role, $etape->getStructure())
-            && $this->assertSourceSaisie($etape->getSource());
+            && $this->assertSourceSaisie($etape->getSource(), $etape->getAnnee());
     }
 
 
@@ -182,7 +186,7 @@ class OffreDeFormationAssertion extends AbstractAssertion
     {
         return $this->asserts([
             $this->assertStructureSaisie($role, $elementPedagogique->getStructure()),
-            $this->assertSourceSaisie($elementPedagogique->getSource()),
+            $this->assertSourceSaisie($elementPedagogique->getSource(), $elementPedagogique->getAnnee()),
         ]);
     }
 
@@ -198,7 +202,7 @@ class OffreDeFormationAssertion extends AbstractAssertion
     protected function assertVolumeHoraireEnsSaisieVH(Role $role, VolumeHoraireEns $volumeHoraireEns)
     {
         return $this->asserts([
-            $volumeHoraireEns->getSource() ? $this->assertSourceSaisie($volumeHoraireEns->getSource()) : true,
+            $volumeHoraireEns->getSource() ? $this->assertSourceSaisie($volumeHoraireEns->getSource(), $volumeHoraireEns->getElementPedagogique()->getAnnee()) : true,
             $volumeHoraireEns->getElementPedagogique() ? $this->assertElementPedagogiqueSaisieVH($role, $volumeHoraireEns->getElementPedagogique()) : true,
             $volumeHoraireEns->getTypeIntervention() ? $this->assertTypeInterventionSaisieVH($role, $volumeHoraireEns->getTypeIntervention()) : true,
         ]);
@@ -241,8 +245,12 @@ class OffreDeFormationAssertion extends AbstractAssertion
 
 
 
-    protected function assertSourceSaisie(Source $source)
+    protected function assertSourceSaisie(Source $source, Annee $annee)
     {
+        if ($annee->getId() < $this->getServiceContext()->getAnneeImport()->getId()){
+            return true;
+        };
+
         return !$source->getImportable();
     }
 }
\ No newline at end of file
diff --git a/module/Application/src/Application/Service/ContextService.php b/module/Application/src/Application/Service/ContextService.php
index fc85fd73d91744fcf967d63d564f5bc19c41e25d..7605447081dac70a3b47ed24e116d5a7af190f83 100755
--- a/module/Application/src/Application/Service/ContextService.php
+++ b/module/Application/src/Application/Service/ContextService.php
@@ -48,6 +48,11 @@ class ContextService extends AbstractService
      */
     protected $annee;
 
+    /**
+     * @var Annee
+     */
+    protected $anneeImport;
+
     /**
      * @var \Application\Entity\Db\Intervenant
      */
@@ -268,6 +273,30 @@ class ContextService extends AbstractService
 
 
 
+    /**
+     * Retourne l'année courante d'import.
+     * C'est à dire :
+     * - celle mémorisée en session (car sélectionnée par l'utilisateur) si elle existe ;
+     * - ou sinon celle spécifiée dans les paramètres de l'appli.
+     *
+     * @return Annee
+     */
+    public function getAnneeImport()
+    {
+        if (!$this->anneeImport) {
+            $sc = $this->getSessionContainer();
+            if (!$sc->offsetExists('anneeImport')) {
+                $sc->anneeImport = (int)$this->getServiceParametres()->get('annee_import');
+            }
+
+            $this->anneeImport = $this->getServiceAnnee()->get($sc->anneeImport);
+        }
+
+        return $this->anneeImport;
+    }
+
+
+
     /**
      * Retourne l'année N - x, N étant l'année courante.
      *
diff --git a/module/Application/src/Application/Service/VolumeHoraireEnsService.php b/module/Application/src/Application/Service/VolumeHoraireEnsService.php
index 89147e41a9ef2631b54ff63bb3798127bb758cbc..54c4f2b58bb6f02c5a4d4f75f2ceab09bb98ad71 100755
--- a/module/Application/src/Application/Service/VolumeHoraireEnsService.php
+++ b/module/Application/src/Application/Service/VolumeHoraireEnsService.php
@@ -96,6 +96,7 @@ class VolumeHoraireEnsService extends AbstractEntityService
             if ($toDelete) {
                 $this->delete($volumeHoraireEns);
             } else {
+                $volumeHoraireEns->setSource($this->getServiceSource()->getOse());
                 $this->save($volumeHoraireEns);
             }
         }