+ /**
+ * The about page
+ *
+ * Display the about informations
+ *
+ * @param Request $request The request instance
+ * @return Response The rendered view or redirection
+ */
+ public function about(Request $request): Response {
+ //Set page
+ $this->context['title'] = $this->translator->trans('About');
+
+ //Set description
+ $this->context['description'] = $this->translator->trans('Welcome to raphaël\'s developer diary about page');
+
+ //Set keywords
+ $this->context['keywords'] = $this->translator->trans('about');
+
+ //Create response
+ $response = new Response();
+
+ //Set etag
+ //XXX: only for public to force revalidation by last modified
+ $response->setEtag(md5(serialize($this->context)));
+
+ //Set last modified
+ $response->setLastModified((new \DateTime)->setTimestamp(getlastmod()));
+
+ //Set as public
+ $response->setPublic();
+
+ //Without role and modification
+ if ($response->isNotModified($request)) {
+ //Return 304 response
+ return $response;
+ }
+
+ //Render template
+ return $this->render('@RapsysBlog/about.html.twig', $this->context, $response);
+ }
+